XSL-Formatting Objects.

Ähnliche Dokumente
XML-Praxis XSL-FO. Jörn Clausen

CSS. Cascading Style Sheets

Druckvorlage mit XSL FO

XSL-FO. XSL-Formatting Objects.

XML-Praxis. XSL-FO Übungen. Jörn Clausen

XSL Formatting Objects (XSL-FO)

XML. extensible Markup Language. Dr. Beatrice Amrhein.

1 Definition der Selektoren Einbinden der CSS 3 Möglichkeiten Farbangaben Schriftformatierung Abstände...

4. Briefing zur Übung IT-Systeme

Digitale Medien. Übung zur Vorlesung. Vorlesung: Heinrich Hußmann Übung: Renate Häuslschmid

Eine Schnelleinführung in CSS

CSS Cascading Style Sheets

XML mit Java OpenSource. (c) Mark Egloff 2004 FOP. << Apache s FOP >>

HTML: Text und Textstruktur mit CSS gestalten

1. Einstieg 2. Selektoren 3. Schriften 4. Strukturen 5. Zwischenräume, Abstände 6. Bilder 7. Farben 8. Beispiel

Formatierung eines Text Ads in CSS

Introduction to Technologies for Interaction Design. Stylesheets

Übung zur Vorlesung Digitale Medien. Sarah Tausch Alice Thudt Ludwig-Maximilians-Universität München Wintersemester 2012/2013

E-Commerce: IT-Werkzeuge. Web-Programmierung. Kapitel 3: Webdesign mit CSS Stand: Übung WS 2015/2016. Benedikt Schumm M.Sc.

Einführung in XSL-FO

Hinweise für die Nutzung von XSLTs beim PDF Export der BlueBridge Wiki Extensions

Tutorial zum erstellen einer Webseite

HTML & CSS. Beispiele aus der Praxis

Einführung in HTML. Tutorium. Präsentation der Sitzung vom 2./9. Juni 2004 Martin Stricker

XSL und XSLT. Inhalt. Mathias Heilig XSL Übersicht. Formatierungsprozess. Sprachbeschreibung. Vorführung Resümee

3. Briefing zur Übung IT-Systeme

HTML. Hypertext Markup Language

CSS - Cascading Style Sheets

3 XML, HTML und XSL die Ausgabe

Die Programmiersprache des Webs. HTML HyperText Markup Language Hypertext - Auszeichnungssprache

TEI! Und dann? Texttechnologische Standards in den Geisteswissenschaften - Encoding in TEI <

Erstellen von PDF-Dokumenten für Business-Anwendungen mit XSL-FO

Selektoren in CSS. HTML/CSS 21. November 2013 E1. 1. Beispiel: Kinder und Enkel

CSS - Cascading Stylesheets

Allgemeine Technologien II Sommersemester Mai 2011 CSS

Übung zur Vorlesung Digitale Medien. Doris Hausen Ludwig-Maximilians-Universität München Wintersemester 2011/2012

Aufbau einer HTML Seite:

X-Technologien. XML and Friends. Jörn Clausen 9. Juli 2001

XSL Transformation (XML, XSLT, XSL-FO, XPath, XMLUnit, JPdfUnit)

Unterschied zwischen HTML & XHTML?

CSS - Cascading Style Sheets

HTML Grundgerüst. html> head> <title> Einführung </title> </head. body> <h1> Willkommen </h1> <p> Es war einmal </p> </body.

Eine Schnelleinführung in XSL

Online-Publishing mit HTML und CSS für Einsteigerinnen

Digitale Medien Vergangene Vorlesungen. Style-/Formatangaben. Style Angabe für jedes HTML-Element einfachster Fall: style-attribut

HTML und CSS. Eine kurze Einführung

Kapitel 17: CSS. Inhalt. Was kann CSS? (1) Was kann CSS? (2) 1. Einführung CSS. 2. Farben, Hintergründe, Zeichensätze. 3. Gruppierungen. 4.

XML Extensible Markup Language

