## XML-Deklaration und Verarbeitungsanweisungen

| Einfache XML-Deklaration Zusätzliche Angaben zum Zeichensatz und zum DTD-Bezug Verarbeitungsanweisungen innerhalb einer XML-Datei

## Einfache XML-Deklaration

Jede XML-Datei sollte mit einer Auszeichnung beginnen, die den Bezug zu XML herstellt. Dazu dient die XML-Deklaration am Beginn der Datei. In der einfachen Variante lautet sie:

### Beispiel:

    <?xml version="1.0"?>
    <!-- restliche XML-Datei folgt ab hier -->

### Erläuterung:

Die XML-Deklaration ist also eine besondere, alleinstehende Auszeichnung, deren erstes und letztes Zeichen innerhalb der spitzen Klammern `<` und `>` ein Fragezeichen `?` ist. Unmittelbar hinter dem Anfangsfragezichen muss `xml` (kleingeschrieben) stehen. Dahinter können in Form von Attributen verschiedene Angaben folgen. Die Angabe der XML-Versionsnummer ist obligatorisch und deshalb auch in der einfachen Variante erforderlich. "Versionsnummer" bezieht sich dabei auf die Version der Sprachspezifikation von XML. Derzeit ist die Version 1.0 von XML maßgeblich. Das W3-Konsortium arbeitet bereits an einer Version 1.1, doch die gegenwärtigen XML-Parser unterstützen normalerweise nur die Version 1.0. Da das Konzept von XML syntaktisch weitgehend ausgereift ist, ist auch nicht mit einer Versionenflut zu rechnen. Benutzen Sie also außer in begründeten Ausnahmefällen die Angabe `version="1.0"`.

### Beachten Sie:

Die XML-Deklaration sieht vom Typ her aus wie eine Verarbeitungsanweisung. Sie gehört jedoch nicht zu den eigentlichen Daten der XML-Datei und wird in der Baumstruktur der Daten auch nicht repräsentiert.

## Zusätzliche Angaben zum Zeichensatz und zum DTD-Bezug

Neben der Versionsangabe kann die XML-Deklaration einer XML-Datei zwei weitere Attribute enthalten: eines zum benutzten Zeichensatz, und ein Ja/Nein-Attribut, ob die zugehörige DTD in der aktuellen Datei steht oder in einer separaten Datei.

### Beispiel:

    <?xml version="1.0" encoding="ISO-8859-1" standalone="yes"?>

### Erläuterung:

Mit dem Attribut `encoding=` geben Sie an, welchen Zeichensatz Sie für die Daten dieser Datei benutzen. Folgende Angaben sollte jeder XML-Parser kennen:

Anweisung | Bedeutung | Hinweis
--- | --- | ---
`encoding="UTF-8"` | internationaler Zeichensatz auf Basis der ISO/IEC-10646-Norm mit 8 Bit Zeichenbreite |
`encoding="UTF-16"` | internationaler Zeichensatz auf Basis der ISO/IEC-10646-Norm mit 16 Bit Zeichenbreite |
`encoding="ISO-8859-1"` | ISO-Zeichensatz für westeuropäische Sprachen | siehe ISO-8859-1
`encoding="ISO-8859-2"` | ISO-Zeichensatz für osteuropäische Sprachen | siehe ISO-8859-2
`encoding="ISO-8859-3"` | ISO-Zeichensatz für südeuropäische Sprachen | siehe ISO-8859-3
`encoding="ISO-8859-4"` | ISO-Zeichensatz für nordeuropäische Sprachen | siehe ISO-8859-4
`encoding="ISO-8859-5"` | ISO-Zeichensatz für kyrillische Sprachen | siehe ISO-8859-5
`encoding="ISO-8859-6"` | ISO-Zeichensatz für arabische Sprachen | siehe ISO-8859-6
`encoding="ISO-8859-7"` | ISO-Zeichensatz für griechische Sprache | siehe ISO-8859-7
`encoding="ISO-8859-8"` | ISO-Zeichensatz für hebräische Sprache | siehe ISO-8859-8
`encoding="ISO-8859-9"` | ISO-Zeichensatz für türkische Sprache | siehe ISO-8859-9
`encoding="ISO-8859-10"` | ISO-Zeichensatz für nordische Sprache | siehe ISO-8859-10

Wenn Sie keine Angaben zum Zeichensatz machen, wird per Voreinstellung der Unicode-gerechte Zeichensatz ISO/IEC 10646 angenommen (siehe dazu Standard-Zeichensatz und Unicode-Unterstützung).

Mit dem Attribut `standalone=` können Sie dem XML-Parser vorab mitteilen, wie die vorliegende Datei sich auf eine externe DTD bezieht oder nicht. Mit `standalone="yes"` geben Sie an, dass sich die DTD innerhalb der aktuellen Datei befindet. Mit `standalone="no"` teilen Sie mit, dass sich die DTD in einer separaten Datei befindet. Die Quelle müssen Sie in diesem Fall mit Hilfe der Dokumenttyp-Deklaration angeben.

### Beachten Sie:

Obwohl die beiden Attribute `standalone=` und `encoding=` optional sind, müssen sie, wenn sie verwendet werden, in einer bestimmten Reihenfolge notiert werden, nämlich in dieser:
`version= encoding= standalone=`

## Verarbeitungsanweisungen innerhalb einer XML-Datei

Hin und wieder kann es notwendig sein, dass auch innerhalb der XML-Datei spezielle Anweisungen für die auslesende Software notiert werden müssen. Solche Anweisungen nennt man Verarbeitungsanweisungen (processing instructions).

### Beispiel:

    <?xml version="1.0"?>
    <!-- Daten -->
    <?xml-stylesheet type="text/css" href="styles.css"?>
    <!-- Daten -->
    <?PLZprozessor alertBox("es sind ungültige Postleitzahlen angegeben"?>
    <!-- Daten -->

### Erläuterung:

Die Verarbeitungsanweisung ist eine alleinstehendes Tag, dessen erstes und letztes Zeichen innerhalb der spitzen Klammern `<` und `>` ein Fragezeichen `?` ist. Unmittelbar hinter dem Anfangsfragezichen folgt ein symbolischer Name derjenigen Software, an die sich die Verarbeitungsanweisung richtet. Die auslesende Software muss diesen symbolischen Namen natürlich kennen und wissen, dass sie Verarbeitungsanweisung an sie gerichtet ist. Das Beispiel zeigt zwei typische Verarbeitungsanweisungen innerhalb der XML-Daten. Mit `xml-stylesheet` wird beispielsweise ein Browser angesprochen, der die XML-Daten anzeigen soll und durch die entsprechende Verarbeitungsanweisung erfährt, wo die Stylesheet-Datei abgelegt ist, in der die Formatdefinitionen für die XML-Elemente dieser Datei notiert sind. Die zweite Verarbeitungsanweisung innerhalb der XML-Daten im Beispiel ist eine Phantasie-Anweisung, die zeigen soll, dass Verarbeitungsanweisungen ganz verschiedener Natur sein können.

| Die Dokumenttyp-Deklaration
| Einführung in XML

© 2001 selfhtml@teamone.de