XML नामस्पेस

XML नाम स्पेस एलीमेंट नाम टकराव को बचाने के लिए एक तरीका प्रदान करता है。

नाम टकराव

XML में, एलीमेंट नाम डेवलपर द्वारा परिभाषित किया जाता है। जब दो अलग दस्तावेज़ एक ही एलीमेंट नाम का उपयोग करते हैं, तो नाम टकराव होता है。

इस XML दस्तावेज़ में किसी तालिका की जानकारी है:

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

इस XML दस्तावेज़ में टेबल (एक फर्नीचर) के बारे में जानकारी है:

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

यदि दोनों XML दस्तावेज़ एक साथ उपयोग किए जाएं, तो नाम टकराव होगा क्योंकि दोनों दस्तावेज़ अलग सामग्री और परिभाषा वाले <table> एलीमेंट को शामिल करते हैं。

उपयोगकर्ता या XML एप्लिकेशन इस तरह के टकराव को कैसे संभालें, यह निर्धारित नहीं कर सकते हैं。

नाम टकराव को समाधान करने के लिए पूर्व-संख्या

नाम पूर्व-संख्या के उपयोग से XML में नाम टकराव को आसानी से बचाया जा सकता है。

इस XML में HTML तालिका और एक फर्नीचर के बारे में जानकारी है:

<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>

अब, नाम टकराव नहीं है, क्योंकि दोनों दस्तावेज़ अलग नामों के साथ अपने <table> एलीमेंट को नामित कर रहे हैं (<h:table> और <f:table>)。

पूर्व-संख्या के उपयोग से हमने दो अलग-अलग प्रकार के <table> एलीमेंट बनाए हैं。

XML नाम स्पेस - xmlns गुण

एक्सएमएल में फ़्रीक्स का उपयोग करते समय،फ़्रीक्स को परिभाषित करना जरूरी हैनेमस्पेस(Namespaces)。

नेमस्पेस एलीमेंट शुरू करने के मार्ग में xmlns एट्रिब्यूट का उपयोग करके परिभाषित की जाती है。

नेमस्पेस घोषणा इस व्याकरण का उपयोग करती है: xmlns:prefix="URI"。

<root>
<h:table xmlns:h="http://www.w3.org/TR/html4/">
  <h:tr>
    <h:td>Apples</h:td>
    <h:td>Bananas</h:td>
  </h:tr>
</h:table>
<f:table xmlns:f="https://www.codew3c.com/furniture">
  <f:name>African Coffee Table</f:name>
  <f:width>80</f:width>
  <f:length>120</f:length>
</f:table>
</root>

उपरोक्त उदाहरण में:

पहले <table> एलीमेंट में xmlns एट्रिब्यूट के लिए h: प्रीफ़िक्स निर्दिष्ट नेमस्पेस प्रदान करता है。

दूसरे <table> एलीमेंट में xmlns एट्रिब्यूट के लिए f: प्रीफ़िक्स निर्दिष्ट नेमस्पेस प्रदान करता है。

यदि एलीमेंट के लिए नेमस्पेस की व्याख्या की गई है, तो सभी समान प्रीफ़िक्स के सभी उप-एलीमेंट समान नेमस्पेस से संबद्ध होते हैं。

नेमस्पेस एक्सएमएल के मूल एलीमेंट में भी घोषित की जा सकती है:

<root xmlns:h="http://www.w3.org/TR/html4/"
xmlns:f="https://www.codew3c.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>

ध्यान दें:पार्सर नेमस्पेस URI को सूचना खोजने के लिए नहीं उपयोग करेगा。

URI का उद्देश्य केवल नेमस्पेस को अद्वितीय नाम प्रदान करना है。

हालांकि, कई कंपनियां अक्सर नेमस्पेस के लिए संकेतक के रूप में नेमस्पेस का उपयोग करती हैं, जो वास्तविक वेब पेज के लिए इंदिका है, जो नेमस्पेस के बारे में सूचना शामिल करता है。

एकीकृत संसाधन पहचानकर्ता (URI)

एकीकृत संसाधन पहचानकर्ता (Uniform Resource Identifier,URI) इंटरनेट संसाधन को पहचानने वाली स्ट्रिंग है。

) अधिक सामान्य यूआरआई हैएकीकृत संसाधन स्थानक (Uniform Resource Locator,URL),यह इंटरनेट डोमेन एड्रेस को पहचानता है。

एक अधिक नहीं आम यूआरआई टाइप हैएकीकृत संसाधन नाम (Uniform Resource Name,URN)。

डिफ़ॉल्ट नेमस्पेस (Default Namespaces)

एलीमेंट के लिए मूलभूत अनुवांश निर्धारित करने से हमें सभी सहायक एलीमेंटों में उपसर्ग का प्रयोग करने से बचना होता है।

नीचे दिए गए वाक्यांश का उपयोग करें:

xmlns="namespaceURI"

यह XML एचटीएमएल तालिका जानकारी प्रस्तुत करता है:

<table xmlns="http://www.w3.org/TR/html4/">
  <tr>
    <td>Apples</td>
    <td>Bananas</td>
  </tr>
</table>

यह XML एक आइसी बास्केट के बारे में जानकारी प्रस्तुत करता है:

<table xmlns="https://www.codew3c.com/furniture">
  <name>African Coffee Table</name>
  <width>80</width>
  <length>120</length>
</table>

अनुवांश के वास्तविक अनुप्रयोग

XSLT एक ऐसा भाषा है जिसका उपयोग XML दस्तावेज़ को अन्य रूपों में बदलने के लिए किया जाता है。

नीचे दिए गए XML दस्तावेज़ XML को एचटीएमएल में बदलने के लिए उपयोग किया जाता है。

यदि आप नीचे दिए गए XSL दस्तावेज़ को ध्यान से देखेंगे, तो देखा जाएगा कि अधिकांश टैग एचटीएमएल टैग हैं。

अन-एचटीएमएल टैग के पहले उपसर्ग xsl है, और इस अनुवांश के द्वारा चिह्नित किया जाता है: "http://www.w3.org/1999/XSL/Transform":

अनुवांश "http://www.w3.org/1999/XSL/Transform" एचटीएमएल दस्तावेज़ में XSLT एलीमेंट को पहचानता है:

<?xml version="1.0" encoding="UTF-8"?>
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:template match="/">
<html>
<body>
  <h2>My CD Collection</h2>
  <table border="1">
    <tr>
      <th style="text-align:left">Title</th>
      <th style="text-align:left">Artist</th>
    </tr>
    <xsl:for-each select="catalog/cd">
    <tr>
      <td><xsl:value-of select="title"/></td>
      <td><xsl:value-of select="artist"/></td>
    </tr>
    </xsl:for-each>
  </table>
</body>
</html>
</xsl:template>
</xsl:stylesheet>

अगर आप XSLT के बारे में अधिक जानना चाहते हैं, तो हमारे XSLT शिक्षा