Download - IT-Designers GmbH
Download - IT-Designers GmbH
Download - IT-Designers GmbH
Erfolgreiche ePaper selbst erstellen
Machen Sie aus Ihren PDF Publikationen ein blätterbares Flipbook mit unserer einzigartigen Google optimierten e-Paper Software.
3.5 Namespaces<br />
S TEINBEIS-TRANSFERZENTRUM<br />
- 3. XML Dokumente -<br />
Die Flexibilität von XML kann allerdings Probleme mit sich bringen: Will man mehrere<br />
Tag-Sets in einem Dokument verwenden, so kann es zu Kollisionen zwischen den<br />
Element- und Attributnamen der verwendeten Sprachen kommen. Beispielsweise<br />
werden in XSL Transformationen (siehe Kapitel 5) 3 verschiedene Tag-Sets (oder<br />
Vokabulare) benutzt: das Quell- und das Zielvokabular, sowie das Vokabular von<br />
XSL.<br />
Dieses Problem wurde früh erkannt und am 14. Januar 1999 verabschiedete das<br />
W3C die Recommendation Namespaces in XML.<br />
Mit dem Namespace-Konzept wird es möglich, entweder einzelne Tags oder ganze<br />
Segmente in einem Dokument einem Namensraum zuzuordnen. Die Wahl des<br />
Namensraumes wird mit dem Attribut xmlns (Abkürzung für XML NameSpace)<br />
getroffen. Der Namensraum an sich wird in Form eines URI (Uniform Resource<br />
Identifier) angegeben. Die Wahl gilt für das Element, dem das Attribut zugeordnet ist,<br />
und alle untergeordneten Tags. Damit können auch Teile eines Dokumentes<br />
unterschiedlichen Namensräumen zugeordnet werden. D.h. ein durch ein xmlns-<br />
Attribut eingeführter Namensraum, kann schon bei dem Element selbst, bei dem das<br />
Attribut steht, und in dem kompletten dazugehörigen Unterbaum benutzt werden.<br />
Man unterscheidet zwei verschiedene Formen, je nachdem ob man einen Präfix<br />
einführt, der den Namensraum kennzeichnet, oder ob generell alle Namen einem<br />
Default-Namensraum zugeordnet werden.<br />
Allerdings hat die Benutzung von Namespaces auch Probleme, die am Ende dieses<br />
Kapitels angesprochen werden.<br />
3.5.1 Default-Namensraum<br />
Werden Element- oder Attributnamen ohne Zusatz benutzt (wie es in allen bisherigen<br />
Beispielen der Fall war), dann gehören diese Namen zum Default-Namensraum.<br />
Ohne weitere Angabe ist das der lokale Namensraum, der beispielsweise durch die<br />
DTD gegeben ist.<br />
Dieser Default-Namensraum kann aber auch für einzelne Teile eines XML<br />
Dokumentes geändert werden. Es folgt ein Beispiel für Namespace Defaulting, d.h.<br />
es wird ein Namensraum gewählt (hier der von HTML), dem alle untergeordneten<br />
Tags per Default zugeordnet werden. Die Verwendung von Tags wie beispielsweise<br />
oder wird damit zulässig.<br />
S OFTWARETECHNIK Einführung in XML © Prof. J. Goll<br />
- 23 -