Die Präsentation wird geladen. Bitte warten

Die Präsentation wird geladen. Bitte warten

XSL-FO. Architektur Seitenvorlagen Blöcke Tabellen Listen Format-Eigenschaften Grafiken Zeilen Fußnoten Inhalte Gemischter Inhalt PDF-Lesezeichen Inhaltsverzeichnis.

Ähnliche Präsentationen


Präsentation zum Thema: "XSL-FO. Architektur Seitenvorlagen Blöcke Tabellen Listen Format-Eigenschaften Grafiken Zeilen Fußnoten Inhalte Gemischter Inhalt PDF-Lesezeichen Inhaltsverzeichnis."—  Präsentation transkript:

1 XSL-FO

2 Architektur Seitenvorlagen Blöcke Tabellen Listen Format-Eigenschaften Grafiken Zeilen Fußnoten Inhalte Gemischter Inhalt PDF-Lesezeichen Inhaltsverzeichnis Lebende Kolumnentitel Dynamische FO-Erstellung Links

3 Architektur Architektur Der zweischrittige Prozess Die Verwendung von FO (Formatting Objects) meint typischerweise die Anwen- dung eines zweischrittigen Prozesses auf XML oder auch nicht-XML-Daten.: 1.Während des ersten Schritts, wird das FO-Dokument (auch Ergebnis- oder Ziel-Dokument genannt) erzeugt. Zwei grundsätzliche Optionen existieren hier: a.XML wird durch ein XSLT-Stylesheet in ein FO-Dokument umgewandelt. b.Es wird direkt aus nicht-XML-Daten wie einer Datenbank oder von Benutzern eingegebenen und dann verarbeiteten Daten erzeugt. 2.Während des zweiten Schritts wird das FO-Dokument in sein endgültiges Ausgabeformat wie PDF, RTF oder PostScript formatiert. Der Formatierer, der in diesem Schritt benutzt wird, kann auch die gleiche Software-Komponente sein wie im ersten Schritt. Es ist aber auch möglich, zwei verschiedene Komponenten zu kombinieren, um technische Fähigkeiten, die nur für einen Schritt verfügbar sind, dort auch zu nutzen.

4 Architektur Architektur Der zweischrittige Prozess

5 Architektur Architektur FO als Zwischenformat FO ist eine Grammatik bzw. ein Vokabular, das mit einer hohen Anzahl an Möglichkeiten für Druck-Dokumente aufwartet. Daher kann es auch als Zwischenformat dienen, in das XML transformiert werden, um dann verschiedene Ausgabeformate für den Druck zu generieren. PDF ist das typische Format für XSL-FO, so wie (X)HTML das typische Ausgabeformat für XSLT ist. Die meisten Formatierer können aber auch noch PostScript, RTF oder sogar XHTML aus einem FO-Dokument erzeugen. Es kann also sehr effizient sein, wenn XML durch XSLT erst in FO umgewandelt wird und dann durch einen geeigneten Formatierer in das gewünschte endgültige Format.

6 Architektur Architektur FO als Zwischenformat

7 Die Illustration zeigt zwei extreme Szenarien und stellt daran das oben erwähnte Konzept dar. Auf der linken Seite gibt es vier verschiedene XML-Formate, die alle in drei verschiedene Ausgaben umgewandelt werden sollen. Ohne FO als Zwischenformat muss man eine individuelle Transformation für jede Datei erstellen (rote Linien). Verwendet man FO, wandelt man jedes Eingabeformat zunächst einmal in FO um und dann von dort in die Ausgabeformate (schwarze Linien).

8 Architektur Architektur FO und XSLT im Vergleich XSLT wird für die Transformation von XML in andere XML- Formate (wie auch FO) oder auch andere Textformate benutzt. Deswegen enthält es einige typische Merkmale eine Programmiersprache. FO dagegen ist nur eine Grammatik für Präsentation und enthält darüber hinaus noch dokumentbezogene Elemente. Oft wird mit XSLT FO und dann auch PDF erstellt, was man als XSL-FO bezeichnen kann.

9 Architektur Architektur FO und XSLT im Vergleich

10 Seitenvorlagen Das fo:layout-master-set enthält Seitenvorlagen ( fo:simple-page-master ) und Vorlagen für Seitenverläufe (Kombinationen von Vorlagen, fo:page- sequence-master ). Sie werden vom fo:flow -Element im tatsächlichen Seitenverlauf fo:page-sequence referenziert. Eine Seite enthält Druckbereiche, die aus fo:flow oder fo:static-content -Containern referenziert werden.

11 Seitenvorlagen

12 Seitenvorlagen Seitenvorlagen Ränder und druckbare Bereiche

