Mithilfe von XML-Namespaces werden
Elemente (XML-Element: Eine XML-Struktur, die aus einem Starttag, einem Endtag und den Informationen zwischen den Tags besteht. Elemente können Attribute besitzen und andere Elemente enthalten.) und Attribute (XML-Attribut: Ein XML-Strukturkonstrukt. Ein Name/Wert-Paar, das durch ein Gleichheitszeichen getrennt und in einem mit Tags versehenen Element enthalten ist, das Features eines Elements ändert. Alle Attributwerte sind Textzeichenfolgen und müssen in Anführungszeichen stehen.) in einem XML-Dokument eindeutig identifiziert, so dass Namenskonflikte vermieden werden. Namespaces sind als
URI (Uniform Resource Identifier) (Uniform Resource Identifier (URI): Eine Zeichenfolge, die zum Identifizieren einer Ressource im Internet anhand von Typ und Speicherort dient.) deklariert und befinden sich in der Regel im Starttag des Stammelements (Wurzelelement: Das Element in einem XML-Dokument, das alle anderen Elemente enthält. Das Wurzelelement ist das Element der höchsten Ebene eines XML-Dokuments und muss das erste Element im Dokument sein.) eines XML-Dokuments. Namespaces können jedoch auch auf Knotenebene definiert sein. Dann gelten sie für diesen Knoten und seine untergeordneten Elemente. Durch das Verbinden eines URI mit einem Namespace wird sichergestellt, dass Elemente mit demselben Namen unterschieden werden können.
Die vom W3C (World Wide Web Consortium) (World Wide Web Consortium (W3C): Ein Konsortium von kommerziellen Organisationen und Bildungseinrichtungen, das Forschungsaktivitäten zu den unterschiedlichsten Aspekten im Zusammenhang mit dem World Wide Web überwacht und die Entwicklung von Standards in diesem Bereich fördert.) entwickelte Empfehlung für Namespaces in XML stellt das xmlns-Attribut zur eindeutigen
Definition eines Namespaces für ein XML-Dokument bereit. Es folgt ein Beispiel für einen
Namespace, mit dessen Hilfe das Vokabular für
XSLT (Extensible Stylesheet Language Transformation) (XSL-Transformation (XSLT): Eine Sprache, mit deren Hilfe XSL-Dokumente in andere Dokumentarten, z. B. HTML- oder XML-Dokumente, transformiert werden. Die Datei wurde für die Verwendung als Teil von XSL entwickelt.) definiert wird:
xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
Ein Namespace besteht aus drei Abschnitten:
Nachdem ein Namespace für ein XML-Dokument deklariert worden ist, verwenden alle zu diesem Namespace gehörenden Elemente oder Attribute das Namespacepräfix in ihrer Deklaration. XSLT-Dateien verwenden z. B. das Namespacepräfix XSL, wie in dem folgenden Beispiel dargestellt ist:
<?xml version="1.0" encoding="UTF-8"?>
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
<xsl:output method="html" indent="no"/>
<xsl:template match="myNode:myNodes">
...
</xsl:template>
</xsl:stylesheet>