studyklar
IProg · Skript 1 · Abschnitt 10

XML: wohlgeformt und valide

HTML sagt, wie etwas aussieht; XML sagt, was etwas ist. Hier steht, wie ein XML-Dokument aufgebaut ist und welche Regeln es einhalten muss. Rechts steht zu jeder Regel ein fehlerhaftes Stück und seine Verbesserung. Mit Weiter geht es Schritt für Schritt voran. Ein Klick auf einen Schritt springt direkt dorthin.

Worum es geht

Skript 01b, Folien 26 bis 29: (X)HTML gegen XML, Regeln für XML-Dokumente, Elemente und Attribute, Eigenschaften von XML. Dazu die Regeln für XHTML von Folie 4.

Programme sollen Daten untereinander austauschen. Die Fragen dieses Abschnitts: Was kann XML, was HTML nicht kann? Woraus besteht ein XML-Dokument? Und wann ist es wohlgeformt, wann valide?

So gehen wir vor:

  1. Dieselben Daten in HTML und in XML vergleichen.
  2. Elemente und Attribute.
  3. Die Regeln für wohlgeformtes XML, je mit einem Fehlerbeispiel.
  4. Was valide zusätzlich heißt.
  5. Eine Klausurfrage zum Üben.

HTML mischt Struktur und Darstellung

  • Tags mit vorgegebener Formatierungsbedeutung, beeinflussbar über CSS.
  • Keine Information über Inhalte.

Oben stehen zwei Studierende als HTML, so wie auf Folie 26. Die Tags <h1>, <p> und <br/> sagen nur, wie etwas erscheint: Überschrift, Absatz, Zeilenumbruch. Ihr Aussehen kann man mit CSS ändern.

Was die Zahl 12345 bedeutet, steht nirgends. Ein Mensch errät, dass es eine Matrikelnummer ist. Ein Programm kann das nicht.

XML beschreibt Struktur und Daten

  • XML kann Struktur und Daten beschreiben.
  • Erlaubt maschinelle Verarbeitung.

In XML erfindet man die Tags selbst, passend zu den Daten: <Student>, <Fach>, <Gruppe>. Jedes Tag sagt, was sein Inhalt ist. Darum heißt XML Extensible, erweiterbar.

Ein Programm findet jetzt zu jedem Studenten sein Fach und seine Gruppe. Das meint die Folie mit „erlaubt maschinelle Verarbeitung“. Wie es aussieht, sagt XML nicht. Die erste Zeile (Prolog) nennt die XML-Version; Schritt 5 erklärt sie.

Noch 12 Schritte bis zum Ergebnis
Den ganzen Lösungsweg sehen Studierende und Lehrende der HS KL. Registriere dich mit deiner Adresse @stud.hs-kl.de oder @hs-kl.de, dann geht es hier direkt weiter.

Abbildung 1(X)HTML gegen XML

Darstellung oder Bedeutung

<h1>Studierende</h1><p>12345<br/>Fach: IP - A</p><p>54321<br/>Fach: IP - B</p>
<?xml version="1.0" encoding="UTF-8"?><Studierende>  <Student matrNr="12345">    <Fach>IP</Fach>    <Gruppe>A</Gruppe>  </Student>  <Student matrNr="54321">    <Fach>IP</Fach>    <Gruppe>B</Gruppe>  </Student></Studierende>
Legendegerade gemeintXML und seine Regeln.