XML Wohlgeformtheit
Anzeige Hier werben
Ein Dokument, welches die in den XML-Spezifikationen beschriebenen Regeln erfüllt, bezeichnet man als wohlgeformt (well-formed).
Wohlgeformtheit
ist die Voraussetzung, dass eine XML-Datei verarbeitet werden kann.
Prolog (optionaler Teil)
Der Prolog besteht aus der optionalen XML Deklaration, den optionalen Verarbeitungsanweisungen, aus Kommentaren und, wenn das XML File auch gültig sein soll, aus einer internen bzw. externen Document Type Definition (DTD).
XML Deklaration
Die erste Zeile des Prologs enthält die XML-Dekaration.
Sie besitzt folgende Form:
1 | <?xml version="1.0" encoding="ISO-8859-1" standalone="yes" ?>
|
Attribute der XML-Deklaration:
version: Gibt die verwendete XML Version anencoding: Gibt die Zeichencodierung an (Standard: "utf-8")standalone: Gibt an ob das XML mit einer externen DTD arbeitet (Standard: "no")
Verarbeitungsanweisungen (PI, processing instruction)
Gibt Informationen an bestimmte Anwendungen. Darf überall im Dokument, an Stellen wo auch normale Tags erlaubt wären, eingesetzt werden.
Beispiel:
1 | <?xml-stylesheet type="text/xsl" href="style.xsl" ?>
|
Kommentare
Müssen nicht im Prolog stehen und können überall außerhalb von Tags im XML Dokument verwendet werden
1 | <!-- Kommentar -->
|
Dokumenttyp Deklaration (DTD)
Die DTD ist eine Beschreibung eines XML-Dokuments.
Enterne DTD: steht direkt im Prolog
1
2
3
4
5
6 | <!DOCTYPE familie [
<!ELEMENT familie (person)+>
<!ELEMENT person (vorname, nachname)>
<!ELEMENT vorname (#PCDATA)>
<!ELEMENT nachname (#PCDATA)>
]>
|
nach dem Wort DOCTYPE muß der Name des Elternelements folgen
externe DTD: steht in externer DTD Datei
1 | <!DOCTYPE familie SYSTEM "name.dtd">
|
Rumpf (vorgeschriebener Teil)
Der Hauptteil (Rumpf) eines XML-Dokumentes gleicht einer hierarchischen Baumstruktur
1 2 3 4 5 6 7 8 9 10 | <familie>
<person>
<vorname>Max<vorname>
<nachname>Mustermann<nachname>
</person>
<person>
<vorname>Michaela<vorname>
<nachname>Mustermann<nachname>
</person>
</familie>
|
Ein XML-Dokument darf nur ein Dokumentelement haben (hier <familie>)
<person> ist das Elternelement von <vorname> und <nachname>
Epilog (optionaler Teil)
Der Epilog ist ein optionaler Teil und wird so gut wie nie verwendet. Er könnte Kommentare oder Verarbeitungsanweisungen enthalten.
Vollständige XML-Datei:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 | <?xml version="1.0" encoding="ISO-8859-1" ?>
<!DOCTYPE familie [
<!ELEMENT familie (person)+>
<!ELEMENT person (vorname, nachname)>
<!ELEMENT vorname (#PCDATA)>
<!ELEMENT nachname (#PCDATA)>
]>
<!-- bis hier sind alle Angaben optional -->
<familie>
<person>
<vorname>Max<vorname>
<nachname>Mustermann<nachname>
</person>
<person>
<vorname>Michaela<vorname>
<nachname>Mustermann<nachname>
</person>
</familie>
|
Regeln für wohlgeformte XML-Dokumente
Ein XML-Dokument:
- Darf nur ein Dokumentelement haben
- Muß aus mindestens einem Element bestehen
- Ein Element muss entweder ein Start- & Endtag haben (
<element>...</element>) oder als alleinstehender Tag ausgezeichnet sein (<element/>) - Die Start- & Endtags müssen korrekt verschachtelt sein. Das heißt, der Endtag muss in der selben Ebene wie der Starttag liegen.(Dies kann der Entwickler durch Einrückungen entsprechend der Ebenen verdeutlichen, am Aufbau des XML-Dokument ändert das jedoch nichts)
- Tag- und Attributnamen dürfen keine Leerzeichen enthalten (entgegen einer weit verbreiteten Meinung sind auch Großbuchstaben und sogar einige Sonderzeichen wie Umlaute erlaubt, der Tag-Name ist hierbei nicht wie bei SGML case-insensitive)
- Der Wert eines Attributes wird immer in Anführungszeichen geschrieben (
attr='value'oderattr="value")
Diese Seite kann von jedem registrierten Benutzer bearbeitet werden. Bisher haben 4 Personen an der Seite "XML Wohlgeformtheit" mitgewirkt.
Sie haben einen Fehler entdeckt oder möchten etwas ergänzen? Dann können Sie nach der Anmeldung "XML Wohlgeformtheit" hier bearbeiten.
-
arbeitet seit längerem als Webdesigner und vor allem -entwickler. Er ist Webmaster von Webmasterpro.de und leitet den Flashcounter-Service.
-
graphic, motion & web design - kernreaktor - staportal - mukitu
-
macht zur Zeit eine Ausbildung zum Fachinformatiker für Anwendungsentwicklung. Im Rahmen dieser Ausbildung lernt er vor allem den Umgang mit JAVA und Oracle. Als Nebenjob arbeitet Simon nun seit 6 Jahren bei einer kleinen Webdesignfirma wo er maßgeblich am Layout und der validen, technischen Umsetzung der Webseiten beteiligt ist.
-
David Danier arbeitet seit mehr als neun Jahren im Bereich Web Programmierung und ist unter anderem Geschäftsführer der Webagentur Team23 GbR, sowie Webmasterpro.de.



Wow, hast recht Daniel ^^
Also tags können tatsächlich auch großbuchstaben enthalten. ich denke mal, diese annahme kommt daher, dass im xhtml alle definierten tags kleingeschrieben definiert sind.
Re: Wow, hast recht Daniel ^^
Ich denke du meinst mich mit "Daniel"?
In XHTML sind Tags mit Großbuchstaben dementsprechend auch invalid, da XML eben case-sensitive ist. Denke gerade durch die Validierung wird deswegen die Meinung geschürt, dass in XML (und damit XML) Großbuchstaben verboten wären.
Re: Wow, hast recht Daniel ^^
Müsste dann nicht noch im Artikel geändert werden, dass es doch case-sensitive ist?
Re: Wow, hast recht Daniel ^^
Sollte aber evtl. einfach etwas schöner präsentiert werden. ;-)