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