• +49-(0)721-402485-12
Ihre Experten für XML, XQuery und XML-Datenbanken

Der Namensraum xml

XML 1.0 spezifiziert zwei spezielle Attribute xml:lang und xml:space aus dem Namensraum http://www.w3.org/XML/1998/namespace. Für diesen Namensraum ist das Präfix xml immer vordefiniert.

Das Attribut xml:lang kann benutzt werden, um die Sprache zu kennzeichnen, in der Element- und Attributinhalt geschrieben sind. Wie bei der Namensraumdefinition gilt der angegebene Wert für das Element, in dem er vorkommt, und alle Kindelemente, sofern er dort nicht überschrieben wird. Der Wert des Attributes richtet sich nach den in "RFC 1766" definierten Sprachkennungen.

Hier ist die Diagnose einmal auf Deutsch und einmal auf Latein angegeben:

<Patient>
<Diagnose xml:lang="de">Erkrankung der Herzkranzgefäße</Diagnose>
<Diagnose xml:lang="la">Angina pectoris</Diagnose>
</Patient>

Wenn dieses Attribut in einem gültigen Dokument verwendet werden soll, muss es wie jedes andere Attribut in der DTD oder im Schema deklariert sein:

<!ATTLIST Diagnose xml:lang CDATA #IMPLIED>

Schon die bisher gezeigten Beispiele machen deutlich, dass es zur Lesbarkeit von XML-Dokumenten oft hilfreich ist, Leerraum ("white space") einzufügen, wie Zeilenumbrüche, Leerzeichen usw. Zur Bedeutung der Dokumente trägt dieser Leerraum nicht bei: Er kann bei der Verarbeitung getrost ignoriert werden. An anderen Stellen ist der Leerraum aber signifikant (etwa bei Gedichten) und darf nicht entfernt werden.

Ein XML-Prozessor muss zwar alle Zeichen (einschließlich Leerraum), die außerhalb von Markup stehen, an eine Anwendung weitergeben, diese ist aber in der Behandlung der Zeichen frei. Das spezielle Attribut xml:space kann der Anwendung signalisieren, dass Leerraum bewahrt werden soll (xml:space="preserve") oder dass die Anwendung damit nach ihren Voreinstellungen verfahren soll (xml:space="default"). Die Angabe gilt für das Element, in dem sie auftritt, und für dessen Kindelemente (sofern sie dort nicht ebenfalls auftritt) sowie für alle in diesen Elementen auftretenden Attribute.

Auch dieses Attribut muss in der DTD deklariert werden, wenn es in einem gültigen Dokument benutzt werden soll. Es muss als Aufzählungstyp deklariert sein, z. B.:

<!ATTLIST Gedicht xml:space (default | preserve) "preserve">
<!ATTLIST Code xml:space (preserve) #FIXED "preserve">

 

Quelle: "XQuery – Grundlagen und fortgeschrittene Methoden", dpunkt-Verlag, Heidelberg (2004)

<< zurückvor >>