<table><tr><td>Äpfel</td><td>Bananen</td></tr></table>
Dieses XML-Dokument enthält Informationen über einen Tisch (ein Möbelstück):
<table><name>Afrikanischer Couchtisch</name><width>80</width><length>120</length></table>
Wenn diese beiden XML-Dokumente zusammen verwendet werden, kommt es zu einem Namenskonflikt, da beide Dokumente <table>-Elemente mit unterschiedlichem Inhalt und unterschiedlichen Definitionen enthalten.
Der XML-Parser kann nicht bestimmen, wie mit solchen Konflikten umgegangen werden soll.
Namenskonflikte in XML können durch die Verwendung von Namenspräfixen leicht vermieden werden.
Dieses XML enthält Informationen zu einer HTML-Tabelle und einem Möbelstück:
<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>
Im obigen Beispiel liegt kein Konflikt vor, da die beiden <table>-Elemente unterschiedliche Namen haben.
Bei der Verwendung von Präfixen in XML muss ein sogenannter Namespace für das Präfix definiert werden.
Der Namespace wird im xmlns-Attribut des öffnenden Tags des Elements definiert.
Die Syntax für die Namespace-Deklaration lautet wie folgt. xmlns: Präfix = „ URI “.
<root><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="//www.w3cschool.cn/furniture"><f:name>Afrikanischer Kaffee Tabelle</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 Namespace für die Präfixe h: und f:.
Wenn im Eröffnungs-Tag eines Elements ein Namespace definiert wird, werden alle untergeordneten Elemente mit demselben Präfix demselben Namespace zugeordnet.
Namespaces können im Element, in dem sie verwendet werden, oder im XML-Root-Element deklariert werden:
<root xmlns:h="http://www.w3.org/TR/html4/"xmlns:f="//www.w3cschool.cn/furniture"><h:table><h:tr><h :td>Äpfel</h:td><h:td>Bananen</h:td></h:tr></h:table><f:table><f:name>Afrikanischer Kaffee Tabelle</f:name><f:width>80</f:width><f:length>120</f:length></f:table></root>
Hinweis: Namespace-URIs werden vom Parser nicht zum Suchen von Informationen verwendet.
Sein Zweck besteht darin, dem Namespace einen eindeutigen Namen zu geben. Viele Unternehmen verwenden Namespaces jedoch häufig als Verweise auf tatsächlich vorhandene Webseiten, die Informationen über den Namespace enthalten.
Bitte besuchen Sie http://www.w3.org/TR/html4/.
Ein Uniform Resource Identifier (URI) ist eine Zeichenfolge, die eine Internetressource identifiziert.
Der am häufigsten verwendete URI ist ein Uniform Resource Locator (URL), der zur Identifizierung einer Internet-Domänennamenadresse verwendet wird. Ein weiterer, weniger häufig verwendeter URI ist der Uniform Resource Name (URN).
In unserem Beispiel verwenden wir nur URLs.
Das Definieren eines Standardnamensraums für ein Element erspart uns die Arbeit, ein Präfix für alle untergeordneten Elemente zu verwenden. Seine Syntax ist wie folgt:
xmlns="namespaceURI"
Dieses XML enthält die Informationen der HTML-Tabelle:
<table xmlns="http://www.w3.org/TR/html4/"><tr><td>Äpfel</td><td>Bananen</td></tr></table>
Dieses XML enthält Informationen zu einem Möbelstück:
<table xmlns="//www.w3cschool.cn/furniture"><name>Afrikanischer Couchtisch</name><width>80</width><length>120</length></table>
XSLT ist eine XML-Sprache, mit der XML-Dokumente in andere Formate wie HTML umgewandelt werden.
Im folgenden XSLT-Dokument können Sie sehen, dass es sich bei den meisten Tags um HTML-Tags handelt.
Nicht-HTML-Tags werden mit dem Präfix xsl versehen und durch diesen Namespace identifiziert:
xmlns:xsl="http://www.w3.org/1999/XSL/Transform":<?xml version="1.0" binding="ISO-8859-1"?><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><tr><th align="left">Titel</th><th align="left">Künstler</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>
Wenn Sie mehr über XSLT erfahren möchten, finden Sie XSLT-Tutorials auf unserer Homepage.