2009-09-03 18 views
8

क्या किसी को पता है कि एचटीएमएल, एक्सएमएल फाइलों में xmlns का सटीक उपयोग क्या है?एक्सएमएल में एक्सएमएलएनएस का सटीक उपयोग क्या है, और एचटीएमएल

संपादित करें: हमें इस नामस्थान की आवश्यकता क्यों है? इसका उपयोग क्या है?

+0

भी http://stackoverflow.com/questions/5875021/what-is-the-use-of-xsischemalocation/28098405#28098405 – rogerdpack

उत्तर

6

xmlns विशेषता XML Namespace घोषित करती है। Namespaces in XML मानक इस तत्व को गहराई से चर्चा करता है।

नामस्थान का उपयोग मुख्य रूप से XML भाषाओं को मिश्रित करते समय तत्वों के नामों के बीच संघर्ष से बचने के लिए किया जाता है। यदि आपके पास कोई विशेष एप्लिकेशन है जिसके बारे में आपके कोई प्रश्न हैं, तो शायद आप एक उदाहरण पोस्ट कर सकते हैं।

1

नामस्थान आपको डुप्लीकेट होने पर अस्पष्टता को कम करने देते हैं। आपके पास <title> टैग हो सकता है जो लेखकों और <title> टैग को संदर्भित करता है जो श्रीमान, श्रीमती इत्यादि जैसे अभिवादन को संदर्भित करता है। अंतर करने के लिए, आप उन्हें अलग-अलग नामस्थानों में असाइन कर सकते हैं।

आप किसी विशेष मानक/प्रतिबंधों के अनुरूप दस्तावेजों को सत्यापित करते समय नेमस्पेस का उपयोग भी कर सकते हैं, जहां नामस्थान "स्कीमा" दस्तावेज़ से संबंधित है, जो इंगित करेगा।

2

एक्सएमएल नेमस्पेस अन्य चीजों के साथ तत्वों को एक विशेषताओं को संदर्भित करने में मदद करते हैं। यह किसी विशेष तत्व या विशेषता के लिए एक सटीक पहचान भी प्रदान करता है।

उदाहरण के लिए, <html> तत्व किसी के द्वारा परिभाषित किया जा सकता है और इसका कोई अर्थ हो सकता है। हालांकि, तत्व http://www.w3.org/1999/xhtml नामस्थान अद्वितीय है और एक्सएचटीएमएल को संदर्भित करता है।

homographs से निपटने पर नामस्थान भी उपयोगी साबित होते हैं, जब एक फ़ाइल में एकाधिक एक्सएमएल भाषाओं का उपयोग करते हैं।

7

xmlns विशेषता में विशेष हैंडलिंग है, जो नामस्थान की घोषणा की अनुमति देता है।

किसी दस्तावेज़ में टैग नाम जैसे सभी नाम किसी नामस्थान से संबंधित हैं। xmlns विशेषता की अनुपस्थिति में सभी नाम "नाम नहीं" नामस्थान से संबंधित हैं। इसलिए: -

<root><item /></root> 

ऊपर के उदाहरण दोनों root और item में "कोई नाम" नाम स्थान में नाम हैं। जबकि: -

<root xmlns="urn:mydomain.com:mystuff"><item /></root> 

अब root और item में मौजूद ": mydomain.com: कलश MyStuff" नाम स्थान।

xmlns आगे एक उपनाम उपसर्ग का उपयोग करके अतिरिक्त नामस्थान तत्व है जो की दूसरों से प्रतिष्ठित किया जा सकता परिभाषित कर सकते हैं: -: mydomain.com

<root xmlns="urn:mydomain.com:mystuff" xmlns:a="urn:otherdomain.com:other"> 
    <item> 
     <a:supplement /> 
    </item> 
</root> 

इस मामले root में और item "कलश में होना जारी : mystuff "नेमस्पेस लेकिन a:supplement इंगित करता है कि नाम supplement" urn: otherdomain.com: अन्य "नामस्थान में है।

यह क्या परेशान करता है?

XML में एक्स एक्सटेन्सिबल के लिए खड़ा है। एक लक्ष्य अतिरिक्त जानकारी को किसी मौजूदा दस्तावेज़ पर ले जाने की अनुमति देना है, यानी, दस्तावेज़ को विस्तारित करने की क्षमता। पर विचार करें: -:

<root> 
    <item /> 
<root> 

पार्टी बी में अतिरिक्त जानकारी शामिल करके दस्तावेज़ लागू होता है: - -

<root> 
    <item /> 
    <supplement /> 
</root> 

बाद में पार्टी एक के उनके मूल रूप के लिए नए जानकारी कहते हैं

पार्टी एक दस्तावेज़ बनाने दस्तावेज और बस उनके मूल में supplement नाम का उपयोग करना भी होता है। हम कुछ इस तरह खत्म कर सकते हैं: -

<root> 
    <item /> 
    <supplement /> 
    <supplement /> 
</root> 

कौन सा पूरक तत्व किस पार्टी से संबंधित है? नामस्थान का उपयोग करके दस्तावेज़ इस प्रकार दिखाई देगा: -

<root xmlns="urn:mydomain.com:mystuff" xmlns:a="urn:otherdomain.com:other"> 
    <item /> 
    <supplement /> 
    <a:supplement /> 
</root> 

अब जब यह पार्स और एक्सएमएल क्वेरी करने में अपनी स्पष्ट जो तत्व जिसे के अंतर्गत आता है के लिए आता है। नेमस्पेस टकराव को समाप्त करता है जो अन्यथा सरल नामों का वैश्विक सेट होगा।

+0

देखें क्यों हम एक एनएस के रूप में डोमेन नाम का उपयोग करना चाहिए? धन्यवाद ... – Tarik

+0

जब र्न फॉर्म का उपयोग करना आपके डोमेन नाम का उपयोग करने का सबसे अच्छा अभ्यास है क्योंकि अन्य डोमेन नाम का उपयोग करने की अत्यधिक संभावना नहीं है, तो उनकी अपनी परिभाषाओं में स्वामित्व नहीं है। अन्य मामलों में आप एक यूआरएल का उपयोग कर सकते हैं। – AnthonyWJones

2

एचटीएमएल में, एक्सएमएलएनएस एक्सएचटीएमएल से आगे बढ़ने के लिए सिर्फ एक ताकतवर है। यह कुछ भी नहीं करता है।

संबंधित मुद्दे