XML Einführung In XML wird die Zukunft des modernen Webpublishings gesehen, was macht XML so besonders. Diese Einführung gibt einen Einblick in die Sprache XML.

XML ist aus dem SGML (Standard Generalized Markup Language) entstanden. Diese wurde bereits in den 80igern von IBM zum größten Teil entwickelt. SGML gilt als Muttersprache aller Markup Sprachen, so auch von XML. HTML ist eine winzige Definition, die aus dem SGML Standard entsprungen ist. Die Befehlswelt von HTML ist beschränkt. Es gibt lediglich eine begrenzte Anzahl von formatierenden Befehlen.

XML hat eine komplett andere Datenstruktur. In XML gibt es beschreibende Befehle. Die Befehle dienen primär der Datenspeicherung und Datenbeschreibung.
Die Formatierung des Inhaltes wird von Stylesheets und anderen Formatierungssprachen wie XSL und XSLT bestimmt.
Ab dem Internet Explorer 5 ist XML integriert. Doch erst mit der Version 6 wurden alle Standards implementiert.
Um ein XML-Dokument zu erstellen benötigt man nur einen Texteditior, wie Notepad. Das erste XML-Dokument, welches wir erstellen wollen sieht so aus:

<?xml version="1.0" encoding="ISO-8859-1" ?>
<artikel>
<titel>Der Titel</titel>
<teaser>Der Teaser, eine kurze Beschreibung</teaser>
<inhalt>Der Artikelinhalt an sich</inhalt>
</artikel>

Der Code und die Schreibweise hat kaum Unterschiede zu HTML, auf den ersten Blick. In der ersten Zeile des Codes wird die XML Version spezifiziert, also die XML Version mit welcher der Inhalt behandelt oder geparsed werden soll. Zudem ist das Attribut encoding gesetzt. Es gibt den Zeichensatz mit welchem das Dokument behandelt werden soll.

Weitere Zeichensätze:

encoding="UTF-8"
internationaler Zeichensatz mit 8 Bit Zeichenbreite

encoding="UTF-16"
internationaler Zeichensatz mit 16 Bit Zeichenbreite

encoding="ISO-8859-1"
ISO-Zeichensatz für westeuropäische Sprachen

Wie an der Struktur des Dokumentes erkennbar wird, ist eine feste Baumstruktur vorhanden. Sie beschreibt die Verschachtelung der einzelnen Befehle. Das sogenannte Wurzelelement ist <artikel> </artikel>. Es ist das erste Element, welches den kompletten Datensatz umringt. Diesem Wurzelelement sind weitere drei Elemente untergeordnet.
Speichern Sie dieses Dokument einfach einmal als versuch.xml ab, und schauen Sie sich das ganze mal mit dem InternetExplorer an. Das Ergebnis wird ernüchternd sein.

Die Ausgabe von versuch.xml
Die Ausgabe von versuch.xml


In gewisser Hinsicht können Sie sich jedoch freuen, da das XML Dokument wohlgeformt ist, und das auf den ersten Versuch.

Doch was bedeutet eigentlich, das Dokument ist "wohlgeformt"?


Dies hängt von der korrekten Syntax ab. Hierbei müssen folgende Regeln beachtet werden.

1. XML Deklaration


Die Deklaration des XML Standards am Anfang des Dokumentes ist unabdingbar.
Sie muss immer vorhanden sein.

2. Wurzelelemet


Für ein wohlgeformtes Dokument muss auf jeden Fall ein Wurzelelement, wie in unserem Beispiel "<artikel> </artikel>" vorhanden sein. Dieses umschließt alle untergeordneten Elemente.

3. Richtige Schreibweise

Ein Tippfehler ist schnell geschehen, und wird von XML hart bestraft. Achten Sie darauf, das das öffnende Element genauso geschrieben wird wie das schließende.

4. Attributwerte


Im Gegensatz zu HTML müssen Attribute in "" stehen. Ein Beispiel:

<artikel id=2> <!-- Ungültig -->

<artikel id="2"> <!-- Gültig -->

5. Leere Elemente


Es gibt Tags die kein schließenden Tag besitzen, wie z.B. den <hr> Tag. XML verlangt jedoch immer ein schließenden Tag. Um dies zu erreichen wird von das Ende des jeweiligen Tag ein / gesetzt.

Beispiel:
<linie> <!-- Ungültig -->


<linie /> <!-- Gültig -->


6. Elementnamen


