2010-02-14 18 views
6

ई 4 एक्स (एक्मा -357) ईसीएमएस्क्रिप्ट का विस्तार है जो एक्सएमएल अक्षरों को प्रथम श्रेणी के प्राइमेटिव के रूप में जोड़ता है। यह बहुत ही बढ़िया है, लेकिन केवल मोज़िला और एडोब समर्थन (वी 8 और आईई समर्थन के बिना) के साथ, ई 4 एक्स एक वेब डेवलपर के परिप्रेक्ष्य से लगभग मर चुका है जिसे किसी भी आधुनिक ब्राउज़र के साथ उपयोगकर्ताओं का समर्थन करना है।एक्सएमएल अक्षर?

जावास्क्रिप्ट में एक्सएमएल अक्षरों को लागू करने के आसपास क्या अन्य काम किया जा रहा है? जावास्क्रिप्ट में एक्सएमएल लिटलल्स या ई 4 एक्स के समान कुछ पाने का कोई तरीका है कि कोई भी काम कर रहा है? शायद ढांचे के लिए कुछ प्लगइन्स?

मैं दूसरे दिन (asana.com/Luna) में लुनास्क्रिप्ट में भाग गया, जिसने अपनी जावास्क्रिप्ट जैसी भाषा में एक्सएमएल अक्षरों को लागू किया है। यह बहुत अच्छा है, लेकिन शायद मैं असाना में कभी काम नहीं करूंगा और इसलिए कभी भी लुनास्क्रिप्ट नहीं लिखूंगा।

http://xmljs.sourceforge.net/

XML for <SCRIPT> एक शक्तिशाली, मानकों का अनुपालन करने के लिए जावास्क्रिप्ट XML पार्सर कि मदद करने के लिए वेब अनुप्रयोग डिजाइनरों क्रॉस प्लेटफॉर्म अनुप्रयोगों है कि लाभ लेने को लागू डिज़ाइन किया गया है:

+2

साइड नोट: ई 4 एक्स एक्शनस्क्रिप्ट 3 में लागू किया गया है। – icktoofay

उत्तर

2

जावास्क्रिप्ट में XML के लिए एक ओपन सोर्स प्रोजेक्ट नहीं है एक्सएमएल डेटा के क्लाइंट-साइड मैनिपुलेशन का।

* A standards-compliant W3C DOM Level 2 processor 
* An XPath processor 
* A standards-compliant SAX processor 
* A simple (classic) DOM processor 
* Proxies for XML retrieval from any domain 
* Utilities for XML and application development 

XML for <SCRIPT> फ्री सॉफ्टवेयर और GNU अल्प जनरल पब्लिक लाइसेंस (LGPL), एक खुला स्रोत लाइसेंस की शर्तों के तहत distrubuted है: XML for <SCRIPT> सहित उपकरणों का एक पूर्ण सूट प्रदान करता है।

2

व्यक्तिगत रूप से, मुझे नहीं लगता कि एक्सएमएल अक्षरों में कोई फायदा है। कि अन्यथा बैकस्लैश एक सुपर दर्द कर रहे हैं:

var el= new XML('<foo>bar<baz/></foo>'); 

जावास्क्रिप्ट करने के लिए regex शाब्दिक जोड़ने के लिए एक उचित तर्क हुई:

var el= <foo>bar<baz/></foo>; 

वास्तव में काफ़ी की तुलना में बेहतर नहीं है। (हालांकि व्यक्तिगत रूप से मैं कच्चे तारों को पसंद करता था।) चूंकि बैकस्लैश एक्सएमएल में आम नहीं है, इसलिए मुझे नहीं लगता कि वहां ऐसा कोई औचित्य है।

मूल भाषा वाक्यविन्यास के रूप में एक्सएमएल का पूर्ण (जटिल!) वाक्यविन्यास जोड़ना एक जीत नहीं है। वास्तव में यह अभ्यास में grievous security problems का कारण बन गया है।

मैं चाहता हूं कि ई 4 एक्स चला गया, और अधिक नहीं।

+2

टेम्पलेटिंग के बारे में क्या? यदि आप किसी ऑब्जेक्ट को जावास्क्रिप्ट ऑब्जेक्ट के लिए सभी मार्कअप वापस करने के लिए चाहते हैं तो क्या होगा? आप XML अक्षर का उपयोग करके उस मार्कअप की घोषणा कर सकते हैं और यदि वह मार्कअप केवल दो div टैग की तुलना में अधिक वर्बोज़ है, तो इसे शाब्दिक के रूप में लिखना बहुत आसान होगा। – JamesBrownIsDead

+1

हां, मैं HTML के templating के लिए E4X का उपयोग करने की योजना बना रहा हूं। एक टेम्पलेट भाषा के रूप में, यह काफी शक्तिशाली और सुरुचिपूर्ण है। आप जेएस को एक्सएमएल में एम्बेड कर सकते हैं और उस जेएस में एक्सएमएल को और एम्बेड कर सकते हैं। – dlaliberte

+0

वह लिंक अब और काम नहीं करता है। मुझे लगता है कि "आपके क्लाइंट को इस सर्वर से यूआरएल/पी/डिक्टिप/विकी/ArticleE4XSecurity प्राप्त करने की अनुमति नहीं है।" – CoderDennis

1

जेएस-एक्सएमएल-शाब्दिक कोड पुनर्लेखन के माध्यम से किसी भी जावास्क्रिप्ट इंजन में एक्सएमएल अक्षरों के लिए समर्थन जोड़ता है।

https://github.com/laverdet/js-xml-literal

वाक्य रचना E4X का एक सबसेट है, तथापि एपीआई की नकल करता है डोम और अधिक बारीकी से है। क्लाइंट साइड पर, आप सीधे एक्सएमएल अक्षरों का उपयोग कर ब्राउज़र के डीओएम से बातचीत कर सकते हैं; और सर्वर साइड (नोडजेएस) पर आप स्ट्रिंग पर फ़्लश करने से पहले वर्चुअल डोम पर काम कर सकते हैं।