Die Kurzbezeichnung XML steht für eXtensible Markup Language und bezeichnet einen Standard zur Abspeicherung von Daten, der für »Mensch und Maschine« gleichermaßen geeignet ist. Zugleich ist er auch das Format der Wahl, wenn es um den plattform- und programm- unabhängigen Austausch von Daten geht.

Kurzcharakteristik

XML

  • legt eine grundlegende Datenstruktur fest und ermöglicht dadurch das automatisierte Lesen und Schreiben der Daten
  • bietet einen flexiblen Mechanismus, der an die konkreten Anforderungen der jeweiligen Aufgabenstellung angepasst werden kann
  • ist die Basis für die Entwicklung weiterer Standards, z. B. SVG, XMLSchema, XSLT, ...
  • kann vielfältig eingesetzt werden: von der Abspeicherung von Konfigurationsdaten eines Programms über die Definition von Bedienoberflächen mit XML-Layoutdateien bis hin zur (Re-) Definition von HTML

Daraus ergibt sich eine Vielzahl von möglichen Einsatzbereichen, die im letzten Anstrich schon mit angedeutet sind. Aus dem ersten Anstrich ergibt sich ein weiteres interessantes Merkmal für den Einsatz: die Möglichkeit, in XML abgespeicherten Daten automatisiert in eine andere, ebenfalls logisch und strukturiert aufgebaute Form zu transformieren. Damit können einmal erfasste Daten unterschiedlich präsentiert bzw. weiter gegeben werden.

top ↑

Einsatzbeispiel: Internet-Auftritt

Ich möchte dazu konkret zeigen, wie die gerade skizzierten Möglichkeiten von XML verwendet werden können, um kleinere Internet-Auftritte zu gestalten. Diese haben nur eine »Handvoll« von Webseiten, so dass sich der Einsatz von Content-Management-Systemen nicht lohnen würde. Andererseits ergibt sich eine Menge an zeitraubender Arbeit, wenn man eine gute Verlinkung und Navigation für diese Seiten »von Hand« kodieren müsste. Hier bietet die Arbeit mit XML einen Ausweg. Dadurch lässt sich neben der Trennung von Inhalt und Form, die durch den Einsatz von CSS (Cascaded Style-Sheets) bereits möglich ist, auch die Kodierung einer korrekten Navigation (und Verlinkung) zwischen den Webseiten von der Kodierung des eigentlichen Inhalts der einzelnen Seiten trennen.

Dazu gibt es neben XML-Dateien für die einzelnen Webseiten eine weitere XML-Datei, die das Inhaltsverzeichnis für den gesamten Web-Auftritt darstellt. Sie bildet die Grundlage für die inhaltliche (logische) Einordnung der einzelnen Seiten innerhalb des Web-Auftritts und mit ihrer Hilfe lassen sich auch die Navigationselemente auf den HTML-Seiten automatisch generieren. Ihre Grundstruktur wird im Folgenden kurz beschrieben.

top ↑

Website-XML

<?xml version="1.0" encoding="utf-8"?>
<!-- Informationen zur Webseitenverwaltung
     (Website: finos.de) -->

<website>

  <references>
    <reference xml:id="..."    ... />
      ...
  </references>

  <!-- verwendete Format-Styles -->
  <styles>
    <style xml:id="..."    ... />
      ...
  </styles>

  <!-- Hauptmenü-Punkte -->
  <menus>
    <menu site="..."    ... />
      ...
  </menus>

  <!-- Einzelseiten -->
  <sites>
    <site xml:id="..."         document="..."
          parent="..."         style="..."
          menu-title="..."     ... />
      ...
  </sites>

</website>	

Der formale Aufbau dieser XML-Datei ist sehr einfach: es gibt vier Container-Elemente, die jeweils gleichartige Unterelemente zusammenfassen. Diese haben folgende Funktionen:

  • references - Definition von Ablageorten für einzelne Resourcen-Dateien, wie zum Beispiel die CSS- oder Bilddateien
  • styles - Festlegung verschiedener Style-Sheets
  • menus - Definition der Hauptmenüpunkte der Seitennavigation
  • sites - Daten zur Verknüpfung der einzelnen Webseiten untereinander

Durch diese Grundstruktur stehen die style - Elemente unabhängig zur Verfügung und können für beliebig viele Seiten als deren Style gesetzt werden. Dadurch ergibt sich für diese ein einheitliches Erscheinungsbild. Die Styles werden durch .css - Dateien definiert, zu deren korrekter Einbindung reference - Elemente dienen, die am Anfang in references zusammengefasst sind. Auf diese Weise ist u. a. auch der Standort der Image-Datei für das einheitliche Logo hinterlegt.

Bei den menu - Elementen wird über das site - Attribut die ID der Seite angegeben, die für diesen Hauptmenüpunt angezeigt werden soll. Hier gibt es bei mir aktuell genau vier Elemente für Start, Kenntnisse, Einblicke und Download.

Die site - Elemente haben jeweils eine eigene ID, die gleichzeitig auch der Name der zugehörigen (zu generierenden) .html-Datei ist. Das ist wichtig für eine automatische Verlinkung. Mit dem bei dem document - Attribut angegebenem Namen wird die Verknüpfung zu der zugehörigen XML-Datei für die Webseite realisiert, in der deren Inhalt kodiert ist. Wie daraus die konkrete HTML-Seite erzeugt wird, ist unter Webseiten-Generierung genauer beschrieben. Mit dem style - Attribut wird festgelegt, welches CSS für diese Seite gelten soll, und mit menu-title wird angegeben, unter welchem Eintrag die Seite im Navigationsmenü aufgeführt werden soll.

Die inhaltliche Abhängigkeit der Seiten untereinander spiegelt sich nicht in der XML-Struktur dieser Datei wider. Sie ergibt sich aus dem parent - Attribut, das alle Seiten haben. Dieses wird bei der Generierung der HTML-Seiten ausgewertet und ergibt die Einordnung der Seite innerhalb einer hierarchischen Struktur. Als Einstiegspunkte dienen dabei jeweils die Seiten, deren ID in den menu - Elementen angegeben sind.