Inhalt Abbildung PDF Source CoCoDiL
 |<    <     >    >|  Generated by CoCoDiL

6 Aufbau des ContentTrees

Aus den Lerndateien erzeugt CoCoDiL einen ContentTree der die Lerninhalte repräsentiert. Erst danach wird aus diesem HtmlTree mit Hilfe der LayoutPolicy die eigentlichen Html-Seiten generiert.

Jeder Knoten hat eine Menge von Attribute. Jedes Attribut besteht aus einem Schlüssel und einem Wert. Jeder Knoten hat ein Attribut befehl, sowie ein Attribut startTemplate und ein Attribut endTemplate. Die Werte von startTemplate und endTemplate werden in der Datei layout.xml spezifiziert.Der Wert von startTemplate ist ein parametrisierbarer String der vor dem Arbeiten der KinderKnoten ausgegeben wird. Der Wert von endTemplate ist ein parametrisierbarer String, der nach dem Abarbeiten der Kinder ausgegeben wird. startTemplate und endTemplate werden mit den anderen Attributen des Kontens parametrisiert. Mit Hilfe dieser Templates werden die HtmlDateien gebildet.

6.1 Die Grundstruktur

Der oberste Knoten hat immer den Befehl root. Darunter kommen Knoten die einen Seitenwechsel repräsentieren. Die Attribute current, previous, next, first und last werden für die Bildung der Navigationsleiste benötigt.

In der unteren Abbildung wird davon ausgegangen, daß der Kurs aus den 3 Dateien datei1, datei2 bzw datei3 besteht.


Abb. 6.1: Die obersten Knoten des Baums

Beachten Sie, daß die Attribute startTemplate und endTemplate im Bild nicht dargestellt werden.

Hinweis!

Die Attribute current, previous, next, first und last werden erst während dem Ausgabeprozeß berechnet. Deshalb sind diese Attribute bei der Analyse des Baums direkt nach dem Parsen nicht sichtbar.

6.2 Repräsentation von Texten

Die Repräsentation von Texten wird in der folgenden Abbildung deutlich. Es wird folgender Text repräsentiert: Dies ist ein Text mit einem Verweis in der Mitte.


Abb. 6.2: Repräsentation eines Textes mit Verweis

Beachte dabei:

6.3 Repräsentation von Listen

Das folgende Beispiel zeigt wie Listen repräsentiert werden.


Abb. 6.3: Darstellung von Listen

Beachte dabei:

6.4 Repräsentation von Kapiteln

Ein Kapitelknoten hat folgende Attribute:

Beispiel:

Das Kapitel 2.1.2 Ein nettes Kapitel hat folgende Attribute

befehl=kapitel
text=2.1.2 Ein nettes Kapitel
tiefe=3

Beachte: Die Inhalte eines Kapitels befinden sich nicht unter dem Kapitelknoten, sondern rechts neben dem Kapitelknoten.

6.5 Repräsentation von Bilder

Ein Bildknoten hat folgende Attribute

befehl=picture
relativePath=relativer Pfad von der aktuellen Seite zum Bild
description=Bildunterschrift ohne Nummerierung falls nicht vorhanden hat es den Wert none
caption=Bildunterschrift mit Nummerierung. Dieses Attribut wird erst während der Ausgabe berechnet
link=url-Link falls nicht vorhanden hat er den Wert none

6.6 Repräsentation von Regionen

Hier ein Beipsiel für die Definition einer Region

Dies wird folgendermassen repräsentiert:


Abb. 6.4: Repräsentation einer Region

6.7 Repräsentation von Quellcode

Ein innerhalb von $S() und $S\ eingebetteter Code wird in einem einzigen Knoten repräsentiert. Dieser Knoten hat folgende Attribute

befehl=source
text=eingebetteter Code
rows=Anzahl der Zeilen des eingebetteter Code

6.8 Repräsentation von Tabellen

Die folgende Struktur zeigt eine Tabelle mit 2 Spalten und 3 Zeilen, sowie die Attribute die einzelnen Knoten haben.


Abb. 6.5: Repräsentation von Tabellen

Der oberste Knoten hat den Befehl table. Dieser Knoten hat für jede Zeile der Tabelle einen Tochterknoten mit dem Befehl tableRow. Unter diesen Knoten sind eine Ebenen von Knoten mit dem Befehl tableCell.

Inhalt Abbildung PDF Source CoCoDiL
 |<    <     >    >|  Generated by CoCoDiL