ఎక్సిఎమ్ఎల్ నేమ్ స్పేస్

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 డాక్యుమెంట్స్ కలిసి ఉపయోగించబడితే, రెండు డాక్యుమెంట్స్ వాటిలో వివిధ కంటెంట్ మరియు డెఫినిషన్స్ కలిగిన టేబుల్ ఎలిమెంట్స్ ఉన్నందున, నామస్పాస్ సంఘర్షణ జరుగుతుంది.

ఈ రకమైన సంఘర్షణలను వినియోగదారులు లేదా XML అప్లికేషన్లు ఎలా ప్రాసెస్ చేయాలని తెలుసుకోలేదు.

ప్రిఫిక్స్ ఉపయోగించడం ద్వారా నామస్పాస్ సంఘర్షణను పరిష్కరించండి

పేరు ప్రిఫిక్స్ ఉపయోగించడం ద్వారా XML లో నామస్పాస్ సంఘర్షణను సులభంగా నివారించవచ్చు.

ఈ XML లో హ్ట్ముల్ టేబుల్ మరియు ఒక అంతస్తు సమాచారం ఉంది:

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

ఇప్పుడు, నామస్పాస్ సంఘర్షణ లేదు, ఇది రెండు డాక్యుమెంట్స్ రెండు వివిధ పేర్లు ఉపయోగించి వాటి టేబుల్ ఎలిమెంట్స్ పేరు చేశాయి (<h:table> మరియు <f:table>)。

ప్రిఫిక్స్ ఉపయోగించడం ద్వారా మేము రెండు వివిధ రకాల టేబుల్ ఎలిమెంట్స్ సృష్టించాము.

XML నామస్పాస్ - xmlns అట్రిబ్యూట్

XML లో ప్రిఫిక్స్ వాడటం వలన ప్రిఫిక్స్‌ను నిర్వచించవలసిన అవసరం ఉంటుంది}}నామస్పేస్నామస్పేస్‌లు (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: ప్రిఫిక్స్ పరిమిత నామస్పేస్‌ను అందిస్తుంది。

ఎలమెంట్‌కు నామస్పేస్ నిర్వచించినట్లయితే, అదే ప్రిఫిక్స్‌కు సంబంధించిన అన్ని ఉపఎలమెంట్లు అదే నామస్పేస్‌తో సంబంధించి ఉంటాయి。

నామస్పేస్‌ను XML రూట్ ఎలమెంట్‌లో కూడా ప్రకటించవచ్చు:

<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) ఇంటర్నెట్ వనరులను గుర్తించడానికి వినియోగించే స్ట్రింగ్‌లు అని ఉంటుంది。

) అత్యంత సాధారణ URI అని ఉంటుందిసమానత్వం కలిగిన వనరు లొకేటర్ (Uniform Resource Locator,URL),ఇంటర్నెట్ డొమైన్ పేరు అనే విషయాన్ని గుర్తిస్తుంది。

సాధారణంగా ఉండని URI రకం ఒకటి అని ఉంటుందిసమానత్వం కలిగిన వనరు పేరు (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 డాక్యుమెంట్ దానిని హ్టిమ్ల్ ఫార్మాట్లోకి మార్చడానికి ఉపయోగించబడుతుంది.

ఈ XSL డాక్యుమెంట్ ను శ్రద్ధగా చూసినట్లయితే, దానిలోని చాలా టాగ్లు హ్టిమ్ల్ టాగ్లు ఉంటాయి.

కాని హ్టిమ్ల్ లేని టాగ్లుకి ప్రిఫిక్స్ xsl ఉంటుంది మరియు ఈ నామకరణం తో చేతిక్రియా సంకేతపత్రం అంటే: "http://www.w3.org/1999/XSL/Transform":

నామకరణం "http://www.w3.org/1999/XSL/Transform" చేతిక్రియా సంకేతపత్రాన్ని గుర్తిస్తుంది:

<?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 教程