In dieser Aufgabe wird das Programm aus Aufgabe 7 weitergeführt. In Aufgabe 7 wurde ein XSLT Programm erstellt, das ein HTML-Dokument aus dem gegebenen Glossar in XML-Form generierte. Das Ziel der aktuellen Aufgabe ist es, wiederum aus dem gleichen Glossar ein PDF-Dokument zu erstellen. Als Zwischenschritt muss ein XSL-FO Dokument generiert werden, welches anschliessend mittels FOP nach PDF transformiert werden kann.
Als Grundlage für die Lösung dieser Aufgabe kann das XSLT Stylesheet fo-template.xsl verwendet werden. Zudem können einige Codefragmente aus Aufgabe 7 in dieser Aufgabe wiederverwendet werden. In der Verwendung der verschiedenen Features von XSL-FO lassen wir Freiheiten, ein existierendes PDF-Dokument des Glossars soll wiederum als Beispiel dienen. Als Minimalanforderung gilt eine alphabetische Liste aller Topics mit der zugehörigen Beschreibung.
Die Abgabe der Übung besteht darin, das oder die erstellten Stylesheets an den Betreuer zu mailen, am besten durch Klick auf den Abgabe Übung 8 Link. Als Eingabe für die Stylesheets muss die Topic Map aus Aufgabe 4 akzeptiert werden, als Ausgabe soll ein formatiertes XSL-FO Dokument dieser Topic Map erstellt werden, welches anschliessend nach PDF transformiert werden kann, wie im folgenden näher beschrieben wird.
Bemerkung: Ihr dürft die Übung in Zweiergruppen lösen. Bei der Abgabe sind beide Namen zu erwähnen.
Das Erstellen eines PDF-Dokumentes aus XML geschieht in der Regel in zwei Schritten:
http://www.w3.org/1999/XSL/Format
verwendet. Als Beispiel dient das XSL-FO Dokument glossary.fo, welches mit dem zur Verfügung gestellten Template fo-template.xsl erstellt wurde.domain
ausgewählt). Das gesuchte PDF-Dokument soll jedoch alle Topics umfassen, welche beschreibenden Text enthalten.xsl:apply-templates
Anweisung und entsprechenden zu implementierenden xsl:template
Anweisungen abgearbeitet werden.fo:block
, fo:table
und weitere XSL-FO Anweisungen verwendet werden. Zur weiteren Gestaltung stehen eine Vielzahl an entsprechenden Attributen zur Verfügung. Die XSL-FO Reference und das XSL Formatting Objects Tutorial enthalten viele Beispiele.topicref
Elemente sollen dereferenziert werden. Optional können diese auch mittels fo:basic-link
Anweisungen mit den entsprechenden Topics verlinkt werden.fo:marker
und fo:retrieve-marker
, bzw. fo:page-number
verwendet werden.Die Entwicklungsumgebung ist die gleiche wie in der vorangegangenen Aufgabe, daher kann die Anleitung zu XSLT auf den tardis-Maschinen wiederverwendet werden. Das Resultat der XSLT Transformation soll mittels xsl:document
Anweisung im XSLT-Dokument in eine Datei ausgeschrieben werden, wie im Template vorgegeben.
xsl:document
Anweisung, weil sonst das Ergebnis der Transformation im Installtionsverzeichnis des Exchangers landen wird.Apply XSLT, View in buffer
im Buffer ein leeres XML-Dokument zurück.Apply XSLT, View PDF
gestartet werden könnte, hat die Version 0.20.1 und enthält einige Fehler, die in den neueren FOP Versionen behoben sind. Die Transformation des XSL-FO Dokumentes nach PDF geschieht deshalb am besten ausserhalb von Emacs über das Commandline-Interface der auf tardis(-bxx) installierten FOP-Version 0.20.5: fop glossary.fo glossary.pdf
please send comments to xml-vl@dret.net last modification on Tuesday, 06-Jun-2006 15:57:08 CEST |