Next: , Previous: Verzeichnisstruktur der Webseiten, Up: Die Webseiten


7.3 Die Datei webseite.xml

In der Datei webseite.xml wird die Struktur der Webseiten definiert, insbesondere die Menü-Struktur. Die aktuelle webseite.xml von Kármán sieht wie folgt aus:

     <!DOCTYPE webseite [
     <!ENTITY ausgaben SYSTEM "ausgaben.lst">
     ]>
     <webseite xmlns="http://www.karman-aachen.de/webseite"
               wurzel-url="http://www-users.rwth-aachen.de/karman/">
       <menue name="Aktuell" startseite="ja" accesskey="S"/>
       <menue name="Archiv" archiv="ja" accesskey="A"/>
       <menue name="Mitmachen" accesskey="M"/>
       <menue name="Veranstaltungen"
              url="http://www-users.rwth-aachen.de/karman/Veranstaltungen/"
              accesskey="V"/>
       <menue name="Ansprechpartner" accesskey="T"/>
       <menue name="Sport/Kármán-Ligen"
              url="http://karmanliga.karman-aachen.de"
              accesskey="L"/>
       <menue name="Impressum" accesskey="I">
         <submenue name="Hilfe" titel="Infos zu diesen Webseiten"
                   accesskey="H"/>
       </menue>
       &ausgaben;
     </webseite>

Im Prinzip ist der Aufbau dieser XML-Datei sehr einfach. Es gibt nur drei Elemente:

<webseite>
ist das Wurzel-Element und kann auch nur als solches vorkommen. Das notwendige Attribut wurzel-url gibt die URL zur Startseite an. (Man beachte, daß alle URLs in ZML mit einem Slash `/' enden müssen, wenn sie nicht auf Dateien verweisen.) Das Element <webseite> kann nur <menue>-Elemente als Kinder haben.
<menue>
Dieses Element definiert einen Hauptmenüpunkt auf den Webseiten. Das notwendige Attribut name gibt dabei den Namen der Snippet-Datei an, auf die der Menüpunkt später verweisen wird. Solche Namen müssen eindeutig sein und dürfen keine Punkte enthalten. Am besten beschränkt man sich auf die 2x26 Groß- und Kleinbuchstaben.

<menue>-Elemente können <submenue>-Elemente enthalten.

Ist ein url-Attribut vorhanden, verweist dieser Menüpunkt stattdessen auf diese URL. Auch in diesem Fall muß ein eindeutiger name angegeben werden, aber es gibt dann kein Snippet mit diesem Namen.

Dann gibt es noch das titel-Attribut, welches einen alternativen Namen für den Menüpunkt angibt. Das ist nur nötig, wenn die auf der Webseite angegebene Bezeichnung für den Menüpunkt vom Dateinamen der Snippet-Datei abweicht.

Das accesskey-Attribut bestimmt den HTML-Access-Key für diesen Menüeintrag. Man muß selber darauf achten, daß das nicht mit anderen Access-Keys auf der Seite kollidiert. Zur Zeit benutzen die Kármán-Seiten beispielsweise <F>, <N> und <P> für die Navigation innerhalb einer Ausgabe. Die sind in den XSLT-Dateien verdrahtet.

Schließlich ist es möglich, zwei Sonderseiten anzugeben (es darf immer nur jeweils eine geben):

Setzt man startseite auf `ja', wird die entsprechende Seite auf den Position der Wurzel-URL gelegt. Normalerweise würde ja das Snippet zu `Aktuell' auf die Position Aktuell/index.html gelegt. Das bedeutet, daß keine Webseite auf der Wurzel-URL zu finden ist. Dort müßte man also eine reine Weiterleitungsseite zu Aktuell/index.html installieren (so wie es z.B. Campuslife macht). Das ist unschön, daher gibt es dieses Attribut.

Setzt man archiv auf `ja', geht ZML davon aus, daß das dazugehörige Snippet ein Gesamtverzeichnis der Ausgaben und Artikel enthält. Dann wird dieses Snippet mehrfach generiert, einmal pro Kalender-Jahrgang der Zeitung. Die dabei entstehenden Dateinamen sind (relativ zur Wurzel-URL)

          Archiv/index.html
          Archiv/Archiv-2006.html
          Archiv/Archiv-2005.html
          Archiv/Archiv-2004.html
     

Dabei gehe ich von name="Archiv" aus (wie im obigen Beispiel). Man beachte außerdem, daß der Inhalt von index.html und Archiv-2006.html identisch wären, d.h. per Default sieht man immer zuerst das neueste Jahr im Archiv.

<submenue>
definiert einen Untermenü-Punkt der Webseite. Die Attribute name, url, titel und accesskey haben dieselbe Bedeutung wie bei <menue>. Andere Attribute gibt es nicht. <submenue>-Elemente sind immer leer.