XML (extensible markup language) ist das Format der Wahl, wenn es um plattform- und programm- unab­hängigen Daten­aus­tausch geht. Seine Vorteile und Anwendungs­möglich­keiten sind unter Offene Standards / XML bereits kurz beschrieben.

Es gibt eine Vielzahl von möglichen Einsatz­bereichen. Ich möchte hier zeigen, wie man XML einsetzen kann, um damit kleinere Webauftritte zu gestalten und zu verwalten. Konkret geht es dabei um meinen eigenen, also diesen hier ;-)

Die Hinter­gründe und die Überle­gungen, die zu der verwendeten Daten­struktur geführt haben sind unter Webseiten-Verwaltung detailierter beschrieben. Es soll hier aber bereits die Grund­struktur der XML-Datei gezeigt werden, die zur Admini­stration der Seiten des gesamten Webauf­tritts eingesetzt wird.

<?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="..."    ... />
      ...
  </sites>

</website>

Neben dem Element sites, dass als Unterelemente jeweils site - Elemente mit Informationen zu den einzelnen Webseiten enthält, gibt es die Elemente styles und menus, die vordefinierte Styles zu Farbe, Schriftarte, Abständen, ... bzw. die Informationen zu den Hauptmenü-Punkten enthalten.

Die Style-Schemen stehen separat zur Verfügung und können so in beliebig vielen Seiten verwendet werden. Sie sorgen für ein einheitliches Erscheinungsbild der Seiten. Da die Styles durch CSS definiert und in separaten .css - Dateien abgelegt werden, wird die korrekte Einbindung über reference - Elemente realisiert, die am Anfang in references zusammengefasst sind. Dort ist auch der Standort der Image-Datei für das einheitliche Logo hinterlegt.

Die inhaltliche Abhängigkeit der einzelnen Seiten untereinander spiegelt sich hier nicht in der Datenstruktur wider. Sie ergibt sich daraus, dass die einzelnen site - Elemente ein parent - Attribut haben. Dieses wird bei der Generierung der HTML-Seiten mit ausgewertet und ergibt dann die für das Menü und die Verlinkung untereinander erforderliche hierarchische Struktur.