XML नामस्थान के लिए हमें URI की आवश्यकता क्यों है?


23

मैं यह पता लगाने की कोशिश कर रहा हूं कि हमें XML नामस्थान के लिए URI की आवश्यकता क्यों है और मुझे उसके लिए कोई उद्देश्य नहीं मिल सकता है। क्या कोई मुझे एक ठोस उदाहरण पर अपना उपयोग दिखाते हुए थोड़ा उज्ज्वल कर सकता है?

संपादित करें:

उदाहरण के लिए ठीक है: मेरे पास w3schools से यह है

<root
xmlns:h="http://www.w3.org/TR/html4/"
 xmlns:f="http://www.w3schools.com/furniture">

 <h:table>
   <h:tr>
     <h:td>Apples</h:td>
     <h:td>Bananas</h:td>
   </h:tr>
 </h:table>

 <f:table>
   <f:name>African Coffee Table</f:name>
   <f:width>80</f:width>
   <f:length>120</f:length>
 </f:table>

 </root>

तो क्या http://www.w3schools.com/furnitureधारण करना चाहिए ?



7
अनिवार्य w3fools टिप्पणी।
यानिस ३ y

तो क्या XML नामस्थानों को URI प्रारूप में होना चाहिए? या मैं सिर्फ 'My.Namespace.Foo' जैसे किसी स्ट्रिंग का उपयोग कर सकता हूं?
मास

जवाबों:


20

एक नामस्थान यह कहने का एक तरीका है कि "इस तरह का फू" "उस तरह के फू" से अलग है, भले ही वे समान हैं। या, यदि आप " मेरी तरह का फू" पसंद करते हैं, तो " हर कोई फू के सभी प्रकार से अलग है "।

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

फिर चाल यह कहने के लिए है, "अरे, URL मान्य URI के हैं", और फिर अपने नियंत्रण में URL के अनुरूप URI का उपयोग करें। अगर हर कोई ऐसा करता है, तो आप आकस्मिक नाम स्थान टकराव से बचते हैं। आप नामस्थान "ए" और नाम स्थान "बी" भी कह सकते हैं, लेकिन आप जोखिम उठाते हैं कि कोई और समान नाम स्थान का भी उपयोग करेगा, और फिर आपका फू भी उनके फू से अलग नहीं है, जो वास्तव में आप से बचना चाहते हैं ।

फिर आप URI के रूप में उपयोग किए गए URL में अतिरिक्त कन्वेंशन जोड़ सकते हैं, उदाहरण के लिए, URL को किसी ऐसे पृष्ठ से मेल खाना चाहिए जिसमें प्रलेखन या XSD या समान हो, लेकिन यह आवश्यक नहीं है। यह सिर्फ सुविधाजनक है।


ठीक है, लेकिन नाम स्थान A और नामस्थान w3.org/1999/xhtml में क्या अंतर है ? उन दोनों को उपयोगकर्ताओं द्वारा उनके बिना उपयोग किया जा सकता है यह जानते हुए कि उन्होंने समान नामस्थान का उपयोग किया है।
पैट्रिक

1
@Patryk, यही कारण है कि आप एक URL का उपयोग करते हैं जिस पर आपका नियंत्रण है। XHTML नाम स्थान URL W3C के नियंत्रण में है जिसने XHTML विनिर्देशन को परिभाषित किया है।

2
@Patryk, यह भी ध्यान दें कि यह URL को चुनने वाले नाम स्थान को परिभाषित करने वाला है। फिर बाकी सब लोग उनका उपयोग कर सकते हैं।

1
तो नाम स्थान aपूरी तरह से मान्य होगा? मूर्ख, लेकिन मान्य? या उसे URI होना जरूरी है?
रूडी

5
क्या यह भयानक नहीं होता अगर कुछ साल पहले उस सम्मेलन का उपयोग करने वाले कुछ लोगों ने उन URL पर अपने स्कीमाओं के अच्छे संक्षिप्त दस्तावेज़ रखे थे ताकि बात बने? Microsoft का OpenXML नामस्थान स्कीमा .openxmlformats.org/drawingml/2006/chart कुछ भी नहीं बताता है।
प्रोटोटाइप

16

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

अरे देखो! यदि आपके पास एक डोमेन है, तो यह स्पष्ट रूप से केवल आपका है, और यह साबित करना आसान है कि यह आपका है!

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

इसके बजाय, यदि आपको अपने डोमेन का उपयोग करने के लिए प्रोत्साहित किया जाता है, तो कोई भी (अच्छी तरह से, जो कोई भी डोमेन का मालिक है) अपने स्वयं के निजी नामस्थान को इस विश्वास के साथ परिभाषित कर सकता है कि कोई भी अन्य समान पहचानकर्ता का उपयोग नहीं करेगा।

एक बोनस के रूप में, आप वैकल्पिक रूप से URI में अपने नामस्थान की परिभाषा को संग्रहीत कर सकते हैं, जिससे यह स्व-दस्तावेजीकरण हो जाता है।

मेरे लिए एक महान विचार की तरह लगता है।