3. Briefing zur Übung IT-Systeme

Fließlayout. »World of Fish«

Navigation für Internetpräsenzen

elml Flexibilität und Nachhaltigkeit dank XML

Textverarbeitung Textentwurf 2. Texterfassung 3. Textumformung 4. Textgestaltung 5. Textverwendung

Allgemeine Technologien II Wintersemester 2011 / November 2011 CSS

CSS Cascading Stylesheets

Kapitel 10: Cascading Style Sheets

Digitale Medien. Übung

jetzt lerne ich Webseiten programmieren und gestalten Einfache Beispiele mit HTML, CSS, Javascript, ASP und PHP

HTML Cascading Style Sheets

Transformation von XML-Dokumenten. IDE SummerSchool 2013, Chemnitz

Webseite in XML Kurzeinführung

Kommentare <! Dies ist ein Kommentar > Zum Kommentieren von Inhalten oder Befehlen. Wird im Browser nicht angezeigt.

Abgabetermin: , 23:59 Uhr

Auszeichnungssprachen

Seminar DWMX DW Session 004

Generierung von PDF-Dokumenten mittels XSL-FO

Web-basierte Anwendungssysteme XHTML- CSS

HTLM und CSS. Eine erste Einführung. Karlheinz Zeiner. Inhalt

XML Extensible Markup Language

Aufgabenbereich 3: Layoutgestaltung mit CSS

Grundlagen zu HTML. Vortrag im Rahmen der BTK-Vorlesung von Herrn Professor Kärger

Extensible Stylesheet Language Transformations XSLT

Aufbau eines Klassen-Selektors: selektor.klasse { css-eigenschaft1:wert1; css-eigenschaft2:wert2;...}

Corporate Design Manual

HTML-Grundlagen. Eine Einführung in HTML für Informatik TG 11

06 Formatierungssprachen, XSL. Manuel Burghardt Lehrstuhl für Medieninformatik

Vergleich automatisierbarer XML-Satzsysteme

Die Funktionalität von Suchportalen

Duale Zustellung. Standardprofile. Version 1.0.0, DI Arne Tauber

Ergänzungen zum HTML - Grundkurs

Farb-, Text- und Schriftgestaltung mit CSS3

Werkzeuge der Informatik (CS102) Textverarbeitung

Inhalt HTML 2. Applets Frames Formulare CSS cascading style sheets. Lehrveranstaltung Internet in AT Dr.-Ing. A. Braune TECHNISCHE UNIVERSITÄT DRESDEN

Benutzerhandbuch TABLE OF CONTENTS 1. Benutzerhandbuch Bedienung

Single Source Publishing mit XML

Konzept und Realisierung Extensible Stylesheet Language

CSS - Cascading Style Sheets (Level 3) Grundlagen. Marc Haunschild. 2. Ausgabe, Oktober 2014 CSS3

3. Zeichen und Schrift

3. Freischaltung durch cinfo

Text Formatierung in Excel

Auf die Mischung kommt es an

XML-Verarbeitung. XPath XSL die extensible Stylesheet Language. Torsten Schaßan SCRIPTO Modul 4: EDV Wolfenbüttel

Dynamische Inhalte und Formate

Grundlagen der Extensible Stylesheet Language

Webdesign-Multimedia HTML und CSS

Dokumentenproduktion mit <XML/> & Co. Jeremias Märki <info@jeremias-maerki.ch>

DocBook Textverarbeitung mit XML

C O C O O N. Wo ist Cocoon in die Apache Projekte einzureihen?

Inhaltsverzeichnis. Überblick über die Formatierungsarten. Was versteht man unter Formatierung?

CSS. Webseiten- Layout mit. Know-how ist blau. Der perfekte Einstieg in Cascading Style Sheets

Transkript:

XSL-FO XSL-Formatting Objects http://www.w3.org/tr/xsl11/

