Weitere aktuelle Java-Titel finden Sie bei dpunkt.
 Inhaltsverzeichnis   Auf Ebene Zurück   Seite Zurück   Seite Vor   Auf Ebene Vor   Eine Ebene höher   Index


20.6

Namensräume



XML-Namensräume wurden vom W3-Konsortium entwickelt, um die Verwendung mehrerer Markup-Sprachen (»markup vocabulary«) in einem Dokument zu ermöglichen. Der Anlass für diese Entwicklung war die Annahme, dass sich insbesondere im E-Commerce-Bereich eine Reihe von Standard-DTDs samt zugehörigen Applikationen etablieren werden, die Dokumente für »ihre« DTD erkennen und verarbeiten können.

Für den Fall, dass nun verschiedene solcher standardisierter DTDs gleichnamige Elemente definieren, die möglicherweise sogar eine völlig andere Bedeutung haben, besteht das Problem, dass es zu Kollisionen kommt, wenn man diese gleichnamigen Elemente in einem Dokument verwenden möchte.

Um diese Kollisionen zu vermeiden und die Verwendung von gleichnamigen Elementen aus verschiedenen DTDs in einem Dokument zu ermöglichen, wurden die XML-Namensräume (»name spaces«) definiert. Damit wurde gleichzeitig auch die langfristige Wiederverwendbarkeit von DTDs und den zugehörigen Applikationen gewährleistet, weil die Applikationen anhand der Namensräume die für sie bestimmten Elemente identifizieren können.

Der Leser mag sich nun fragen, wie es überhaupt zu Namenskollisionen kommen kann, weil ein Dokument ja höchstens eine DTD haben kann. Tatsächlich ist das W3 bei der Entwicklung der Namensräume gegenüber der XML-Spezifikation ein ganzes Stück vorgeprescht. Aus heutiger Sicht mit dem jetzt aktuellen XML Standard Version 1.0 sind Namensräume nur für wohlgeformte Dokumente relevant, die über keine DTD-Deklaration verfügen. In Dokumenten, die eine DTD haben, können in XML 1.0 keine Namenskonflikte auftreten. Möglicherweise wird der XML-Standard einmal so erweitert werden, dass ein Dokument mehrere DTDs gleichzeitig verwenden kann, wobei hier noch unklar ist, wie dann die Content-Modelle der Elemente definiert werden sollen.

Die Spezifikation für XML-Namensräume sieht nun vor, dass man einem Element- oder Attributnamen im Dokument einen Bezeichner für einen Namensraum voranstellen kann. Innerhalb eines Namensraums ist ein Elementname stets eindeutig. Beide Teile - Namensraum und Elementname - zusammen sind daher eindeutig im gesamten Dokument. Die folgende Abbildung zeigt an einem Beispiel, wie ein Namensraum deklariert und danach im Dokument verwendet wird.

Abbildung 20.7: Deklaration und Verwendung von XML-Namensräumen
Abbildung 20.7


 Inhaltsverzeichnis   Auf Ebene Zurück   Seite Zurück   Seite Vor   Auf Ebene Vor   Eine Ebene höher   Index

Copyright © 2002 dpunkt.Verlag, Heidelberg. Alle Rechte vorbehalten.