Mit XML kann man frei eigene Tags erstellen, jedoch müssen diese Elementnamen einige Regeln befolgen.
Sie dürfen nicht mit der Zeichenkette XML beginnen, nicht komplett aus Ziffern bestehen, oder mit Ziffern beginnen, und keine Leerzeichen enthalten.
Einige Beispiele:

<xml-artikel> <!-- Ungültig -->

<artikel-xml> <!-- Gültig -->

<123artikel> <!-- Ungültig -->


<artikel123> <!-- Gültig -->

<artikel 12> <!-- Ungültig -->

<artikel-12> <!-- Gültig -->

7. Groß und Kleinschreibung


Besonders wichtig ist, das XML einen Unterschied zwischen Groß und Kleinschreibung macht.
<Teaser> ist nicht gleich </teaser>. Es sind zwei völlig unterschiedliche Elemente.

8. Kommentare

Sie können wie in HTML Kommentare verwenden, und so die XML Dokumete und DTDs leichter verständlich machen. Ein Kommentar beginnt mit <!-- und endet mit -->. Alles was innerhalb der Kommentare steht wird nicht interpretiert.


Doch trotz all dieser Regeln ist ein Dokument noch nicht gültig. Die Gültigkeit besagt, das die verwendeten Elemente definiert sein müssen. XML bzw. der Parser muss "wissen" was für Elemente verwendet werden, und welchen Inhalt bzw. welche Attribute diese Elemente haben können.
Diese Angaben werden in der DTD (Document Type Definition) gemacht.

Es gibt zwei Typen von DTDs. Eine interne DTD steht im selben XML Dokument, und wird auch nur auf dieses angewendet. Diese Art der DTD wird vor allem bei kleinen Dokumenten verwendet. Sollen jedoch viele Dokumente mit einer DTD bearbeitet werden, dann ist eine Auslagerung der DTD empfehlenswert.
Zunächst wollen wir eine kleine interne DTD erstellen.

Wir greifen wieder auf unser erstes Beispiel zurück, dieses mal jedoch mit der DTD:

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

<!DOCTYPE artikel [
<!ELEMENT artikel (titel, teaser, inhalt)>
<!ELEMENT titel (#PCDATA)>
<!ELEMENT teaser (#PCDATA)>
<!ELEMENT inhalt (#PCDATA)>
]>


<artikel>
<titel>Der Titel</titel>
<teaser>Der Teaser, eine kurze Beschreibung</teaser>
<inhalt>Der Artikelinhalt an sich</inhalt>
</artikel>


Wenn Sie diesen Code so ansehen entdecken Sie die DTD bestimmt sehr schnell.
Die gesamte DTD wird von <!DOCTYPE artikel [ ]> umschlossen. In ihr wird der Name der DTD bestimmt, in diesem Fall ist es artikel. Als erstes Element muss immer das Wurzelelement definiert werden. Ein Element wird mit <!ELEMENT > definiert.
Die Definition erfolgt einem festen Schema:

<!ELEMENT Name (Inhalt)>

Nach ihr kommt der Name des Elementes und ihm untergeordnete Elemente.
Die Definition des Wurzelelementes artikel ist in dieser Zeile der DTD:

<!ELEMENT artikel (titel, teaser, inhalt)>

Der Inhalt des Wurzelelemetes besteht (nur) aus weiteren Elementen, diese werden in der Klammer, jeweils mit einem Komma getrennt, angegeben.

Die einzelnen Unterelmente werden so definiert:

<!ELEMENT titel (#PCDATA)>

Das #PCDATA gibt an, das der Inhalt des Elementes jeder beliebige Text oder Code sein kann, er darf jedoch keine weiteren Unterelemente enthalten. Das Element titel hat keine untergeordneten Elemente.

<titel><fett>Der Titel</fett></titel>

Ist ungültig, da dem Element Titel nicht das Element <fett> untergeordnet wurde.
Doch auch von diesem Ergebnis werden Sie enttäuscht sein, da es immer noch keinen formatierten Artikel darstellt. Das System ist jetzt jedoch soweit, das eine komplett gültiges und wohlgeformtes XML Dokument vorhanden ist.

Die formatierende Ausgabe kann nun in Angriff genommen werden!

Bookmark setzen... These icons link to social bookmarking sites where readers can share and discover new web pages.
  • Print
  • Digg
  • Sphinn
  • del.icio.us
  • Facebook
  • Mixx
  • Bloglines
  • MisterWong
  • MySpace
  • Reddit
  • SEOigg
  • Technorati
  • TwitThis
  • Y!GG
  • Google Bookmarks

Keine weiterführenden Beiträge.