Das erste XML Dokument

Lernziel

In dieser Station erstellen Sie Ihr erstes XML-Dokument und lernen so die Syntax von XML kennen. Außerdem wissen Sie nach der Station mehr darüber, wie Sie einen ersten Syntaxcheck durchführen.

Handlungsanweisungen

Aufgaben
  1. Erstellen Sie ein XML-Dokument für eine CD-Datenbank. Enthalten sein sollen: Interpret, Titel, Verlag, Genre, Preis.

  2. Tragen Sie drei CDs in das XML-Dokument ein. Testen Sie, ob die Syntax richtig ist.

  3. Erweiteren Sie das XML-Dokument um folgendes Element: Bandinformationen. Diese soll wiederum zwei Informationen enthalten: Gründungsjahr und Anzahl der Bandmitglieder.

  4. Eine neue CD wird in die Datenbank aufgenommen: Die “Österreicher Schürzenjäger” mit dem Song “Schöne Küchenmaid” aus dem Verlag “A Stückl Heimat”, Genre “HipHop”. Das gute Stück soll 20 € kosten. Was ist zu beachten?

  5. Optional: Entwickeln Sie ein XML-Dokument für einen Buchbestand. Welche Elemente könnten für ein Buch mit in die Datenbank hineingenommen werden. Füllen Sie die Datenbank dann mit drei Büchern.

  6. Fehler im Quellcode! Finden und beheben Sie die Fehler!

    <?xml version="1.0" encoding="UTF-8" ?>
    <adresse>
     <name>
      <nachname>Schulze</nachname
      <vorname>Herbert</vorname>
     <strasse>Rundweg 10</strasse>
     <postanschrift>
      <plz>12345</plz>
      <wohnort>Stadthäuschen/<wohnort>
     <postanschrift>
     <email >herbert@schulze.de</email>
    </adresse>
    

Der Aufbau eines XML-Dokuments


../../_images/prolog.png

Ein XML-Dokument besteht aus einem sogenannten Prolog und dem XML-Inhalt.

Ein Adressenbeispiel

Ziel ist es, eine kleine Adressdatenbank zu bauen. Also die Adressen in einer XML-Datei zu speichern. Die Struktur einer Adresse könnte so aussehen:

../../_images/brief.png

Adressen und XML Ein möglicher Code für die Adressen wäre:

<?xml version="1.0" encoding="UTF-8"?>
<adresse>
  <!-- Jetzt kommt der Name-->
  <name>
    <nachname>Schulze</nachname>
    <vorname>Herbert</vorname>
  </name>
  <!-- Jetzt kommt die Strasse-->
  <strasse>Rundweg 10</strasse>
  <postanschrift>
  <plz>12345</plz>
  <wohnort>Stadthausen</wohnort>
  </postanschrift>
  <email>herbert@schulze.de</email>
</adresse>

Zur Erklärung:

<?xml version="1.0" encoding="UTF-8" ?>

Der Prolog definiert hier in seiner einfachsten Form, welche XML-Version verwendet wird und welcher Zeichensatz für dieses Dokument gilt.

<adresse> ... </adresse>

Das Wurzelelement umschließt alle anderen Elemente.

<!-- Kommentar -->

Wird von jeder Art Parser ignoriert…

Adressammlung

Gut, wir haben jetzt eine Adresse in eine XML-Form gebracht. Wie sieht es mit mehreren Adressen aus?

Sie sehen jetzt das Element adressensammlung, das mehrere Adressen einschließt. So können Sie beliebig viele Adressen in adressensammlung speichern. adressensammlung ist nun das Root-Element.

Allgemeine Regeln (FAQ)

Frage

Wie werden die XML-Dokumente gespeichert?

Antwort

Mit der Endung .xml!

Frage

Wird Groß-/Kleinschreibung unterschieden?

Antwort

Ja.

Frage

Muss jedes Element geschlossen werden?

Antwort

Ja (Leere Elemente haben eine besondere Syntax).

Beipiel:

<start>Inhalt</start>.
<name />

Für Elemente ohne Inhalt gilt die verkürzte Schreibweise: Attributwerte sind in Anführungszeichen zu setzen.

Verschachteln von Elementen

Wie verschachtelte ich Elemente?

FALSCH:

<start><ende>Inhalt</start></ende>

RICHTIG:

<start><ende>Inhalt</ende></start>

Was sind wohlgeformte XML-Dokumente?

Werden diese Regeln eingehalten, nennt man das Dokument wohlgeformt (well formed).

Was bedeutet nun Encoding?

Schauen wir uns nocheinmal die folgende Zeile etwas genauer an:

<?xml version="1.0" encoding="UTF-8" ?>

Mit dem Attribut encoding legen wir den Zeichensatz für das XML-Dokument fest. “UTF-8” bedeutet, dass ein Zeichensatz verwendet wird, der alle Zeichen aller Sprachen enthält (ca. 65000). Deutsche Umlaute wie “ö” oder “ü” werden in “UTF-8” besonders kodiert.

Nehmen wir also wieder unseren Jörg Schütze. XML-Codiert müsste sein Name nun so aussehen:

J&#246;rg Sch&#252;tze

Einige andere Kodierungen:

Ä = &#196;
Ö = &#214;
Ü = &#220;
ä = &#228;
ö = &#246;
ü = &#252;
ß= &#223;
€ = &#8364;
[Leerzeichen] = &#160;

Eine andere Möglichkeit besteht darin, einen anderen Zeichensatz zu wählen: “ISO-8859-1”. In diesem sind die Sonderzeichen westeuropäischer Sprachen enthalten, die nicht kodiert werden müssen.

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

Note

Der einfachste Weg:

Speichern Sie das XML-Dokument mit der Codierung UTF8. Dann können Sie auch normale Umlaute benutzen, ohne sie zu umschreiben.

Syntax-Check

Wie prüfe ich nun die Syntax des Dokuments?

  1. Browser der aktuellen Generation können XML-Dokumente darstellen. Sie müssen das XML-Dokument einladen. Es wird dann der XML-Baum dargestellt.

  2. im XML-Spy: Sie können auch ihre Dokumente im XML-Spy prüfen lassen. Den Sytax-Check bewerkstelligen Sie, indem Sie auf das folgende Bild im XML-Spy klicken. Sie können dabei auf Gültigkeit und Wohlgeformtheit ihrer aktuelle XML-Dokumente testen. Testen Sie zunächst nur auf Wohlgeformheit. Gültig werden die Dokumente erst mit einer korrekten DTD,

die sie im nächsten Kapitel kennenlernen werden. Hier das Icon: