Kommentare werden wie in Html dargestellt - sie beginnen mit <!-- und enden mit
-->. Die folgende Zeile stellt einen gültigen Xml-Kommentar dar:
<!-- Das ist ein XML-Kommentar / Comment -->
Kommentare dürfen nicht geschachtelt sein. Der folgende Ausdruck erzeugt deshalb einen Parserfehler:
<!-- Das ist der erste Kommentar <!-- innerer Kommentar --> -->
Xml-Dokumente können mit einer Xml-Declaration beginnen:
<?xml version='1.0' encoding='UTF-8' ?>
Ist die Datei im ANSI-Format gespeichert, so kann für encoding einer der ISO-8859-? -
Klassifikationen eingesetzt werden - ISO-8859-1 für die deutschen Umlaute usw.
Wird die Datei als Unicode (UTF-8 oder UTF-16) gespeichert, so können diese Werte hier
eingetragen werden. Für die Version sind die Werte '1.0' und '1.1' erlaubt (siehe Xml 1.1 - Unicode - Erweiterungen
).
Die meisten Parser verarbeiten derzeit nur die Version '1.0' und weisen '1.1' zurück (Fehlermeldung bsp. 'Ungültige Versionsnummer').
Wenn eine Xml-Declaration verwendet wird, so muß sie am Anfang der Datei stehen.
Eine Xml-Declaration kann zusätzlich das Attribut standalone
mit den gültigen Werten yes und no aufweisen.
standalone='yes' teilt dem Parser mit, daß es für dieses Dokument keine externe
Markup-Declaration gibt, daß also keine externen Verweise aufgelöst werden müssen, um weitere
Element- oder Entity-Deklarationen zu finden. Dies schließt nicht aus, daß es interne Entity-Declarations gibt, deren Ersetzungstext
extern ist; wesentlich ist, daß die Deklaration bereits intern zugänglich ist. Um zu ermitteln, daß das Xml-Dokument wohlgeformt /
well-formed ist, muß der Parser also keine weiteren, externen DTD's oder über Parameter-Entities eingebundenen Definitionen
suchen und verarbeiten. Der Wert 'no' teilt mit, daß die document type definition externe Verweise enthalten kann, ohne daß sie solche
Verweise zwingend enthalten muß.
Das Xml-Dokument kann weitere processing instruction-Anweisungen enthalten.
Dies sind Ausdrücke der Form
<?NAME Attributes-List ?>
Sie stehen in der Regel am Beginn des Dokumentes, zwischen der Xml-Declaration und der document
type definition bzw. dem Wurzelelement. Mit ihnen können an jedes verarbeitende Programm zusätzliche Kombinationen
aus Attributen und Werten übergeben werden. Innerhalb von Xml ist nicht definiert, wie das verarbeitende Programm diese
auswertet. Gängig ist derzeit eine processing instruction für die Verknüpfung mit einer
eXtensible-Stylesheet-Transformation-Language - Datei, welche das Xml-Dokument in einen
anderen Dokumentbaum umformt.
CDATA-Section: Dies sind Abschnitte, die mit <![CDATA[ beginnen und mit
]]> beendet werden. In diesen können <, > und & verwendet werden, ohne daß
diese maskiert werden. Dies kann nützlich sein, falls die Ausgabe bsp. einen Block
JavaScript enthält und man für Vergleichsoperationen < benötigt.
Ein kleines Beispiel (xml-cdata-javascript.xml und
xml-cdata-javascript.xsl):
White-space-handling: White spaces sind zunächst die von Html
her bekannten Zeichen Leerzeichen (#x20), Tabulator (#x9), Carriage Return (#xD) und Line feed (#xA). Da
auf verschiedenen Betriebssystemen verschiedene Konventionen bezüglich des Zeilenwechsels gelten, muß der
Xml-Parser alle Ausdrücke #xD#xA sowie alle einzelnen #xD auf ein einzelnes #xA normalisieren. Sind im
Content eines Elements mehrere aufeinanderfolgende white spaces notiert, so werden diese beim Parsen
unverändert an die Anwendung weitergegeben. Mit normalen Browsern ist der Effekt allerdings nicht beobachtbar,
da diese - den Html-Regeln folgend - white spaces zusammenziehen.
Eine Besonderheit gibt es, falls im Content eines Elements direkt ein Unterelement folgt und zwischen den
Spitzklammern von Element und Unterelement white spaces liegen. Solche Zeichen werden regelmäßig eingefügt,
um bsp. den Quelltext lesbar zu gestalten. Das Standardhandling für diesen Fall sieht vor, solche
white spaces zwischen schließender und öffnender Spitzklammer zu löschen. Man kann jedoch ein spezielles Attribut, 'xml:space' verwenden, welches das
Standardverhalten aufhebt:
Wenn Sie den Online-Xml-Trainer nutzen, können Sie die obige Zeile in den DTD-Abschnitt des Xml-Dokumentes,
unterhalb der Deklaration des myXml-Elements, einfügen. Ein anschließendes Matching verdeutlicht, daß die
beiden Return nach <myXml> und <myHead> nun im Output erscheinen. Das Zurücksetzen des Attributes
auf 'default' entfernt diese Zeilenwechsel im Output.
Dieses Attribut muß für jedes Element definiert werden, für welches es gewünscht wird. Ansonsten wäre das
Xml-Dokument zwar wohlgeformt, jedoch nicht valide.
<?xml version='1.0' encoding='UTF-16' standalone='yes' ?>
<!--
<?xml-stylesheet type='text/xsl'
href='/xml-samples/xml-other.xsl'?>
-->
<!DOCTYPE myཀਈŴʝऑಊ僿.end [
<!ELEMENT myཀਈŴʝऑಊ僿.end (#PCDATA) >
]>
<myཀਈŴʝऑಊ僿.end>
Obwohl eines der hier zufällig herausgesuchten Unicode-
Zeichen im InternetExplorer nur reduziert mit Quadraten
dargestellt wird, handelt es sich doch um ein korrektes
Xml-Dokument.
Hier steht der innere, zu wünschende Text.
<!-- Dieser Text wird von XSL nicht bearbeitet -->
ཀ
ᇔ
ཌྷ
<![CDATA[ Im CDATA-Bereich können <, >
und & unmaskiert genutzt werden ]]>
</myཀਈŴʝऑಊ僿.end>
Die processing instruction, welche die Verknüpfung zur XSL-Datei beschreibt, wurde auskommentiert. Das
Wurzelelement enthält einige zufällig gesammelte Unicode-Zeichen. Da es außer dem Wurzelelement keine weiteren
Elemente mehr gibt, ist die document type definition vollständig. Es handelt sich nicht nur um ein wohlgeformtes,
sondern sogar um ein valides Xml-Dokument.
Link zur hiesigen Seite als QR-Code
Kontaktformular:
Schreiben Sie mir und wir bauen gemeinsam Ihre neue Web-Datenbank!
Mit dem Klick auf den Button stimmen Sie zu, daß Cookies in Ihrem Browser gespeichert werden. Informationen zu den gespeicherten Cookies finden Sie unter Datenschutz#Cookies.Bei Fragen zur Technik wenden Sie sich bitte an Server-Daten - Web-Datenbank-Lösungen