Eine E-Mail schreiben schreiben - Prinzipien der Sights-Struktur
nach oben:Sights||nächste:Markup-Beispiel

Technik der Präsenz - Baumstrukturen

Die gesamte Präsenz liegt in einer große XML-Datei vor. Sie wird von kleineren Skripten "zerhackt". Dieser Prozess wird auf der Seite Informationsverarbeitung beschrieben.
Diese Datei organisiert sich als Baumstruktur. Dies bedeute in einer ganz generellen Weise, dass Daten so angeordnet werden, das sie in einem eindeutigen Abhängigkeitsverhältnis zueinander stehen (ein Ast geht immer von einem Stamm ab) und in einer eindeutigen Reihenfolge angeordnet sind (es ist immer klar, welcher Ast höher als ein anderer am Stamm sitzt).

Diese dem Standard XML zu Grunde liegenden theoretischen Prinzipien nutzt Sights. Konkret sind hier die "Äste" die einzelnen Seiten. Aus ihrer Abhängigkeit wird ihre Zugehörigkeit zu einer konkreten Unterbereich dieser Homepage geschlossen. Aus ihrer Reihenfolge aufeinander wird das obere Navigationsmenü erzeugt.

Seiten als logische Grundeinheiten oben

Zum Verständnis des Quellcodes sollte man sich vorab mit den Prinzipien einer Markupsprache beschäftigt haben. Das Folgende ist eher an Leser gerichtet, die bereits Erfahrungen mit XML und Schemasprachen haben und sich darüber hinaus mit HTML auskennen.

Das logische Element Seite, gekennzeichnet durch das XML-Element <seite>, dient hier zwei Zwecken: als Kontainer für die Inhalte, die hier einfach als XHTML vorliegen und zugleich implizit als Beschreibung der Struktur der Präsenz.
Dazu sind die einzelnen Bestandteile der Präsenz, die Seiten, in größere logische Einheiten zusammengefasst: die Sektionen. Diese Seite etwa ist in der Sektion "schreiben". Sie hat mehrere Nachbarn, etwa "Startseite", "NW-Artikel" und so fort. Aus diese Nebeneinander der Bestandteile generieren die Skripte die Navigationsleiste. Diesen Mechanismus beschreibt die Seite Link-Mechanismen eingehender.

Aus dieser Datenhaltung in einer strukturierten XML-Datei ergeben sich Vorteile. Wird die Struktur umgestellt, also etwa eine Seite in eine ander Sektion verschoben, muss diese Änderung nicht von Hand in den Navigationsleisten aller Seiten übernommen werden. Das Skript erzeugt automatisch entsprechende Navigationensleisten und Link-Möglichkeiten.

Dies ist der zentrale Mechanismus der Skripte. Seither haben sich darum einige weiter praktische Funktionen gruppiert. Etwa die flexible Zuteilung von Dateinamen. Die Inhalt - also der Text in einem <seite>-Element - wird nicht mit seinem Dateinamen identifiziert. Jede Seite verfügt über einen eindeutigen Identifikationsnamen. Der konkrete Name der Datei, in die die Inhalte geschrieben werden, wird zusätzlich bestimmt. Ein Vorteil ergibt sich darauf vor allem für das Verlinken: Änderte sich nämlich ein Dateiname, ergab sich ein gebrochener Link. Schließlich kann das <a>-Element nur auf eine von Hand fest eingegebene Datei verweisen. Wird allerdings auf die eindeutige ID verwiesen und diese während der Verarbeitung erst zu einem konkreten Dateiname übertragen, umgeht man das Risiko ins Leere verweisender Links.

Ergänzende Daten oben

Als Grundelement einer in diesem Markup vorgehaltenen Web-Präsenz werden Seiten verwendet. Diese sind zu Sektionen zusammengefasst. Diese wiederum sind auf der höchsten Ebene als "Präsenz", also als kompletter Web-Auftritt, geordnet.
Zudem ist es möglich unterhalb der Ebene der Seiten weitere Seiten unterzuordnen. So ergeben sich insgesamt vier logische Ebenen: Präsenz, Sektion, Seite und untergeordnete Seite. Auf jeder dieser Ebenen sind jeweils neben den Inhalten - bei den Seiten sind dies XHTML-strukturierte Text, bei der Präsenz und Sektion die jeweiligen untergeordneten Strukturen -, weitere Daten beigefügt.

Diese Daten sind gewissermaßen Meta-Daten, also Daten über die konkreten Inhaltsdaten. Diese sind nach drei unterschiedlichen Aspekten der Weiterverarbeitung der Daten geordnet: Zum einen finden sich "echte" Meta-Daten. Diese umfassen etwa Erstellungsdaten, Beschreibung des Inhalts und Titel. Für die konkrete Annotation wird hier der Dublin-Core-Standard verwendet, der sich als ausreichend für die Zwecke dieses Markups erwiesen hat.

Zum Zweiten werden Inhalte formuliert, die sich auf das Dateisystem beziehen. Für eine Sektion etwa wird in diesem Aspekt der Metadaten ein Unterpfad der Domäne angegeben. Drittens können für jeden Datenbestand Angaben zur Verarbeitung der Inhalte gemacht werden. Einzelne Seiten können beispielsweise von ihrer Aufnahme in eine Navigationsleiste ausgeschlossen werden. Außerdem lassen sich unter dem Strukturaspekt "Serialisierung" - diese Bezeichnung bezieht sich auf die serielle Verarbeitung der Seiten - auch zusätzlich Angaben zur Formatierung mittels CSS machen.

Einen exemplarischen Einblick in die hier beschriebene Struktur gibt die Seite Markup-Beispiel. Wie die Verarbeitung dieser Strukturen geschieht, findet sich auf der Seite Link-Mechanismen. Die Datenquelle wird mit einem Editor direkt bearbeitet. Ihre Struktur ist im Standard Relax NG formuliert. Mehr zu diesem Standard: .

space