Was macht den XSL-FO als Standard aus?
eigenständiger XML-Standard
Dateiendung .FO
Code von speziellen Formatierern nach PDF umgesetzt
Layout-orientierte Möglichkeiten wie
Seitenformate (beliebig, zb. A4)
Regionen für Kopf, Fuß, Inhalt und Seitenbereiche
Blöcke für Inhalte
Listen
Tabellen
Externe Bilder
Verknüpfungen (intern & extern)
Bookmarks im PDF
CSS-verwandte Formatierungen
Wie sieht ein FO-Grundgerüst aus?
Welche Regionen gibt es auf einer Seite?
5 bereiche
mindestens die Region fo:region-body
alle Bereiche Kindelemente von fo:simple-page-master
Attribut extent für Ausdehnung der Bereiche (zb. oben/unten Höhe = 1cm)
Kopfbereich <fo:region-before>
Fußbereich <fo:region-after>
Linker Bereich <fo:region-start>
Rechter Bereich <fo:region-end>
Hauptbereich <fo:region-body>
Beispiel für Abfolge von Seitenformaten (nur zum Verständnis, nicht zum direkten lernen)
Was wird in XSL-FO als Inhaltscontainer verwendet? Was sind Eigenschaften davon?
Basiselement fo:block
<fo:block> Fließtext und weitere Inhalte </fo:block>
innerhalb von fo:block sind weitere fo:block-Elemente möglich, aber auch inzeilige Inhalte mit fo:inline (Analogie zu span-Elementen bei HTML) wie <fo:inline font-style=”italic”> Text </fo:inline>
fo:block genereller Inhaltscontainer, siehe u.a. Bilder, Listen und Tabellen
Formatierung über zugehörige Attribute mit überwiegend CSS-ähnlicher Syntax
Wie kann das Basiselement fo:block gruppiert werden? Was sind Eigenschaften?
Gruppierung erfolgt über fo:block-container / fo:inline-container
Eigenschaften werden auf Kindelemente vererbt, können dort aber auch überschrieben werden
feste Positionen lassen sich über Attribut
absolute-position:”absolute” festlegen, Bezugspunkt 0,0 im Seitenbereich, zusätzliche Längenangaben top, right, bottom, left, height, width
absolute-position:”fixed” ähnlich, jedoch ohne Berücksichtigung der Seitenbereiche
fo:inline-container ermöglicht Block-Konstruktionen innerhalb von Zeilen, zb. übereinanderliegende Texte
Wie funktionieren geordnete/ungeordnete Listen in XSL-FO?
mit fo:list…
Nummerierungs/Aufzählunssymbol angeben bei fo:list-item-label, zb. Unicode-Zeichen
Wie kann man in XSL-FO Überschriften und Absätze umsetzen?
in XSL-FO werden alle Inhalte mit fo:block umgesetzt, auch Bilder etc.
Wie werden in XSL-FO Tabellen umgesetzt?
fo:table-body ist nötig, ebenso fo:block in den Datenzellen (fo:table-cell)
zusätzlich fo:table-header und fo:table-footer möglich (vor fo:table-body)
Spaltenvorgaben wenn mehrere Spalten
Wie werden Bilder in XSL-Fo eingebunden?
erlaubt sind sowohl typische Rasterformate (JPEG, PNG, TIFF…) als auch Vektorformate (EPS, SVG)
Angabe von content-width/content-height möglich, ansonsten proportional skaliert
Wie werden Verweise in XSL-FO implementiert?
interner Link
attribut internal-destination + ID-Wert aus Dokument
externer Link
Vorgabewert für show-destination ist replace
Wie werden Seitenzahlen in XSL-FO umgesetzt?
Ausgabe über fo:page-number : Seite 1 / n
Ausgabe der letzten Seite mit fo:page-number-citation ist optional, ID-Bezug wird dort festgelegt über <fo:block id=”last-page”>
Wie kann eine Silbentrennung in XSL-FO umgesetzt werden?
in fo:block mit dem Attribut hyphenate=”true” im Zusammenhang mit language=”de”
Unterstützung vom Formatierer abhängig
Bspw. Blocksatz mit text-align=”justify”
Bookmarks?
PDF-Metadaten
Nenne zwei Formatierer und dessen Eigenschaften
Antenna House Formatter
kommerzielles Produkt, leistungsfähig und optimierte Typographie
Grafische Oberfläche zur Darstellung und Prozessierung von FO-Code
Apache FOP
Open-Source-Software auf Java-Basis
oft in andere Software eingebunden
direkt im oxygen XML editor integriert
Zur Info, nicht unbedingt lernen!
FO-Prozess mit XSLT
Wozu dient XSL-FO?
XML-Verarbeitung für PDF und Druck
Formatierung
CSS-analoge Attribute
font-family=”Arial, sans-serif”, font-size=”14pt”
color, background-color mit Hexwerten kurz/ lang, Farbnamen, rgb(…)
border
margin, padding
text-align
break-after
FO-Beispiele
Ausgabe von Prüfungslisten
Stundenpläne
Interne Stundenplanung
Last changeda year ago