urvater Logo

Anmerkungen zum Doctype in XML

Als Doctype muss in XML mindestens <?xml version="1.0" ?> angegeben werden. Optional kann noch die Zeichencodierung mit encoding und ein Hinweis ob es sich um eine interne oder externe DTD handelt mit standalone angegeben werden.
Um Probleme bei der Internationalisierung zu vermeiden, empfehle ich grundsätzlich die Verwendung von UTF-8. Hierbei sollte darauf geachtet werden, dass auch die Datei selbst in dem gewählten Zeichensatz gespeichert wurde. So ist es ohne Probleme möglich auch Zeichen auszugeben, die man per Tastatur nicht auf normalen Wege eigeben kann.

Zum Beispiel: Æ oder auch ؁. Diese Zeichen kommen in der deutschen ISO-Norm nicht vor und würden ein merkwürdiges Zeichen anzeigen lassen, wenn man nicht den UTF-8 Zeichensatz verwendet.

Vollständig würde es also so aussehen: <?xml version="1.0" encoding="UTF-8" standalone="yes" ?>

Ausgabe von XML per XSL/XSLT innerhalb von HTML Seiten

Wer XML nutzt könnte schnell in Versuchung geraten, die XML Daten per XSL/XSLT direkt im HTML Dokument ausgeben zu wollen. Grundsätzlich ist dies kein Problem und auch recht schnell umgesetzt.
Allerdings erzeugt der XSL Prozessor automatisch einen XML Doctype. Somit würde man innerhalb eines Dokumentes 2 verschiedene Doctype-Angaben erhalten, was gegen den HTML Standard verstößt.

Um dies zu verhindern muß, die entsprechende Einstellung per omit-xml-declaration in der XSL-Datei angebenen werden.
Mit "yes" wird die Ausgabe unterdrückt und mit "no" nicht. Standard ist no und müsste somit nicht explizit angegeben werden.

    <?xml version="1.0" encoding="UTF-8"?>
    <xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
    
    <xsl:output method="xml" omit-xml-declaration="yes" />
    ...