13 Seitenvorlagen Seitenvorlagen Seitentypen und ihre Auswahl Ereignisse und ihre Kombination steuern die Auswahl von individuellen Seitenvorlagen bei der Erstellung eines tatsächlichen Seitenvorlaufs. Die erste gültige Bedingung einer Testreihe führt dann zur Auswahl.

14 Seitenvorlagen Seitenvorlagen Seitentypen und ihre Auswahl

15

16 Seitenvorlagen Seitenvorlagen Eigenschaften blank-or-not-blank column-count column-gap extent flow-name force-page-count initial-page-number master-name master-reference maximum-repeats odd-or-even page-height page-position page-width precedence region-name

17 Blöcke Blöcke Box-Modell in FO und CSS

18

19 Blöcke Blöcke Auffüllung RichtungVariante 1Variante 2 Oben padding-beforepadding-top Unten padding-afterpadding-bottom Links padding-startpadding-left Rechts padding-endpadding-right

20 Blöcke Blöcke Rand ObenUntenLinksRechtsÜberall Breite border- before-width border-top- width border- after-width border- bottom-width border- start-width border-left- width border-end- width border-right- width border-width Stil border- before-style border-top- style border- after-style border- bottom-style border- start-style border-left- style border-end- style border-right- style border-style Farbe border- before-color border-top- color border- after-color border- bottom-color border- start-color border-left- color border-end- color border-right- color border-color

21 Blöcke Blöcke Rand EigenschaftWert Breite | inherit with = {thin | medium | thick | } Stil | inherit with ={none | hidden | dotted | dashed | solid | double | groove | ridge | inset | outset} Farbe | inherit with = {valid color spec}

22 Blöcke Blöcke Ränder, Abstand und Einrückung RichtungRänderAbstandEinrückung Top margin-top Bottom margin-bottom Left margin-leftspace-endstart-indent Right margin-rightspace-startend-indent

23 Blöcke Blöcke Hintergrund (Farbe und Bild) background-attachment background-color background-image background-repeat background-position-horizontal background-position-vertical

24 Blöcke Blöcke Block- und Linien-Eigenschaften hyphenation-keep hyphenation-ladder-count last-line-end-indent line-height line-height-shift-adjustment linefeed-treatment white-space-treatment text-align text-align-last text-indent white-space-collapse

25 Blöcke Blöcke Umbruch-Eigenschaften break-after break-before keep-together keep-with-next keep-with-previous orphans widows

26 Blöcke Blöcke Zeilenabstand absolute-position top right bottom left

27 Blöcke Blöcke Absolute Positionierung space-end space-start relative-position

28 Tabelle

29 Tabelle

30 Tabelle Tabelle Eigenschaften border-after-precedence border-before-precedence border-collapse border-end-precedence border-separation border-start-precedence caption-side column-number column-width empty-cells ends-row number-columns-repeated number-columns-spanned number-rows-spanned starts-row table-layout table-omit-footer-at-break table-omit-header-at-break

31 Listen

32 Listen

33 Format-Eigenschaften Block-ElementeIn-Zeilen-Elemente fo:block fo:block-container fo:character fo:inline fo:inline-container

34 Format-Eigenschaften Format-Eigenschaften Text Zeichen-Eigenschaften font-family font-size font-stretch font-size-adjust font-style font-variant font-weight Nummern format grouping-separator grouping-size letter-value

35 Format-Eigenschaften Format-Eigenschaften Text Zeichen-Eigenschaften character letter-spacing suppress-at-line-break text-decoration text-shadow text-transform treat-as-word-space word-spacing Block-Ausrichtung alignment-adjust alignment-baseline baseline-shift display-align dominant-baseline relative-align

36 Format-Eigenschaften Format-Eigenschaften Text Silbentrennung country language script hyphenate hyphenation-character hyphenation-push-character-count hyphenation-remain-character-count

37 Grafiken

38 Grafiken Eigenschaften block-progression-dimension content-height content-width height inline-progression-dimension max-height max-width min-height min-width scaling scaling-method width

39 Zeilen fo:leader Eigenschaften leader-alignment leader-pattern leader-pattern-width leader-length rule-style rule-thickness

40 Fußnoten Eine Fußnote ist am besten in seinem eigenen XML-Element (hier: FN ) untegebracht. Eine Vorlagen-Regel für dieses FN -Element erstellt dann ein fo:footnote -Element mit einem fo:inline -Element für die Nummer und einem fo:footnote-body -Element für den tatsächlichen Text.

41 Fußnoten

42 Gemischter Inhalt und Inzeilen-Formatierung Gemischter Inhalt ist Textinhalt mit XML-Elementen (bspw. Fußnoten, Bildern, Verweisen), der normalerweise in der gleichen Reihenfolge ausgegeben werden soll wie in der XML- Quelle. (leeres Element) oder können dann die Vorlagen-Regeln in der notwendigen Reihenfolge aufrufen. Das Element fo:inline ermöglicht dann die Inzeilen- Formatierung.

