SELFHTML/Navigationshilfen XML/DTDs Regeln für XML-Dateien |
Wohlgeformtheit, Gültigkeit und Vollständigkeit einer XML-Datei | |
Wohlgeformtheit eines XML-Dokuments |
|
Der Begriff "Wohlgeformtheit", der Ihnen im Zusammenhang mit XML immer wieder begegnen wird, bedeutet, dass eine Datei die Regeln von XML korrekt einhält.
<?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:
<Dialog>...</Dialog>
, <Adam>...</Adam>
und <Eva>...</Eva>
)<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.
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.
Ein gültiges XML-Dokument enthält zu Beginn eine 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.
<?xml version="1.0"?> <!DOCTYPE quelle [ <!ELEMENT quelle (adresse, beschreibung)> <!ELEMENT adresse (#PCDATA)> <!ELEMENT beschreibung (#PCDATA)> ]> <quelle> <adresse>http://www.willy-online.de/</adresse> <beschreibung>alles zum wichtigsten Teil am Manne</beschreibung> </quelle> |
Das Beispiel startet mit der üblichen XML-Deklaration. Danach folgt eine Dokumenttyp-Deklaration mit internen DTD-Regeln. Genausogut 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 wieder 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.
Baumstruktur und Knoten einer XML-Datei | |
Regeln für Tags, Attribute, Wertzuweisungen und Kommentare | |
SELFHTML/Navigationshilfen XML/DTDs Regeln für XML-Dateien |
© 2001 selfhtml@teamone.de