XML
Data Islands
DTD
Namensräume
Schema
XLink
XPath
Links
ASCII Table
ISO-8859-1
Impressum

XML Namensräume

Die Spezifikation für Namensräume wurde am 14.01.1999 verabschiedet und ist unter http://www.w3.org/TR/REC-xml-names/ zu finden. Die Namensraumdeklaration zeigt nicht auf ein konkretes Objekt wie etwa eine DTD, Sie enthält vielmehr eindeutige Namen für Ressourcen, die der Syntax einer URL entsprechen. Das W3C sagt nichts über die Validierung eines Dokuments gegen eine oder mehrere Listen aus Namensräumen und in der Spezifikation von XML 1.0 steht überhaupt nichts über Namensräume. Daher werden validierende Parser auch generell Fehler bei der Verwendung von Namensräumen ausgeben. Interessant wird das Konzept der Namensräume erst mit XML Schema.

Definition

  • Ein XML Namensraum ist eine, durch einen URI identifizierte, Namensliste, die in XML Dokumenten als Elementtypen und Attributnamen verwendet werden können.
  • URI Verweise für Namensräume gelten nur dann als identisch, wenn Sie (Zeichen für Zeichen) identisch sind.

Funktion

  • mehrere DTDs in einem Dokument verwenden.
  • Vokabularien zusammenführen.

Bestandteile

  • Ein Verweis auf einen URI, der die Definition für das entsprechende Element enthält.

xmlns="http://www.domain.de/xmldtd/names.dtd"

  • Ein Alias für diesen Verweis, der zusammen mit dem "lokalen" Namen des Elements einen qualifizierten Namen ergibt. Der Alias dient in erster Linie dazu handlichere Namensraumbezeichner zu bekommen.

xmlns:alias="http://www.domain.de/xmldtd/names.dtd"

Qualified Names

  • Ein qualifizierter Name setzt sich aus dem Alias, einem Doppelpunkt und dem Namen des gewünschten Elements zusammen.

<alias:element/>

Scope (Gültigkeitsbereich)

  • Die Namensraumgültigkeit beginnt ab ihrer Deklaration und erstreckt sich auf die gesamte Unterstruktur des betreffenden Elements.
  • Kann eine klare Trennung der Namensräume vorgenommen werden, so kann es sinnvoll sein, diese direkt im betreffenden Root-Element, ohne Alias zu deklarieren um einen default Name zu schaffen.

<?xml version="1.0" encoding="ISO-8859-1" ?>
<!-- ab der nächsten Zeile gilt der buch Namensraum als default -->
<buch xmlns="http://www.meinserver.de/XML/buch">
<kapitel nummer="1">
<!-- ab der nächsten Zeile gilt der HTML 4.0 Namensraum als default -->
<html xmlns="http://www.w3.org/TR/REC-html-40">
<head><title>Einleitung</title></head>
<body>
<h1>Einleitung</h1>
<p>Das Buch beginnt mit diesem Text...</p>
</body>
</html>
<!-- hier endet die Gültigkeit des HTML 4.0 Namensraums -->
</kapitel>
</buch>