Das Umfeld XSL-FO... bildet zusammen mit XSLT und XPath die XSL (extensible Stylesheet Language)... ist eine XML Applikation... definiert das visuelle Layout-Modell... wird mit Hilfe von einem Transformations-Tool (FOP, XEP,...) nach PDF, PostScript,... transformiert

Daten Formatierte Ausgabe Die XML Daten werden mit Hilfe eines Stylesheets nach XSL-FO übersetzt, und dann mit Hilfe eines FO- Transformations-Tools nach Postscript, PDF,... XML Daten XSL Style Sheet saxon XSL-FO Fop, XEP,... Display Print

Ein einfaches FO-Beispiel 1) 2) 3) 4) 5) <?xml version="1.0"?> <fo:root xmlns:fo="http://www.w3.org/1999/xsl/format"> <fo:layout-master-set> <fo:simple-page-master master-name="only" page-width="5.5cm" margin-left="1cm"> <fo:region-body/> </fo:simple-page-master> </fo:layout-master-set> <fo:page-sequence master-reference="only"> <fo:flow flow-name="xsl-region-body"> <fo:block font-size="18pt"> A small <fo:external-graphic src="fo.jpg"/> example </fo:block> </fo:flow> </fo:page-sequence> </fo:root> Die PDF-Ausgabe von FOP

Die wichtigsten XSL-FO Elemente

XSL-FO Elemente Es gibt 56 XSL-FO Elemente fo:block, fo:block-container, fo:character, fo:externalgraphic, fo:flow, fo:footnote, fo:inline, fo:layoutmaster-set, fo:leader, fo:list-block, fo:list-item, fo:list-item-body, fo:list-item-label, fo:page-number, fo:page-sequence, fo:region-after, fo:region-before, fo:region-body, fo:root, fo:simple-page-master, fo:table-and-caption, fo:table, fo:table-body, fo:table-caption, fo:table-cell, fo:table-column, fo:table-footer, fo:table-header, fo:table-row,...

fo:root Das Root-Element eines XSL-FO Dokumentes heisst fo:root. Im Root-Knoten muss der fo Namespace deklariert werden. <?xml version="1.0"?> <fo:root xmlns:fo="http://www.w3.org/1999/xsl/format">...

Die Seiten Aufteilung Eine Seite ist aufgeteilt in die fünf Bereiche regionbefore, region-after, region-start, region-end und region-body. Diese sehen in der üblichen Lesart so aus: margin before start body end after margin

fo:layout-master master-setset <fo:layout-master-set> <fo:simple-page-master master-name="first" page-height="297mm" page-width="210mm" margin-top="15mm" margin-bottom="15mm" margin-left="20mm" margin-right ="15mm"> <fo:region-body margin-top="20mm"/> <fo:region-before extent="15mm" region-name="fbefore"/> </fo:simple-page-master>... </fo:layout-master-set>

Die Platz-Verteilung für f r die Regionen 10 cm 2 cm 1.5 cm 1.5 cm 1 cm 1 cm 1.5 cm 1 cm 1 cm 9 cm Beispiel Seite 6

Definieren von verschiedenen Seiten <fo:layout-master-set> <fo:simple-page-master... master-name="erste"> <fo:region-body margin-top="3cm" margin-bottom="2cm"/> <fo:region-before extent="3cm" region-name="first-before"/> <fo:region-after extent="1.5cm" region-name="first-after"/> </fo:simple-page-master> <fo:simple-page-master... master-name="restliche"> <fo:region-body margin-top="2.5cm" margin-bottom="2cm"/> <fo:region-before extent="2.5cm" region-name="rest-before"/> </fo:simple-page-master>...

Welcher Seitentyp soll wann verwendet werden fo:page-sequence-master <fo:page-sequence-master master-name="global"> <fo:repeatable-page-master-alternatives> <fo:conditional-page-master-reference master-reference="erste" page-position="first"/> <fo:conditional-page-master-reference master-reference="restliche" page-position="rest"/> </fo:repeatable-page-master-alternatives> </fo:page-sequence-master> </fo:layout-master-set> Beispiel Seite 7

