# Regeln für Tags, Attribute, Wertzuweisungen und Kommentare

| Tags, Attribute und Wertzuweisungen Kommentare

## Tags, Attribute und Wertzuweisungen

Für Tags, Attribute und ihre Wertzuweisungen gibt es in XML bestimmte Regeln, die Sie kennen müssen.

### Groß-/Kleinschreibung von Element- und Attributnamen

XML unterscheidet im Gegensatz zu klassischem HTML strikt zwischen Groß- und Kleinschreibung. Die beiden folgenden Notationen sind beide XML-gerecht, aber aus Sicht von XML nicht das Gleiche:

    <tier art="fisch">...</tier>
    <Tier Art="Fisch">...</Tier>

Wenn Sie in einer DTD Tags und Attribute für eine XML-basierte Sprache definieren, sollten Sie also gleich auf die gewünschte Schreibweise achten. Wenn Sie im DTD-Bereich beispielsweise notieren:
`<!ELEMENT Platinentyp (#PCDATA)>`
Dann müssen Sie im Datenbereich notieren:
`<Platinentyp>...</Platinentyp>`.
Falsch sind dagegen Notierungen wie:
`<platinentyp>...</platinentyp>` oder
`<PLATINENTYP>...</PLATINENTYP>`.

Auch bei Wertzuweisungen gilt die Unterscheidung zwischen Groß- und Kleinschreibung. Das ist besonders dann von Bedeutung, wenn Sie in einer DTD nur bestimmte Wertzuweisungen für ein Attribut erlauben, z.B. `links`, `rechts` oder `zentriert`.

### Anführungszeichen bei Wertzuweisungen

Bei XML gilt ohne Ausnahme: alle Wertzuweisungen an Attribute müssen in Anführungszeichen stehen.

    <bereich sprache=deutsch dialekt=bayerisch>     <!-- falsch -->
    <bereich sprache="deutsch" dialekt="bayerisch"> <!-- richtig -->

Innerhalb von Wertzuweisungen an Attribute können Sie auch das Apostroph-Zeichen `'` und das Anführungszeichen `"` verwenden. Diese beiden Zeichen müssen Sie dann aber unbedingt maskieren, nämlich in der Form `&apos;` für `'` und `&quot;` für `"`.

### Elemente bestehen aus Tags und End-Tags

In XML gibt es keine alleinstehenden Tags wie in HTML beispielsweise `<br>`, `<img>` oder `<hr>` - jedes Element muss aus Anfangs- und End-Tag bestehen. Es gibt in XML auch keine optionalen End-Tags, wie es in HTML etwa bei `</li>` oder `</option>` der Fall ist.

### Ausnahme: Leere Elemente

Ausnahmen sind so genannte leere Elemente, also Elemente ohne Inhalt. Solche Elemente können ohne zugehöriges End-Tag notiert werden, müssen jedoch als leer gekennzeichnet werden.

    <linie>         <!-- falsch -->
    <linie/>        <!-- richtig -->
    <linie />       <!-- richtig -->

Um ein Element als leer zu kennzeichnen, muss am Ende vor der schließenden spitzen Klammer ein Schrägstrich notiert werden. Das Leerzeichen davor ist optional, aber zu empfehlen. Denn `<linie/>` könnte ein unausgereifter XML-Parser auch fälschlich als unerlaubtes Zeichen des Elementnamens `linie` interpretieren.

Alternativ zu dieser Notation können Sie leere Elemente auch in der Form `<linie></linie>` notieren. Der Grund ist, dass XML eigentlich für jedes Element einen Inhalt vorsieht, und dass ein leeres Element einfach ein Element ohne Inhalt ist. Wichtig ist dabei jedoch, dass Anfangs- und End-Tag unmittelbar in Folge notiert werden, ohne irgendwelche Zeichen dazwischen!

### Elementnamen

Elementnamen müssen ein paar Regeln einhalten:

    <xml-datei>         <!-- falsch -->
    <datei-xml>         <!-- richtig -->
    <1a>                <!-- falsch -->
    <a1>                <!-- richtig -->
    <gleich=gleich>     <!-- falsch -->
    <gleich-gleich>     <!-- richtig -->
    <mein element>      <!-- falsch -->
    <mein-element>      <!-- richtig -->

Elementnamen dürfen nicht mit der Zeichenfolge `xml` und nicht mit Ziffern beginnen, und sie dürfen keine Gleichheitszeichen und keine Leerzeichen enthalten. Weitere Einzelheiten dazu im Abschnitt Regeln für Namen.

## Kommentare

Innerhalb von XML-Dateien - auch innerhalb von DTD-Dateien oder DTD-Bereichen innerhalb einer XML-Datei - können Sie Ihre Daten oder Definitionen zur allgemeinen Verständlichkeit kommentieren. Dabei gelten die gleichen Regeln wie in HTML.

### Beispiel:

    <lagertemp>4°</lagertemp>
    <!-- empfohlene Aufbewahrungstemperatur -->

Ein Kommentar beginnt mit der Zeichenfolge `<!--` und endet mit `-->`. Er kann sich über mehrere Zeilen erstrecken. Was innerhalb des Kommentars steht, wird nicht interpretiert.

| Wohlgeformtheit, Gültigkeit und Vollständigkeit einer XML-Datei
| Die Dokumenttyp-Deklaration

© 2007 Impressum