Sdílet prostřednictvím


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

Namespacedeklarationen

Standardnamespaces

Verwalten von Namespaces mit dem "XmlNamespaceManager"

Vom "XmlNamespaceManager" erhaltene Informationen