fo:flow fo:flow enthält eine beliebige Anzahl von Blöcken mit Text, Tabellen, Listen und Bildern. Mit Hilfe des flow Elementes wird der Dokument-Inhalt (Fliesstext) begrenzt. <fo:flow flow-name="xsl-region-body"> <fo:block font-size="16pt"> This is the document content. This is the <fo:external-graphic src="cup.gif"/> document content. This is the... </fo:block> </fo:flow>

fo:static-content content In den Randbereichen befindet sich normalerweise wiederkehrende Information (Überschriften, Fussnoten, Seitenzahlen,...) <fo:static-content flow-name="xsl-region-after"> <fo:block text-align="end" font-size="10pt"> Seite <fo:page-number/> </fo:block> </fo:static-content> Seite 1

fo:block fo:block erzeugt einen Bereich (ein oder mehrere Zeilen lang. fo:block wird benutzt, um zusammengehörende Ausgabe-Elemente (ein Textabschnitt, eine Titelzeile, eine Tabelle,...) zu gruppieren. <fo:block font-size="36pt"> Chapter 1: Introduction </fo:block>

fo:block-container container Ein fo:block-container Element kann an beliebiger Stelle auf des Seite positioniert werden: <fo:block-container border-color="black" border-style="solid" border-width="1pt" height="1cm" width="4cm" padding="5pt" top="9.5cm" left="12cm" position="absolute" > <fo:block text-align="start" line-height="10pt" font-family="sans-serif" font-size="10pt"> Hier ist ein Text </fo:block> </fo:block-container> Hier ist ein Text

fo:inline Das Element fo:inline dient zum Formatieren eines Textabschnitts, ohne dass eine neue Zeile begonnen wird. <fo:block font-family="times Roman"> Hier ist <fo:inline font-style="italic"> ein </fo:inline> Abschnitt <fo:inline font-weight="bold"> mit </fo:inline> verschiedenen <fo:inline color="blue"> Formaten. </fo:inline> </fo:block>

fo:external-graphic Mit Hilfe von fo:external-graphic wird ein Bild in ein Dokument eingebettet. Mögliche Bildformate sind GIF und JPEG,... <fo:block> Look at this! <fo:external-graphic src="cup.jpg"/> </fo:block>

fo:list-block, fo:list-item item fo:list-block dient zum Erzeugen einer Liste. Es erwartet als Kinder (beliebig viele) fo:list-item Elemente. <fo:list-block> <fo:list-item> <fo:list-item-label><fo:block> a) </fo:block> </fo:list-item-label> <fo:list-item-body start-indent="body-start()"> <fo:block>dies ist das erste Listenelement.</fo:block> </fo:list-item-body> </fo:list-item>... </fo:list-block>

Tabellen Zum Erzeugen von Tabellen gibt es die Elemente fo:table, fo:table-body, fo:table-cell, fo:tablecolumn, fo:table-footer, fo:table-header, fo:table-row fo:table enthält (optional) einen table-header und/oder table-footer sowie einen table-body. Der table-body besteht dann aus table-row Elementen, welche wiederum aus table-cell Knoten zusammengesetzt sind. Beispiel Seite 11

Erzeugen von Tabellen <fo:table border="1pt solid black" background-color="#eeeeee"> <fo:table-column column-width="20mm"/> <fo:table-column/> <fo:table-header font-weight="bold" background-color="#cccccc"> <fo:table-row> <fo:table-cell border="1pt solid black" padding="3pt"> <fo:block> HTML </fo:block> </fo:table-cell>... </fo:table-row> </fo:table-header> <fo:table-body>... </fo:table-body> </fo:table>

Die wichtigsten Attribute Properties

Attribute sind Properties Die Attribute der FO-Elemente sind Formatierungs- Anweisungen. Sie bestimmen das Aussehen des Inhalts. Es gibt mehr als 200 Format Properties (Attribute), welche oft in verschiedensten Elementen angegeben werden können. Properties werden von aussen nach innen abgearbeitet. Bei sich widersprechenden Angaben, überschreibt die lokale Angabe die globale. Eine Property, welche an verschiedenen Orten benutzt werden kann, hat immer dieselbe Bedeutung.

