Gültigkeitsbereich von Namespacedeklarationen
Aktualisiert: November 2007
Namespacedeklarationen verfügen über einen Gültigkeitsbereich. Das bedeutet, dass Namespaces überall im Dokument auftreten können, aber wie Programmiervariablen einen Gültigkeitsbereich aufweisen. Namespaces gelten nur in ihrem entsprechenden Gültigkeitsbereich. Es gibt zwei Arten von Gültigkeitsbereichen: Standardgültigkeitsbereiche und qualifizierte Gültigkeitsbereiche.
Ein Standardnamespace ist ein im Stammelement deklarierter Namespace. Er wird auf alle nicht gekennzeichneten Elemente im Dokument angewendet. Ein qualifizierter Namespace wird deklariert, wenn an einer Stelle im Dokument eine Überschreibung durch einen genauer angegebenen Namespace erfolgen soll.
Ein Namespace muss zwar deklariert werden, bevor er verwendet werden kann, aber er muss sich deswegen nicht unbedingt am Anfang des XML-Dokuments befinden. Im folgenden Beispiel wird dargestellt, wie ein qualifizierter Namespace innerhalb der Daten auf der Ebene des BOOK-Elements deklariert und nur auf alle untergeordneten Elemente angewendet wird.
<Author>Joe Smith</Author>
<BOOK xmlns:book="https://www.contoso.com">
<title>My Wonderful Day</title>
<price>$3.95</price>
</BOOK>
<Publisher>
<Name>MSPress</Name>
</Publisher>
Der im BOOK-Element definierte Namespace wird nicht auf Elemente außerhalb des BOOK-Elements (z. B. das Publisher-Element) angewendet. Wenn ein Namespace in einem Dokument vorkommt, impliziert dies, dass der deklarierte Namespace ab dem Punkt der Deklaration bis zum Ende desjenigen Elements gilt, in dem er deklariert wurde.
Wenn ein Namespace für das Publisher-Element deklariert wurde, muss dieser voll qualifiziert sein, indem er dem Element mit einem Doppelpunkt vorangestellt wird. In der Annahme, dass das Publisher-Element einen Teil des mybook -Namespaces darstellt, wird das Element als <mybook:Publisher> deklariert.
Siehe auch
Konzepte
Namespaces in einem XML-Dokument