Die Formatierung mit XSL arbeitet mit so genannten Formatierungsobjekten. Diese Objekte sind baumartig angeordnet, was bei einer XML-artigen Syntax nicht wirklich überraschend ist. Das Wurzelelement trägt den Namen fo:root. Als Kinder müssen genau ein fo:layout-master-set und ein oder mehrere fo:page-sequences vorkommen. Ein fo:layout-master-set beschreibt das Layout der Seiten. Der Inhalt des Dokuments steht innerhalb von fo:page-sequences. Interessant wird es dann in den darin enthaltenen fo:flow-Elementen.
Diese extrem geraffte Darstellung lässt sich am besten an einem Beispiel veranschaulichen; in Abschnitt 18.2.2 ist eines zu finden. Da XSL eine extrem umfangreiche Sprache ist, die darüber hinaus auch noch nicht vollendet ist, gehen wir hier nicht auf die Details ein.
Innerhalb eines Flows findet eine grundlegende
Unterscheidung in Blockelemente und
inzeilige Elemente statt. In einem Flow ist
eine Folge von Blockelementen zulässig. Sie werden in einer
bestimmten Richtung angeordnet, im westlichen
Kulturraum bedeutet das von oben nach unten
. Die
Blockelemente haben vergleichbare Eigenschaften, wie bei den
CSS (vgl.
Abbildung
29). In einem Block
stehen dann die inzeiligen Elemente, die ebenfalls in einer
bestimmten Richtung (von links nach rechts
)
nebeneinander angeordnet werden. Für die detailierte
Beschreibung der Formatierungselemente müssen wir auf die
(hoffentlich bald abgeschlossene)
XSL-Spezifikation verweisen. Den Einstieg findet
man, wie gesagt, am leichtesten mit einem Beispiel. Neben
dem im Apache-Kapitel folgenden Beispiel, finden Sie weitere
zusammen mit der Cocoon-Distribution.