XML/Regeln/Wohlgeformtheit

Aus SELFHTML-Wiki
< XML‎ | Regeln
Wechseln zu: Navigation, Suche

Der Begriff "Wohlgeformtheit", der Ihnen im Zusammenhang mit XML immer wieder begegnen wird, bedeutet, dass eine Datei die Regeln von XML korrekt einhält.

Beispiel: Beispiel einer wohlgeformten XML-Datei
<?xml version="1.0"?>
<Dialog>
  <Adam Emotion="heftig">ich liebe dich!</Adam>
  <Eva Emotion="heftig">ich dich auch!</Eva>
</Dialog>

Es handelt sich aus folgenden Gründen um eine wohlgeformte XML-Datei:

  • am Beginn steht die Seite XML-Deklaration, die den Bezug zu XML herstellt.
  • Es gibt mindestens ein Datenelement (im Beispiel sind es drei: <Dialog>...</Dialog>, <Adam>...</Adam> und <Eva>...</Eva>)
  • Es gibt bei den Datenelementen ein äußerstes Element (auch als Dokument-Element bezeichnet), das alle anderen Datenelemente enthält (im Beispiel: <Dialog>...</Dialog>).

Was jedoch fehlt, ist der Bezug zu einer DTD, in der die verwendeten Elemente definiert sind. Deshalb kann man über das Beispiel sagen, es ist wohlgeformt, aber nicht gültig.

Beachten Sie: Elemente in wohlgeformten, aber nicht gültigen XML-Dateien können beliebigen Inhalt haben. So ist es problemlos möglich, so etwas wie <Adam>ich <betont>liebe</betont> dich</Adam> zu notieren. Wichtig ist nur, dass die Elemente korrekt verschachtelt sind, d.h. in der umgekehrten Reihenfolge beendet werden, in der sie geöffnet werden, und dass die übrigen Regeln für Tags, Attribute, Wertzuweisungen und Kommentare eingehalten werden. Elemente können auch beliebig oft vorkommen. Einschränkende Regeln gibt es nur, wenn auf eine DTD Bezug genommen wird, in der solche Einschränkungen bei der Elementdefinition angegeben sind.

Gültigkeit eines XML-Dokuments / vollständiges XML-Dokument[Bearbeiten]

Ein gültiges XML-Dokument enthält zu Beginn eine XML-Deklaration und anschließend eine Dokumenttyp-Deklaration, in der entweder eine externe DTD-Datei oder intern die nötigen DTD-Regeln angegeben werden. Man kann also sagen, ein gültiges XML-Dokument ist wohlgeformt und außerdem noch validierbar, also gegen die in einer DTD definierten Regeln überprüfbar.

Beispiel: Beispiel einer gültigen und vollständigen XML-Datei:
<?xml version="1.0"?>
<!DOCTYPE quelle [
  <!ELEMENT quelle (adresse, beschreibung)>
  <!ELEMENT adresse (#PCDATA)>
  <!ELEMENT beschreibung (#PCDATA)>
]>
<quelle>
  <adresse>http://www.selfhtml.org/</adresse>
  <beschreibung>fast alles zum Thema HTML</beschreibung>
</quelle>

Das Beispiel startet mit der üblichen XML-Deklaration. Danach folgt eine Dokumenttyp-Deklaration mit internen DTD-Regeln. Genauso gut könnte an dieser Stelle auch eine Dokumenttyp-Deklaration stehen, die auf eine externe DTD verweist. Definiert wird im Beispiel ein Dokumenttyp namens quelle mit dem gleichnamigen Dokument-Element quelle und zwei davon abhängigen Elementen adresse und beschreibung. Zur genauen Syntax von DTD-Definitionen siehe Dokumenttyp-Definitionen (DTDs).

Im Anschluss an die Dokumenttyp-Deklaration folgen die Daten. Der Name des Dokumenttyps, im Beispiel quelle, muss gleich dem Namen des Dokument-Elements sein. Das Dokument-Element ist das äußerste Element in der Hierarchie, dem alle anderen Elemente untergeordnet sind. Im Beispiel ist der gesamte Datenbereich in <quelle>...</quelle> eingeschlossen.

Innerhalb des Dokument-Elements werden die Daten nach den Regeln notiert, die von der DTD vorgegeben werden. Im Beispiel wurden im DTD-Bereich die beiden Elemente adresse und beschreibung als innere Elemente des Dokument-Elements quelle definiert. Im Datenbereich spiegelt sich das wider durch die Notationen <adresse>...</adresse> und <beschreibung>...</beschreibung>. Der DTD-Bereich im Beispiel erlaubt nichts anderes als die einmalige Verwendung dieser beiden Elemente.

Das Beispiel erfüllt damit alle Kriterien einer gültigen und vollständigen XML-Datei.