Character Properties Alle XSL-FO Elemente, welche Text enthalten können (fo:block, fo:inline,...), erlauben Attribute für das Setzen von Character Properties(color, font-size, font-family, text-decoration,...). <fo:block font-family="helvetica" font-size="12pt"> Hier ist ein <fo:inline text-decoration="underline"> wichtiger </fo:inline> <fo:inline color="red" font-weight="900"> Text </fo:inline> </fo:block>

Character Property: Farbe Die color-property setzt die Schriftfarbe: <fo:inline color="green"> Text </fo:inline> Wie in CSS gibt es 16 vordefinierte Farben: white Weitere Farben können als hexadezimale rgb-trippel definiert werden: #RRGGBB.

Character Property: Font Die Property font-family definiert den zu benutzenden Font: <fo:inline font-family="times Roman" > Times Roman </fo:inline> Mögliche Fonts sind sans-serif, serif, Helvetica, Times Roman, Courier, Symbol, ZapfDingbats,...

Character Property: Schriftgrösse Die Property font-size definiert die zu benutzende Schriftgrösse: <fo:inline font-family="helvetica" font-size="24pt"> ein Text in 24 Punkt Schrift </fo:inline>

Character Property: Style Der Style des Fonts wird definiert durch die Property font-style <fo:block font-family="times Roman" font-style="italic"> Times Roman italic </fo:block> Es gibt die Styles normal, italic und oblique

Character Property: Schrift-Dicke Die Dicke der Schrift wird definiert durch die Property font-weight: <fo:block font-family="times Roman" font-weight="bold"> Hier ist ein bold Text </fo:block> <fo:block font-family="times Roman" font-weight="normal"> Hier ist ein normaler Text </fo:block>

Character Property: Dekorationen text-decoration="underline" unterstrichen text-decoration="overline" überstrichen text-decoration="line-through" durchgestrichen text-shadow="gray" Schattenschrift text-transform="capitalize" text-transform="uppercase" text-transform="lowercase" Alle Ersten Buchstaben GROSSSCHRIFT kleinschrift

Sentence Properties Sentence Properties bestimmen den Platz zwischen den einzelnen Buchstaben (letter-spacing), zwischen einzelnen Wörtern im Text (word-spacing) und zwischen den einzelnen Linien im Text (line-height, text-depth, text-altitude,...), die Ausrichtung des Texts (text-align),...

Sentence Property: Zeilenabstand Der Zeilenabstand im Text kann kontrolliert werden durch die Properties line-height, text-depth und text-altitude. <fo:block font-size="10pt" line-height="16pt"...> Hier ist ein Text,... </fo:block>

Sentence Property: Text Ausrichtung Ob der Text linksbündig, rechtsbündig, zentriert oder im Blocksatz gesetzt werden soll, wird durch die Property text-align gesetzt. Diese kann die folgenden Werte annehmen: start oder left linksbündig center zentriert end oder right rechtsbündig justify Blocksatz

Definieren von Attribut-Listen Zum Definieren verschiedener Styles für verschiedene Textblöcke <xsl:attribute-set name="text-style"> <xsl:attribute name="font-family">serif</xsl:attribute> <xsl:attribute name="font-size">12pt</xsl:attribute> <xsl:attribute name="font-weight">normal</xsl:attribute>... </xsl:attribute-set> Werden verwendet durch <fo:block xsl:use-attribute-sets="text-style">

Das Rahmenprogramm Das Rahmenprogramm erzeugt eine (fast) leere A4 Seite. In diese sollen dann die Daten aus dem XML- Dokument aufgelistet werden.

Als Tabelle ausgeben Nun sollen die XML-Daten in eine Tabelle abgefüllt werden. Schreiben Sie dazu das Stylesheet der ersten Aufgabe um, so dass die folgende Tabelle erstellt wird.