XML-Know How

Erste XML-Dateien erstellen

Das Rezept, das wir auf den Seiten 23 und 24 in Word und InDesign betrachtet haben, könnte in XML etwa so aussehen:

Beispiel:

<ueberschrift2>Zutaten:</ueberschrift2>

<absatz>1 frisches Huhn</absatz>

Vergleichbar – nur mit anderen, international festgelegten Tag-Namen, sieht die entsprechende Passage in HTML aus:

<h2>Zutaten</h2>

<p>1 frisches Huhn</p>

Datenelemente vs. Containerelemente

In der XML-Terminologie nennt man ein Paar von Anfang- und Endetags mit allem, was dazwischen steht, ein Element. Ein Element, das ausschließlich Text beinhaltet, wird als Datenelement bezeichnet. Doch es gibt auch andere Elementarten, beispielsweise solche, die keinen Text, sondern nur weitere Elemente enthalten. Solche Elemente werden Containerelemente genannt. Sie beschreiben maßgeblich den hierarchischen Aufbau eines Dokuments.

Beispiel:

<kochbuch>

<vorwort>

<ueberschrift>Überschrift des Vorworts</ueberschrift>

<absatz>Das ist der Text des 1. Absatzes.</absatz>

<absatz>Das ist der Text des 2. Absatzes.</absatz>

</vorwort>

<kapitel>

<ueberschrift1>Huhn mit Rosmarinkartoffeln </ueberschrift>

<ueberschrift2>Zutaten:</ueberschrift2>

<absatz>1 frisches Huhn</absatz>

(…)

<ueberschrift1>Selleriesuppe</ueberschrift>

<ueberschrift2>Zutaten:</ueberschrift2>

<absatz>1 Bund Sellerie</absatz>

(…)

</kapitel>

(…)

</kochbuch>

In diesem Beispiel sind <kochbuch>, <vorwort> und <kapitel> Containerelemente, <überschrift1>, <ueberschrift2> und <absatz> Datenelemente. Durch die hierarchische Schachtelung der Elemente wird eine Baumstruktur abgebildet, die der eines Stammbaums enspricht. Auch die Terminologie folgt hier der eines Stammbaumes: In unserem Beispiel ist <kochbuch> das sogenannte Elternelement von <vorwort> und <kapitel>, diese wiederum sind jeweils Elternelemente von <ueberschrift1>, <ueberschrift2> und <absatz>, die zueinander Geschwisterelemente sind. Auf die Navigation in XML-Dokumenten anhand eben dieser Abhängigkeiten wird im Kapitel über XPath ausführlich eingegangen. Doch schon jetzt lässt sich erkennen, dass leicht Regeln zu formulieren sind wie die folgenden:

  • Ein Absatz innerhalb des Vorworts soll anders formatiert werden als ein Absatz innerhalb eines Kapitels.
  • Der erste Absatz nach einer Überschrift soll anders formatiert werden als die anderen Absätze.
  • Zeige mir (bei einer Textsuche) nur Fundstellen, die innerhalb eines Kapitels, nicht aber solche, die im Vorspann stehen.

Die Struktur im Text explizit codiert zu haben, leistet also weit mehr, als die Typographie zu automatisieren. Bildet man die gesamte Struktur eines Textes in XML ab, so ist der Text für alle Zweitverwertungen vorbereitet.

Automatische Formatierung

Die Tags sind im späteren Satzbild nicht mehr zu sehen, denn sie werden nur für die Verarbeitung der Daten, z. B. zur Formatierung, benötigt. Hierzu findet eine Zuordnung von Tags zu Formatierungen statt. Eine solche Zuordnung könnte in etwa lauten: »Das Element <ueberschrift1> soll als Absatzformat umgesetzt werden, in 14pt Schriftgröße, mit zwei Leerzeilen davor und einer Leerzeile danach«. Eine Sammlung solcher Zuordnungen wird – je nach Programm – häufig als Template oder als Stylesheet bezeichnet. Auch die gängigen Layoutprogramme wie z. B. Adobe InDesign lassen sich über solche Templates steuern.