43 Gemischter Inhalt und Inzeilen-Formatierung

44 PDF -Lesezeichen Das Element fo:bookmark-tree enthält den Inhalt der PDF- Lesezeichen. Jedes wird durch fo:bookmark-element mit einem internal-destination -Attribut (ähnlich wie fo:basic- link ) gebildet. Eine Hierarchie an Lesezeichen kann durch eine Hierarchie verschachtelter FO-Lesezeichen erstellt werden. Der Inhalt des PDF-Lesezeichens ist fo:block (FO-Inhalt von fo:bookmark ) oder der XSLT-Sequenzkonstruktor innerhalb von fo:bookmark.

45 PDF -Lesezeichen

46 Inhaltsverzeichnis Blöcke, die in einem Inhaltsverzeichnis erscheinen sollen oder deren Seitenzahl benötigt wird, müssen ein id -Attribut mit einem eindeutigen Bezeichner haben. Diesen Wert referenziert man innerhalb von fo:page-number- citation und dem ref-id -Attribut. Der Wert wird entweder aus den XML-Daten gelesen/abgeleitet oder dynamisch durch die XSLT-Funktion generate-id() generiert und referenziert. Eine Verknüpfung wird definiert durch fo:basic-link und kann extern oder intern sein. Das Attribut internal-destination referenziert einen internen id - Wert, während external-destination einen URI referenziert.

47 Inhaltsverzeichnis

48 Lebende Kolumnentitel Die Inhalte von lebenden Kolumnentiteln bildet man durch das fo:marker -Element, das ein marker- class-name -Attribut hat. Diese Markierung referenziert man innerhalb des retrieve-class-name -Attributs des fo:retrieve-marker -Elements. Die Attribute retrieve-position und retrieve- boundary geben den Bereich an, in dem die Markierung gesucht wird.

49 Lebende Kolumnentitel

50 Dynamische FO-Erstellung Dynamische FO-Erstellung Techniken Da FO ein XML-Format ist, können und werden FO-Dokumente auch über XSLT erzeugt werden. Die folgenden Techniken und ihre Kombinationen setzt man oft ein, um konfigurierbare und dynamische Transformationen zu erstellen.

51 Dynamische FO-Erstellung Dynamische FO-Erstellung Techniken Modulare Stylesheets: xsl:import und xsl:include können benutzt werden,um andere Stylesheets einzubinden. Parameter: Vorlagen-Parameter können verwendet werden, um dynamisch XSLT-Anweisungen auszuführen, während globale/Stylesheet- Parameter zusätzlich von der aufrufenden Umgebung (bspw. Java,.NET) adressiert werden können. Namen von XML-Konfigurationsdateien als Parameterwerte kann man verwenden, um dynamisch diese Dateien über die document() -Funktion anzusprechen.

52 Dynamische FO-Erstellung Dynamische FO-Erstellung Techniken Variablen: Variablen können globale Werte für Farben, Schrift-Eigenschaften oder numerische Werte für Rändern, Abstände etc. speichern. Temporäre Bäume (XSLT-Variablen mit XML-Inhalt oder Anweisungen zur dynamischen Erzeugung) können FO-Elemente enthalten oder erzeugen. Konfigurationsdateien: Sammlungen von Konfigurationswerten kann man in XML-Dateien speichern. Während Variablen direkt in der XSL-FO-Datei liegen, sind Konfigurationsdateien spezielle XML-Dateien, die zusätzlich eingelesen und verarbeitet/gefiltert werden.

53 Attributgruppen: Sammlungen von Attribute und ihre statischen oder dynamischen Werte (gelesen aus Variablen) kann man in Attributgruppen speichern und dann im xsl:use-attribute- sets -Attribut referenzieren. Ein fortgeschrittener Ansatz sind dann kaskadierende Gruppen: Entweder xsl:attribute-set selbst oder FO-Elemente referenzieren weitere Gruppen und bilden dadurch eine Gesamtmenge aller deklarierten Attribute. Dynamische FO-Erstellung Dynamische FO-Erstellung Techniken

54

55 Beispiele

56 Beispiele

57 Links/Impressum Links XSL-Family: XSL-FO 1.1: XSLT 1.0: XPath 1.0: Impressum Autoren: Marco Skulschus, Marcus Wiederstein Layout und Design: Nadine Kilian Assistenz: Erik Richardson, Philip Lucsok Comelio Medien, Goethestraße 34, Berlin

58 Fragen und Antworten


Herunterladen ppt "XSL-FO. Architektur Seitenvorlagen Blöcke Tabellen Listen Format-Eigenschaften Grafiken Zeilen Fußnoten Inhalte Gemischter Inhalt PDF-Lesezeichen Inhaltsverzeichnis."

Ähnliche Präsentationen


Google-Anzeigen