XSL-FO.

Slides:



Advertisements
Ähnliche Präsentationen
Einführung. Einführung Inhalt Einführung Architektur Vorlagen Blöcke Tabellen Listen Textformatierung Grafik und Farbe Buch-Erstellung.
Advertisements

XHTML+CSS C3O 2003.
Praktikumsbericht Olga Syasina Sommersemester 2007 Projektseminar
Einführung in HTML (Hypertext Markup Language)
ELML – Flexibilität und Nachhaltigkeit dank XML Dipl. natw. Jo ë l Fisler - GITTA Koordinator MNF eLearning Tag
Druck / Ausgaben unter LSF
Layout-Modelle für Webseiten und Formulare Ein Überblick über Cascading Stylesheets und JGoodies Stephan Winter, 2004, PG WaviSp, AG-Kastens.
Seite 1Maria, Philipp, Herbert Seite 1 Fitnessplaner Ziele: >Fitnessplaner für Onlinebetrieb >Registrierung >individuelle Trainingsplanerstellung.
Seminar: XML für Fortgeschrittene Referent: Katrin Apel
HTML Silla Plump, 2009.
HTML - Einführung Richard Göbel.
FH-Hof Extensible Markup Language Richard Göbel. FH-Hof Extensible Markup Language XML XML ist universeller Ansatz für die Strukturierung von Zeichenketten.
Java: Dynamische Datentypen
DOM (Document Object Model)
Internetstruktur Das Internet besteht aus vielen Computern, die weltweit untereinander vernetzt sind.
XINDICE The Apache XML Project Name: Jacqueline Langhorst
XML-Schema HKI Proseminar Wintersemester 2010/11 Dozentin: Frau Kurz von Jan Kohl und Christian Lütticke.
HTML - Eine erste Annäherung
© 2002 Prof. Dr. G. Hellberg 1 XML-Seminar XML-Technologie: XML in Theorie und Praxis Prof. Dr. G. Hellberg XML-Technologie: XML in Theorie und Praxis.
Tinosch Ganjineh, Christian v. Prollius 1 Scalable Vector Graphics SVG.
XHTML 1.1 C. Nimz Abstrakte Module XHTML 1.1 C. Nimz Was ist ein abstraktes Modul? Definition eines XHTML-Moduls in spezieller leichter.
Modularization of XHTML™
Überblick XML: Extensible Markup Language Entwickelt, um Informationen bereitzustellen, zu speichern und zu übertragen Im Gegensatz zu HTML keine vordefinierten.
Einführung XML XML Einführung Andreas Leicht.
Cascading Style Sheets
© data2type 2005, 1 Publishing mit XML Einsatz von XSL für das multimediale, automatisierte Publishing.
Tobias Högel & Dennis Böck,
Cascading Style Sheets CSS
1 Grundlagen und Anwendung der Extensible Markup Language (XML ) Peter Buxmann Institut für Wirtschaftsinformatik Johann Wolfgang Goethe-Universität Frankfurt.
XSLT.
Einführung in das Programmieren mit JavaScript Mag. Andreas Starzer weloveIT – EDV Dienstleistungen.
Layout mit CSS Iftikhar Ahmad Datum: 2.Juni.2005.
Betrieb von Datenbanken Marco Skulschus & Marcus Wiederstein Datenmanipulation Lehrbuch, Kapitel 4.
Graphics in PDF Universität zu Köln Intelligente Dateisysteme Prof. Dr. Manfred Thaller WS 2013/14 Leonard Bornefeld-Ettmann.
Wird ganz am Anfang der HTML-Datei geschrieben Doctype html public bedeutet, dass man sich auf die Öffentlichkeit der html-dtd bezieht Html ist die meist.
Java für Fortgeschrittene
PPS-Veranstaltung (Design einer eigenen WWW-Homepage) Navigationsmechanismen.
Web-Publishing: HTML im Rahmen des PS aus Elektronischer Datenverarbeitung (Rechnerpraktikum)
Wohlgeformtheit und Gültigkeit Grundlagen der Datenmodellierung Anke Jackschina.
Aufbau der Stylesheet-Angabe Eigenschaft Eigenschaft das was man formatieren möchte Wert Wert Farbangaben, Einheiten oder Schlüsselworte Deklaration Kombination.
Oliver Spritzendorfer Thomas Fekete
HTML und CSS Erstellung einer APP. HTML: head Sharky.
WAI konforme Seiten mit TYPO3 (Web Accessibility Initative) © Peter Luser 2005.
XML (Extensible Markup Language)
1 Konfiguration des Backends In TYPO3 kann man das Backend des Systems mittels Anweisungen verändern. Dies geschieht mittels TypoScript im Feld TSconfig.
HTML 4.0 Einführung Prof. Peter Altmann. HTML Basics Tags treten normalerweise paarweise auf Tags können Parameter haben......
Einführung Prof. Peter Altmann
Einführung Prof. Peter Altmann
CSS Stylesheets Projekt Vollpension Romi Klockau
XSL in der Praxis Anwendungsbeispiele für die eXtensible Stylesheet Language Andreas Kühne XML One 2000.
Drucken mit XSL-FO DaimlerChrysler  Drucken von Webseiten
Hypertext Markup Language
Hypertext Markup Language
HTML Grundkurs Patrick Cato.
CSS Cascading Style Sheets
Cascading Style Sheets
Cascading Stylesheets Staffelbare Formatvorlagen sind eine direkte Erweiterung von HTML und gestatten eine exaktere Gestaltung einer Webseite. Seit 1998.
HTML Hypertext Markup Language
Vanessa Kogelbauer. font-weight: bold oder normal text-transform: uppercase (gesamter Text in Großbuchstaben), lowercase (gesamter Text in Kleinbuchstaben)
(X)HTML und Tags. HTML - XHTML HTML wird seit 1999 nicht mehr weiterentwickelt. XHTML basiert auf XML und befolgt XML Syntaxregeln. Im weiteren Kursverlauf.
Alles was man wissen muss! By Benjamin Zehetner. Der Aufbau Der Standart Aufbau ist: (Hier muss alles drinnen sein) (Hier befinden sich wichtige Informationen.
© Manz Verlag Schulbuch Folie 1/5 Layout mit CSSAngewandte Informatik HMTL und CSS Lerneinheit 2 Grandhotel Die Lobby HTML für Struktur HTML und CSS Einbinden.
World Wide Web Internetdienst Besteht aus HTML-Seiten Hypertext Transfer Protocol Plattform- und Systemübergreifend Für CERN-Konferenz entwickelt (Übertragung.
XSLT I Re-usable Content in 3D und Simulationssystemen Dozent: Prof. Manfred Thaller Referentin: Elisabeth Chang.
5.Februar 2007 – 1Vorlesung Elektronisches Publizieren: Formatierung von XML-Dokumenten mit XSL Formatierung von XML-Dokumenten — XSL — Anne Brüggemann-Klein.
Förderverein Bürgernetz München Land e.V. Seite 1 von 16 Textverarbeitung-2016_06 © 2016–Günther Scheckeler Tel.: Inhalt 1 Bestandteile eines.
Ein Winkellayout mit float
Thema Aussage SmartArt-Grafik mit Bildern auf rotem Hintergrund
CSS.
 Präsentation transkript:

XSL-FO

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

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.: Während des ersten Schritts, wird das FO-Dokument (auch Ergebnis- oder Ziel-Dokument genannt) erzeugt. Zwei grundsätzliche Optionen existieren hier: XML wird durch ein XSLT-Stylesheet in ein FO-Dokument umgewandelt. Es wird direkt aus nicht-XML-Daten wie einer Datenbank oder von Benutzern eingegebenen und dann verarbeiteten Daten erzeugt. 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.

Architektur Der zweischrittige Prozess

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.

Architektur FO als Zwischenformat

Architektur FO als Zwischenformat 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).

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.

Architektur FO und XSLT im Vergleich

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.

Seitenvorlagen

Seitenvorlagen Ränder und druckbare Bereiche

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.

Seitenvorlagen Seitentypen und ihre Auswahl

Seitenvorlagen Seitentypen und ihre Auswahl

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

Blöcke Box-Modell in FO und CSS

Blöcke Box-Modell in FO und CSS

Blöcke Auffüllung Richtung Variante 1 Variante 2 Oben padding-before padding-top Unten padding-after padding-bottom Links padding-start padding-left Rechts padding-end padding-right

Blöcke Rand Oben Unten Links Rechts Überall Breite border-before-width   Oben Unten Links Rechts Ü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

Blöcke Rand Eigenschaft Wert Breite Stil Farbe <border-width> | inherit with <border-width> = {thin | medium | thick | <absolute length> } Stil <border-style> | inherit with <border-style> ={none | hidden | dotted | dashed | solid | double | groove | ridge | inset | outset} Farbe <Color> | inherit with <Color> = {valid color spec}

Blöcke Ränder, Abstand und Einrückung Richtung Ränder Abstand Einrückung Top margin-top   Bottom margin-bottom Left margin-left space-end start-indent Right margin-right space-start end-indent

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

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

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

Blöcke Zeilenabstand absolute-position top right bottom left

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

Tabelle

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

Listen

Listen

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

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

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

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

Grafiken

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

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

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.

Fußnoten

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. <xsl:apply-templates /> (leeres Element) oder <xsl:apply-templates select=”A | B | text()”/> können dann die Vorlagen-Regeln in der notwendigen Reihenfolge aufrufen. Das Element fo:inline ermöglicht dann die Inzeilen-Formatierung.

Gemischter Inhalt und Inzeilen-Formatierung

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.

PDF -Lesezeichen

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.

Inhaltsverzeichnis

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.

Lebende Kolumnentitel

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.

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.

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.

Dynamische FO-Erstellung Techniken 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 Techniken

Beispiele

Beispiele

Links/Impressum Links Impressum XSL-Family: http://www.w3.org/Style/XSL/ XSL-FO 1.1: http://www.w3.org/TR/xsl/ XSLT 1.0: http://www.w3.org/TR/xslt XPath 1.0: http://www.w3.org/TR/xpath Impressum http://www.comelio.com/quickreferences/XSL-FO Autoren: Marco Skulschus, Marcus Wiederstein Layout und Design: Nadine Kilian Assistenz: Erik Richardson, Philip Lucsok Comelio Medien, Goethestraße 34, 13086 Berlin  

Fragen und Antworten