उत्तर के लिए धन्यवाद, लेकिन मुझे इसे समझने के लिए कुछ और ठोस की आवश्यकता होगी। मैंने कुछ अनुकरणीय कोड जोड़े जिन्हें आप आधार बना सकते हैं, कृपया देख लें।
पैट्रिक

1
@patryk - कुछ भी नहीं, यह एक पता नहीं है - यह सिर्फ एक अद्वितीय टोकन है जो आपको यकीन है कि कोई और नहीं है जिसके साथ आप xml फ़ाइलों को मिला सकते हैं। सभी यह कह रहे हैं कि नामों <तालिका> आदि का उपयोग किसी भी xml फ़ाइलों में किसी भी अलग अर्थ को नहीं किया जाएगा, जिसमें शीर्ष पर www.w3.org नाम है
मार्टिन बेकेट

ठीक है, लेकिन जब विकिपीडिया कुछ कहता है कि उपयोगकर्ता उदाहरण के लिए w3.org/1999/xhtml नाम के रूप में उपयोग कर सकते हैं तो बहुत से लोगों के नाम एक ही नाम स्थान होंगे। क्या मैं सही हू ?
पैट्रिक

@Patryk, यदि आप इसे उसी उपयोग के लिए उपयोग करना चाहते हैं। यदि आप एक नए नामस्थान को परिभाषित करना चाहते हैं, तो आपको
जेवियर

@ जेवियर 'एक ही प्रयोग' से आपका क्या तात्पर्य है?
पेट्रीक

1

DOM लेवल 2 को 2000 के अंत में प्रकाशित किया गया था। इसने "getElementById" फ़ंक्शन के साथ-साथ XML नामस्थान और CSS के लिए एक इवेंट मॉडल और समर्थन पेश किया।

क्या xmlIns निर्दिष्ट करता है?
जैसा कि "xmlns" या "xmlns: xxx" नाम की विशेषता नोड्स हैं, ठीक उसी तरह जैसे नामस्थान स्रोत XML दस्तावेज़ में लिखे गए हैं। यह DOM द्वारा प्रस्तुत मॉडल है।

क्या URI शामिल हैं?
एक XML नाम स्थान आरक्षित XML छद्म-विशेषता xmlns या xmlns: उपसर्ग का उपयोग करते हुए घोषित किया जाता है, जिसका मान मान्य नाम स्थान नाम होना चाहिए।

उदाहरण के लिए, निम्नलिखित घोषणा "एक्सएचटीएमएल:" को एक्सएचटीएमएल नामस्थान के लिए उपसर्गों का नक्शा देती है:

xmlns: xhtml = "http://www.w3.org/1999/xhtml"

जैसा कि मैंने विकिपीडिया पर लेख पढ़ने के बाद खोजा है । URI में XML नाम के विशिष्ट स्वरूपित तत्व होते हैं जो तत्व नाम के टकराव से बचने के लिए एक विधि प्रदान करते हैं।

हो सकता है कि आपको पता हो कि XML दस्तावेज़ XML Schemaके तत्वों के तत्व / तालिका / वर्ग संरचना के लिए xml दस्तावेज़ का उपयोग होता है।

http://www.w3schools.com/ffind को क्या रखना चाहिए ?

जवाब आपके पृष्ठ पर है जहाँ आपने XML नाम स्थान के बारे में सीखा है। चेक Namespaces in Real Useइस W3Schools पर अनुभाग लेख

स्टैकओवरफ़्लो के निम्नलिखित लिंक की जाँच करें जो कुछ प्रदर्शित करता है कि यह यूआरआई क्या करता है:

XML नाम स्थान कैसे बनाएं और उसका उपयोग कैसे करें?


-1

URI = नेमस्पेस की विश्व स्तर पर अद्वितीय नाम या पहचानकर्ता

तेल उद्योग के रसद के वित्तीय प्रबंधन पर एक डेटाबेस या दस्तावेज़ बनाने पर विचार करें। डेटाबेस, दस्तावेज़, प्रबंधन, वित्त, रसद, तेल और उद्योग: प्रत्येक विषय के लिए विशिष्ट शब्दसंग्रह (यानी, नियंत्रित शब्द) का उपयोग करने की आवश्यकता होगी।

यदि इन सात स्वरों में से कोई भी शब्द ओवरलैप नहीं हुआ है, तो केवल एक URI की आवश्यकता है। लेकिन प्रत्येक शब्द के लिए जो इन शब्दकोषों में अन्य शब्दों को ओवरलैप करता है, आपको URI या IRI में पहचाने जाने वाले एक अतिरिक्त विषय-विशेष शब्दावली की आवश्यकता होगी। इसका एक तरीका व्यापक सामान्य शब्दों और संकीर्ण विषय-विशेष शब्दों के साथ, एक विलयित वर्गीकरण बनाना है।

इसके बाद इसे एक थिसॉरस में विस्तारित किया जा सकता है जो किसी शब्द के शब्दजाल-समानार्थी शब्द को भी दर्शाता है, और उन शब्दजाल-पर्यायवाची शब्दों के बीच पसंदीदा शब्द के विनिर्देशन को सक्षम करता है।


2
यह पोस्ट पढ़ना मुश्किल है (पाठ की दीवार)। आप आपत्ति तो नहीं है संपादित एक बेहतर आकार में यह ing?
gnat
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.