2009-06-03 6 views
6

एक्सएएमएल के बारे में एक सहयोगी से बात कर रहा था और यह एक प्रेजेंटेशन और ऑब्जेक्ट विवरण भाषा दोनों और आईटी प्रौद्योगिकी के बीच काफी अद्वितीय और उपन्यास दोनों कैसे है।एक्सएएमएल कितना अनूठा है?

क्या यह सच है कि एक्सएएमएल अद्वितीय और उपन्यास है?

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

मुझे पता है कि फ्लेक्स में एमएक्सएमएल समान है लेकिन जहां तक ​​मुझे याद है कि कुछ प्रमुख संरचनात्मक मतभेद हैं, मुझे याद है कि एमएक्सएमएल वास्तव में वस्तुओं का वर्णन नहीं करता है लेकिन शुद्ध प्रस्तुति एक्सएमएल का अधिक है।

+0

एक समुदाय विकी – NinethSense

+0

@NinethSense होना चाहिए: comminity विकी? क्यूं कर? – AnthonyWJones

उत्तर

13

यह एक सामान्य तकनीक का एक मामला है जिसमें इतना आम सामान्य विशिष्ट उपयोग होता है जो विशिष्ट उपयोग के साथ समरूप बन जाता है। उदाहरण के लिए, जावास्क्रिप्ट की चर्चा अक्सर ब्राउज़र संदर्भ और एचटीएमएल डोम के हेरफेर को किसी के बिना स्पष्ट रूप से कहने के बिना मानती है।

कड़ाई से बोलना एक्सएएमएल एक्सएमएल या एसवीजी की तरह एक्सएमएल होने के अलावा नहीं है। एक्सयूएल, एसवीजी में यूजर इंटरफेस या ग्राफिकल तत्वों को घोषित करने के लिए एक परिभाषित वाक्यविन्यास है, कच्चे एक्सएएमएल नहीं है।

एक्सएएमएल, उदाहरण के लिए, वर्कफ़्लो नींव में वर्कफ़्लो का वर्णन करने के लिए भी उपयोग किया जा सकता है।

एक्सएएमएल वास्तव में उन प्रकारों के प्रकारों और गुणों का वर्णन करने के लिए एक्सएमएल पढ़ने का एक दृष्टिकोण है। उदाहरण के लिए, किसी प्रकार की प्रॉपर्टी का वर्णन किसी विशेषता या तत्व का उपयोग करके किया जा सकता है जब तक कि इसका नाम सही तरीके से व्याख्या किया जा सके। एक्सएएमएल में मूल एक्सएमएल सिंटैक्स का विस्तार भी शामिल है, जहां एक विशेषता में एक जटिल तत्व के लिए एक लघु हाथ के रूप में कार्य कर सकते हैं।

मैं इस तरह की चीज से पहले नहीं आया हूं। अन्य सभी एक्सएमएल आधारित प्रौद्योगिकियां एक विशिष्ट उद्देश्य के साथ आती हैं, एक्सएएमएल एक्सएमएल का पहला उपयोग है जिसे मैंने देखा है कि किसी विशिष्ट नामकरण का विचलन है, लेकिन एक्सएमएल को प्रकारों के मानचित्रण का साधन है।

0

एक्सएएमएल के अलावा, आपके पास एक्सयूएल है जिसका उपयोग मोज़िला द्वारा किया जाता है। दूसरी ओर एसवीजी, डब्ल्यू 3 सी द्वारा अनुशंसित एक है।

-3

ठीक है, एक्सएएमएल मूल रूप से .NET के लिए उन्नत मार्कअप है, इसलिए मुझे लगता है कि आप एक्सएएमएल से एक्सएचटीएमएल में कई समानताएं खींच सकते हैं - दोनों प्रेजेंटेशन तकनीकें हैं।

ओएफसी मतभेद की बहुत सी चीज़ें हैं साथ ही (एक्सएचटीएमएल, एक ब्राउज़र से व्याख्या की जा रही ग्राफिक्स का उत्पादन करने, जबकि XAML MSIL में संकलित किया जा रहा है और CLR पर भरोसा करने के लिए ग्राफिक्स :))

+1

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

+0

मुझे सही करने के लिए धन्यवाद .. मुझे नहीं पता था कि मैं यह गलत था: ओ – cwap

