XML/Regeln/Zeichen
In XML gilt wie in HTML:
Sie müssen Zeichen, die bei der XML-Syntax besondere Bedeutung haben, umschreiben, wenn Sie sie im normalen Text zwischen den Tags verwenden wollen.
Folgende Zeichen sind betroffen:
Zeichen | Notation in XML | Bemerkung |
---|---|---|
< | < | |
> | > | nur problematisch in Tags und bei ']]>' |
& | & | |
" | " | nur problematisch in Attributwerten mit "…" |
' | ' | nur problematisch in Attributwerten mit '…' |
dieses Element wird notiert als <code><Element>...</Element></code>
Das Beispiel erzeugt folgende Ausgabe:
- dieses Element wird notiert als <code><Element>...</Element></code>
Um sowohl doppelte als auch einfache Anführungszeichen in einer Zeichenkette unterbringen zu können, ist der Umweg über eine Zwischenvariable und ein nachfolgendes concat() erforderlich.
Standard-Zeichencodierung und Unicode-Unterstützung
In einer XML-Datei lassen sich alle Unicode-Zeichen des in ISO/IEC 10646 definierten Zeichenvorrats notieren. Dieses Zeichensystem wurde 1993 von der International Organization for Standardization (ISO) entwickelt. Es soll die Zeichen aller natürlichen und symbolischen Sprachen der Welt abdecken. Seit der Unicode-Version 1.1 entspricht ISO/IEC 10646 dem Unicode-System. Um genau zu sein: Erlaubt sind Unicode-Zeichen mit den Hexadezimalwerten #x20
bis #xD7FF
, #xE000
bis #xFFFD
und #x10000
bis #x10FFFF
. Nicht erlaubt sind lediglich die beiden Zeichen mit den Hexadezimalwerten #xFFFE
und #xFFFF
, da diese beiden keine Unicode-Zeichen darstellen.
Ferner sind folgende Steuerzeichen erlaubt: Tabulator-Zeichen (hexadezimal #x9), Zeilenvorschub-Zeichen (#xA) und Wagenrücklaufzeichen (#xD). Diese drei Zeichen plus das normale Leerzeichen (#x20) bilden die so genannten Leerraumzeichen.
Wenn Sie in der XML-Deklaration keine andere Codierung angeben, verarbeitet der Parser den Inhalt einer Datei gemäß der Codierung UTF-8 oder UTF-16. Für die Praxis des Editierens ist zu beachten, dass Ihr Editor die XML-Datei stets unter Verwendung derjenigen Codierung speichern muss, die Sie in der XML-Deklaration angeben. Moderne Editoren erlauben das Wählen der Codierung beim Speichern.
Beim Verwenden der fortschrittlichen Codierungen UTF-8 oder UTF-16 können Sie alle Zeichen des Unicode-Systems ohne Umschreibung über die Tastatur eingeben oder direkt einfügen.
Alle Zeichen des Unicode-Zeichenvorrats, die Sie mit Ihrem Editor nicht direkt eingeben können oder die im Zeichenvorrat der verwendeten Codierung nicht vorkommen, können Sie über eine numerische Angabe notieren. Die Notationsweise ist dabei in XML die gleiche wie in HTML 4.0, also z. B. für den Buchstaben ü die Notation ü (dezimal) oder ü (hexadezimal).
Siehe auch Zeichenreferenz (HTML)
Nicht interpretierte Abschnitte (CDATA )
XML-Dokumente dürfen so genannte CDATA-Abschnitte enthalten, die vom Parser nicht als XML-Quellcode interpretiert werden. Im Unterschied zu Kommentaren werden solche Bereiche jedoch mit ausgegeben, einfach als eine nicht weiter interpretierte Zeichenfolge.
<![CDATA[
<Element>dieses Element wird nur als Zeichenfolge ausgegeben</Element>
]]>
Die Definition von CDATA-Abschnitten beginnt mit einer öffnenden spitzen Klammer <. Dahinter folgt unmittelbar anschließend ein Ausrufezeichen ! und eine öffnende eckige Klammer [. Dahinter notieren Sie, in Großbuchstaben, das Schlüsselwort CDATA, und dahinter nochmals eine öffnende eckige Klammer ([).
Zwischen dieser einleitenden Zeichenfolge und der beendenden, markiert durch zwei schließende eckige Klammern und ein eine schließende spitze Klammer (]]>), können Sie beliebigen Text notieren. Im Beispiel ist ein XML-Element durch die Tags <Element>...</Element>
innerhalb des CDATA-Bereichs notiert. Dieses wird vom Parser jedoch nicht als Element namens Element betrachtet, sondern einfach als Text, genauso wie er da steht.