Ultimele tutoriale de dezvoltare web
 

XML Spații de nume


Spații de nume XML oferă o metodă pentru a evita conflictele de nume de elemente.


Nume Conflicte

În XML, nume de elemente sunt definite de către dezvoltator. Acest lucru duce adesea într-un conflict atunci când încearcă să se amestece documente XML din diferite aplicații XML.

Acest XML poartă HTML informații tabel:

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

Acest XML poartă informații despre un tabel (a piece of furniture) :

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

Dacă aceste fragmente XML au fost adăugate împreună, ar exista un conflict de nume. Ambele conțin un <table> Element, dar elementele au conținut diferit și semnificație.

Un utilizator sau o aplicație XML nu va ști cum să se ocupe de aceste diferențe.


Rezolvarea conflict de nume folosind un prefix

conflictele de nume în XML poate fi ușor evitate folosind un prefix nume.

Acest XML poartă informații despre un tabel HTML, și o piesă de mobilier:

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

În exemplul de mai sus, nu va exista nici un conflict , deoarece cele două <table> elemente au nume diferite.


Spații de nume XML - The xmlns Atribut

Când se utilizează prefixe în XML, un namespace de namespace trebuie să fie definit pentru prefixul.

Spațiul de nume poate fi definit printr - un xmlns atribut în eticheta de start a unui element.

Declarația spațiu de nume are următoarea sintaxă. 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="http://www.w3ii.com/furniture">
  <f:name>African Coffee Table</f:name>
  <f:width>80</f:width>
  <f:length>120</f:length>
</f:table>

</root>

In exemplul de mai sus:

De xmlns atribuie în primul <table> Element dă h: Prefix un spațiu de nume calificat.

The xmlns atribuie în al doilea <table> Element dă f: prefixăm un spațiu de nume calificat.

Atunci când un spațiu de nume este definit pentru un element, toate elementele copil cu același prefix sunt asociate cu același spațiu de nume.

Spații de nume poate fi, de asemenea, declarată în elementul rădăcină XML:

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

Note: Spațiul de nume URI nu este utilizat de parserul pentru a căuta informații.

Scopul utilizării unui URI este de a oferi spațiul de nume un nume unic.

Cu toate acestea, companiile folosesc adesea spațiul de nume ca un pointer la o pagină web care conține informații spațiu de nume.


Uniform Resource Identifier (URI)

Un Uniform Resource Identifier (URI) este un șir de caractere care identifică o resursă pe Internet.

Cel mai frecvent URI este Uniform Resource Locator (URL) , care identifică o adresă de domeniu de Internet. Un alt, nu tip atât de comună de URI este Universal Resource Name (URN) .


Spații de nume implicite

Definirea unui spațiu de nume implicit pentru un element ne salvează de la utilizarea prefixe în toate elementele copilului. Ea are următoarea sintaxă:

xmlns=" Acest XML poartă HTML informații tabel:

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

Acest XML poartă informații despre o piesă de mobilier:

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

Spații de nume în Real Utilizare

XSLT este un limbaj care poate fi utilizată pentru a transforma documentele XML în alte formate.

Documentul XML de mai jos, este un document utilizat pentru a transforma XML în HTML.

Spațiul de nume "http://www.w3.org/1999/XSL/Transform" identifică elemente XSLT din interiorul unui document HTML:

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

Dacă doriți să aflați mai multe despre XSLT, vă rugăm să citiți Tutorial XSLT .