0

मोज़िला उनके यूआई बनाया वर्णन भाषा XUL मूल रूप से अपने सभी उत्पादों के यूआई को आसानी से अनुकूलित करने में सक्षम होने के लिए। आजकल यह एक पैकेज है जिसे अन्य अनुप्रयोगों में शामिल किया जा सकता है और इसमें एक विस्तारित कार्यक्षमता भी है।

हालांकि एक्सयूएल मुख्य रूप से यूआई प्रतिनिधित्व पर केंद्रित है, इसमें घटनाओं और लिपियों और डेटा स्रोतों के रूप में अन्य संरचनाएं भी शामिल हैं। फिर भी मुझे पता है कि एक्सएएमएल इन अवधारणाओं को उनके .NET (और संलग्न) ढांचे में बहुत मजबूत बनाता है। लेकिन मुझे यकीन नहीं है कि यह अद्वितीय और उपन्यास कहने के लिए पर्याप्त है या नहीं।

1

**** XAML, XUL, और XHTML ओवरलैप ****

XAML और अन्य मानकों के बीच सबसे बड़ी ओवरलैप HTML/XHTML से तैयार अवधारणाओं के लिए अपने समर्थन में निहित है। एक्सएएमएल और एचटीएमएल के बीच समानताएं कई हैं। एचटीएमएल के साथ ओवरलैप निश्चित रूप से एक्सएएमएल तक ही सीमित नहीं है। अन्य प्रसिद्ध एक्सएमएल जीयूआई बोली-मोज़िला का एक्सयूएल-एक्सएचटीएमएल के साथ भी ओवरलैप करता है। अंत में, एक्सएएमएल और एक्सयूएल दोनों जगहों पर ओवरलैप करते हैं जो एक्सएचटीएमएल में भी शामिल नहीं है। एक्सएचटीएमएल और एक्सयूएल को एक दस्तावेज़ में जोड़ा जा सकता है (कम से कम मोज़िला ब्राउज़र में)। एक्सएएमएल के गैर-वेब उपयोगों के लिए ऐसा संयोजन एक मोटा एनालॉग है। वास्तव में, मोज़िला के एक्सयूएल अकेले एक्सएएमएल के कुछ उपयोगों के लिए एक मोटा एनालॉग है।

लेकिन साथ में लिया गया, वे वास्तव में मूलभूत HTML सामग्री और प्रारूप विजेट्स के समर्थन से अधिक कुछ भी नहीं बनाते हैं जो सामान्य वेब अनुप्रयोगों में पहले से ही नियमित हैं। एक्सयूएल एक्सएचएमएल कम करता है जो एक्सएएमएल करता है क्योंकि एक्सयूएल एक्सएचटीएमएल से खुद को अलग करने का प्रयास करता है। यह एक्सएएमएल के रूप में एक ड्रॉप-इन प्रतिस्थापन होने की कोशिश नहीं कर रहा है।

एचटीएमएल की तुलना में एक्सएएमएल के बारे में मुझे एक चीज पसंद है एचटीएमएल की प्रकाशन-व्युत्पन्न विशेषताओं से बढ़ी स्वतंत्रता है। एक्सएएमएल आपको एच 1 टैग, कोड टैग और एचटीएमएल में अक्सर इस्तेमाल किए जाने वाले अन्य विविध आला टैगों से मुक्त करता है। व्यावहारिक उद्देश्यों के लिए, ये टैग आधुनिक HTML दस्तावेज़ों में शैली की जानकारी से थोड़ा अधिक कार्य करते हैं।

वेब की लोकप्रियता के बावजूद एचटीएमएल अनुप्रयोगों के लिए एक गरीब जीयूआई भी है। XAML और XUL दोनों ही समस्या को सुधारने के लिए एक लंबा सफर तय करते हैं। आप XAML में अपने वेब एप्लिकेशन को फिर से लिख सकते हैं और वे HTML मूल से बेहतर दिखेंगे, अगर केवल XAML के पास बेहतर सीएसएस समर्थन था।

1

ऐप्पल से कोको, या पहले नेक्सटस्टेप के पहले एक्सएएमएल से पहले कुछ ऐसा था।

