XML Namespaces
XML-Namespaces bieten eine Möglichkeit, Elementnamenskonflikte zu vermeiden.
Namenskonflikte
In XML werden Elementnamen von Entwicklern definiert. Wenn zwei verschiedene Dokumente denselben Elementnamen verwenden, kommt es zu Namenskonflikten.
Dieses XML enthält Informationen über eine HTML-Tabelle:
<tr>
<td>Apples</td>
<td>Bananas</td>
</tr>
</table>
Dieses XML-Dokument enthält Informationen über einen Tisch (ein Möbelstück):
<name>African Coffee Table</name>
<width>80</width>
<length>120</length>
</table>
Wenn diese beiden XML-Dokumente zusammen verwendet werden, kommt es zu Namenskonflikten, weil beide Dokumente <table>-Elemente mit unterschiedlichem Inhalt und unterschiedlichen Definitionen enthalten.
XML-Parser können nicht bestimmen, wie mit dieser Art von Konflikt umgegangen werden soll.
Verwenden von Präfixen zur Vermeidung von Namenskonflikten
Namenskonflikte in XML lassen sich leicht vermeiden, indem Namenspräfixe verwendet werden.
Diese XML enthält Informationen über eine HTML-Tabelle und ein Möbelstück:
<h:tr>
<h:td>Äpfel</h:td>
<h:td>Bananen</h:td>
</h:tr>
</h:table>
<f:table>
<f:name>Afrikanischer Couchtisch</f:name>
<f:width>80</f:width>
<f:length>120</f:length>
</f:table>
Im obigen Beispiel gibt es keinen Konflikt, weil die beiden <table>-Elemente unterschiedliche Namen haben.
XML-Namensräume - Das xmlns-Attribut
Wenn Präfixe in XML verwendet werden, muss ein sogenannterNamensraumfür das Präfix definiert werden.
Der Namensraum wird imxmlns-Attributdes Start-Tags des Elements definiert.
Die Syntax zum Deklarieren eines Namensraums lautet wie folgt. xmlns:Präfix="URI"。
<h:table xmlns:h="http://www.w3.org/TR/html4/">
<h:tr>
<h:td>Äpfel</h:td>
<h:td>Bananen</h:td>
</h:tr>
</h:table>
<f:table xmlns:f="http://www.w3cschool.cc/furniture">
<f:name>Afrikanischer Couchtisch</f:name>
<f:width>80</f:width>
<f:length>120</f:length>
</f:table>
</root>
Im obigen Beispiel definiert das xmlns-Attribut des <table>-Tags den qualifizierten Namensraum für die Präfixe h: und f:.
Wenn ein Namensraum im Start-Tag eines Elements definiert wird, werden alle untergeordneten Elemente mit demselben Präfix demselben Namensraum zugeordnet.
Namensräume können in den Elementen deklariert werden, in denen sie verwendet werden, oder im XML-Wurzelelement:
xmlns:f="http://www.w3cschool.cc/furniture">
<h:table>
<h:tr>
<h:td>Äpfel</h:td>
<h:td>Bananen</h:td>
</h:tr>
</h:table>
<f:table>
<f:name>Afrikanischer Couchtisch</f:name>
<f:width>80</f:width>
<f:length>120</f:length>
</f:table>
</root>
Hinweis:Der Namensraum-URI wird vom Parser nicht verwendet, um Informationen nachzuschlagen.
Sein Zweck ist es, dem Namensraum einen eindeutigen Namen zu geben. Allerdings verwenden viele Unternehmen den Namensraum oft als Zeiger auf eine tatsächliche Webseite, die Informationen über den Namensraum enthält.
Bitte besuchen Siehttp://www.w3.org/TR/html4/。
Uniform Resource Identifier (URI, vollständiger Name: Uniform Resource Identifier)
Der Uniform Resource Identifier(URI) ist eine Zeichenkette, die Internetressourcen identifizieren kann.
Die am häufigsten verwendete URI ist diejenige, die zur Identifizierung von Internet-Domainnamen-Adressen verwendet wird, derUniform Resource Locator(URL). Eine andere weniger häufig verwendete URI ist derUniform Resource Name(URN)。
In unseren Beispielen verwenden wir nur URLs.
Standard-Namensräume
Wenn wir einen Standard-Namensraum für ein Element definieren, ersparen wir uns die Verwendung von Präfixen in allen untergeordneten Elementen. Die Syntax lautet wie folgt:
Dieses XML enthält Informationen über eine HTML-Tabelle:
<tr>
<td>Apples</td>
<td>Bananas</td>
</tr>
</table>
Dieses XML enthält Informationen über ein Möbelstück:
<name>African Coffee Table</name>
<width>80</width>
<length>120</length>
</table>
Namensräume in der Praxis
XSLT ist eine XML-Sprache, die verwendet wird, um XML-Dokumente in andere Formate wie HTML umzuwandeln.
Im folgenden XSLT-Dokument können Sie sehen, dass die meisten Tags HTML-Tags sind.
Die Nicht-HTML-Tags haben alle das Präfix xsl und werden durch diesen Namensraum identifiziert: xmlns:xsl="http://www.w3.org/1999/XSL/Transform":
<xsl:stylesheet version="1.0"
xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:template match="/">
<html>
<body>
<h2>Meine CD-Sammlung</h2>
<table border="1">
<tr>
</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>
Wenn Sie mehr über XSLT erfahren möchten, besuchen Sie bitte unsereHomepage, um das XSLT-Tutorial zu finden.
Andere Erweiterungen