जीयूआई एक इंटरफ़ेस बिल्डर के साथ बनाया गया है, जो तथाकथित निब (Nextstep Interface Builder) फ़ाइलों को बनाता है, जिसमें लेआउट, बाइंडिंग, क्रियाएं, आउटलेट और क्रमबद्ध ऑब्जेक्ट उदाहरण शामिल हैं। पूर्व में इन nib फ़ाइलों को एक बाइनरी फ़ाइल प्रारूप में संग्रहीत किया गया था, लेकिन आजकल यह भी xml (xib) है।

तो एक्सएएमएल बिल्कुल पहला अद्वितीय नहीं है।

+0

क्या मुझे वहां लौ का संकेत पता है? ;) –

+0

मैं दिन के लिए दिन काम करता हूं .NET और मैं वास्तव में एक्सएएमएल तकनीक की सराहना करता हूं लेकिन मुझे कोको, ऑब्जेक्टिव-सी और ऐप्पल का तरीका पसंद है। – Enyra

+1

बिल्कुल कोई लौ नहीं, एक्सएएमएल एक सीरियलाइज्ड ऑब्जेक्ट ग्राफ़ है, जैसे कि एनआईबी फाइलें। –

1

नमक के अनाज के साथ अन्य प्रस्तुति प्रौद्योगिकियों की तुलना पढ़ें - एक्सएएमएल .NET वस्तुओं का निर्माण और रचना करने का एक तरीका है। यह उन अन्य प्रणालियों के विपरीत है जो उपयोगकर्ता इंटरफेस बनाने के तरीके के रूप में डिजाइन किए गए थे। Xaml के बारे में अच्छी बात यह है कि यह स्वतंत्र है जो इसके लिए उपयोग किया जाता है - यह एक उद्देश्य-अज्ञात घोषणात्मक भाषा है जो एक्सएचटीएमएल की तुलना में सी # की तरह है। इस तरह, यह अद्वितीय है।

0

XAMLXML (सबसे बड़ी पसंद नहीं) की बोली में एक ऑब्जेक्ट ग्राफ़ निर्माण भाषा है। प्रत्येक XAML तत्व एक ऑब्जेक्ट इंस्टेंटेशन है और संबंधित विशेषताएँ प्रयुक्त उदाहरण पर संपत्ति असाइनमेंट हैं। चूंकि XML एक स्ट्रिंग आधारित भाषा है, इसलिए संपत्ति मानों को उनके स्ट्रिंग प्रकार से परिवर्तित करने की आवश्यकता होती है, जो कि संपत्ति की अपेक्षा करता है। यह TypeConverter के वंशजों का उपयोग करके किया जाता है कि XAML प्रोसेसर स्वचालित रूप से ढूंढता है और उपयोग करता है। एक्सएएमएल और डब्ल्यूपीएफ उनके प्रदत्त प्रकारों के अनुरूप टाइपकॉन्टर के डिफ़ॉल्ट सेट के साथ आते हैं और आप अपना खुद का प्रदान कर सकते हैं।

परिभाषा प्रक्रिया का मोटे तौर पर अवलोकन इस प्रकार है:

<classG-in-namespace-A 
    xmlns="namespace-A" 
    xmlns:alias-B="namespace-B" 
    xmlns:alias-C="clr-namespace:namespace-C;assembly=assembly-of-namespace-C" 
    propertyG1="simple text value stipulation" 
    propertyG2="{alias-C:classH-in-namespace-C propertyC1=valueC1,..}" 
    > 
    <classG-in-namespace-A.propertyG2> 
     <alias-B:class-I-in-namespace-B propertyB1=valueB1,...> 
      class-I-in-namespace-B's content property value assignment 
     </alias-B:class-I-in-namespace-B> 
    </classG-in-namespace-A.propertyG2> 
    classG-in-namespace-A's content property value assignment 
</classG-in-namespace-A> 

TypeConverters है कि संपत्ति के कार्य को सुविधाजनक बनाने के परे XAML और WPF द्वारा प्रदान की उपयोगिता प्रकार के होते हैं।विशेष रूप से, निम्नलिखित हैं: ResourceDictionary, ObjectDataProvider, RelativeSource, StaticResource, DynamicResource, ...and more as shown in Microsoft Docs