Privacy Policy Cookie Policy Terms and Conditions Extensible Stylesheet Language – Formatting Objects - Wikipedia

Extensible Stylesheet Language – Formatting Objects

aus Wikipedia, der freien Enzyklopädie

XSL-FO (Extensible Stylesheet Language – Formatting Objects) ist eine XML-Anwendung, die beschreibt, wie Text, Bilder, Linien und andere grafische Elemente auf einer Seite angeordnet werden. Mit Hilfe von XSL-FO ist es möglich, qualitativ hochwertige Druckerzeugnisse entweder auf Papier oder auf dem Bildschirm zu erzeugen. Die Spezifikation erlaubt sogar, dass XSL-FO-Dokumente beispielsweise über einen Sprachsynthesizer vorgelesen werden können.

XSL-FO ist – neben XSLT und XPath – ein Teil der XSL-Spezifikation.

Inhaltsverzeichnis

[Bearbeiten] Eigenschaften

XSL-FO ist eine Seitenbeschreibungssprache, die ihre Wurzeln in DSSSL hat und zeitweise mit CSS parallel entwickelt wurde. Das Entscheidende an XSL-FO im Vergleich zu CSS sind die unterschiedlichen Seitenmodelle, Bereiche in XSL-FO bzw. Box-Modell in CSS, und die unterschiedlichen Prozess-Modelle (zweistufige Verarbeitung unter Nutzung von XSLT und danach die Layoutierung mit XSL-FO-Formatierern einerseits und die ad-hoc-Formatierung mit CSS-Renderern andererseits). XSL-FO enthält Elemente und Attribute für folgende Aspekte:

  • Regionen, Ränder und Bereiche einer Seite
  • Breite und Höhe von Seiten
  • Abfolge von Seiten
  • Seitennummerierung
  • Rahmen, Abständen, Spalten und Blöcken
  • Absätze, Listen und Tabellen
  • Textformatierung wie Satzformate und Trennung
  • Linien, Bilder und andere Objekte
  • und vieles mehr

Die Liste ist, speziell im Hinblick auf XSL 1.1, bei weitem unvollständig.

XSL-FO wurde nicht für die Aufgaben von Textverarbeitungssystemen entwickelt, sondern für den professionellen Druck. Deshalb ist der Funktionsumfang dieser beiden Techniken nur schwer zu vergleichen. Nimmt man zu XSL-FO jedoch XSLT als Transformationssprache hinzu, können viele Funktionen heutiger Textverarbeitungssysteme mit den beiden Sprachen nachgebildet werden. Hierdurch wird zudem eine „sprachliche“ Trennung zwischen Darstellung (durch XSL-FO) und Logik (XSLT) ermöglicht, wie sie in Textverarbeitungssystemen zugunsten einer einfacheren Handhabung nicht zu finden ist. Mit AbiWord kann man XSL-FO Dokumente importieren und exportieren, allerdings werden hierbei nicht alle Funktionen unterstützt.

Für die Generierung von PDF, RTF, ASCII-Text und sonstigen Print-Medien aus einer XSL-FO-Datei stehen sogenannte FO-Prozessoren zur Verfügung. Ein weit verbreitetes Programm ist FOP (Formatting Objects Processor) aus dem Apache-Projekt (siehe Weblink), eine Java-Anwendung, die aus XSL-FO-Daten PDF-Dokumente erzeugt und teilweise auch Postscript und PCL unterstützt. In vielen Industriebereichen werden jedoch kommerziell entwickelte Formatierer verwendet, die zum einen größere Teile der Spezifikation unterstützen, andererseits auch eigene Erweiterungen enthalten, die nicht Bestandteil von XSL-FO, aber für den Praxisgebrauch zwingend notwendig sind, z.B. weitere Ausgabeformate.

[Bearbeiten] Vorgehensweise

Transformation von XML-Daten in einen FO-Baum und in ein PDF-Dokument, schematische Darstellung
vergrößern
Transformation von XML-Daten in einen FO-Baum und in ein PDF-Dokument, schematische Darstellung

Der Ausgangspunkt ist ein XML-Dokument, welches mit Hilfe von XSLT-Stylesheets in eine XSL-FO-Datei umgewandelt wird. Das XSLT-Stylesheet wählt aus dem Ursprungsdokument die erforderlichen Elemente aus und transformiert sie in eine Kombination aus XSL-FO-Elementen und -Attributen (den so genannten FO-Baum). Diese legen das Erscheinungsbild im Zielmedium fest (beispielsweise Seitengestaltung, Gestaltung von Spalten, Listen, Tabellen, usw.). Dieser Vorgang wiederholt sich, bis das Ursprungsdokument vollständig abgearbeitet ist. In einem zweiten Schritt erzeugt ein geeigneter Formatierer (auch FO-Prozessor genannt) die gewünschte Zieldatei (z. B. PDF, RTF oder PostScript).

[Bearbeiten] Beispiel

Folgendes Beispiel definiert eine DIN A4-Seite mit dem Text "Hallo Welt!":

 <?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="A4" 
                           page-width="210mm" page-height="297mm">
    <fo:region-body region-name="xsl-region-body"  margin="2cm"/>
   </fo:simple-page-master>
  </fo:layout-master-set>
  
  <fo:page-sequence  master-reference="A4">   <!-- (in Versionen <20 "master-name") -->
   <fo:flow flow-name="xsl-region-body">
    <fo:block>Hallo Welt!</fo:block>
   </fo:flow>
  </fo:page-sequence>
  
 </fo:root>

[Bearbeiten] Literatur

[Bearbeiten] Software

[Bearbeiten] Weblinks

THIS WEB:

aa - ab - af - ak - als - am - an - ang - ar - arc - as - ast - av - ay - az - ba - bar - bat_smg - be - bg - bh - bi - bm - bn - bo - bpy - br - bs - bug - bxr - ca - cbk_zam - cdo - ce - ceb - ch - cho - chr - chy - closed_zh_tw - co - cr - cs - csb - cu - cv - cy - da - de - diq - dv - dz - ee - el - eml - en - eo - es - et - eu - fa - ff - fi - fiu_vro - fj - fo - fr - frp - fur - fy - ga - gd - gl - glk - gn - got - gu - gv - ha - haw - he - hi - ho - hr - hsb - ht - hu - hy - hz - ia - id - ie - ig - ii - ik - ilo - io - is - it - iu - ja - jbo - jv - ka - kg - ki - kj - kk - kl - km - kn - ko - kr - ks - ksh - ku - kv - kw - ky - la - lad - lb - lbe - lg - li - lij - lmo - ln - lo - lt - lv - map_bms - mg - mh - mi - mk - ml - mn - mo - mr - ms - mt - mus - my - mzn - na - nah - nap - nds - nds_nl - ne - new - ng - nl - nn - no - nov - nrm - nv - ny - oc - om - or - os - pa - pag - pam - pap - pdc - pi - pih - pl - pms - ps - pt - qu - rm - rmy - rn - ro - roa_rup - roa_tara - ru - ru_sib - rw - sa - sc - scn - sco - sd - se - searchcom - sg - sh - si - simple - sk - sl - sm - sn - so - sq - sr - ss - st - su - sv - sw - ta - te - test - tet - tg - th - ti - tk - tl - tlh - tn - to - tokipona - tpi - tr - ts - tt - tum - tw - ty - udm - ug - uk - ur - uz - ve - vec - vi - vls - vo - wa - war - wo - wuu - xal - xh - yi - yo - za - zea - zh - zh_classical - zh_min_nan - zh_yue - zu

Static Wikipedia 2008 (no images)

aa - ab - af - ak - als - am - an - ang - ar - arc - as - ast - av - ay - az - ba - bar - bat_smg - bcl - be - be_x_old - bg - bh - bi - bm - bn - bo - bpy - br - bs - bug - bxr - ca - cbk_zam - cdo - ce - ceb - ch - cho - chr - chy - co - cr - crh - cs - csb - cu - cv - cy - da - de - diq - dsb - dv - dz - ee - el - eml - en - eo - es - et - eu - ext - fa - ff - fi - fiu_vro - fj - fo - fr - frp - fur - fy - ga - gan - gd - gl - glk - gn - got - gu - gv - ha - hak - haw - he - hi - hif - ho - hr - hsb - ht - hu - hy - hz - ia - id - ie - ig - ii - ik - ilo - io - is - it - iu - ja - jbo - jv - ka - kaa - kab - kg - ki - kj - kk - kl - km - kn - ko - kr - ks - ksh - ku - kv - kw - ky - la - lad - lb - lbe - lg - li - lij - lmo - ln - lo - lt - lv - map_bms - mdf - mg - mh - mi - mk - ml - mn - mo - mr - mt - mus - my - myv - mzn - na - nah - nap - nds - nds_nl - ne - new - ng - nl - nn - no - nov - nrm - nv - ny - oc - om - or - os - pa - pag - pam - pap - pdc - pi - pih - pl - pms - ps - pt - qu - quality - rm - rmy - rn - ro - roa_rup - roa_tara - ru - rw - sa - sah - sc - scn - sco - sd - se - sg - sh - si - simple - sk - sl - sm - sn - so - sr - srn - ss - st - stq - su - sv - sw - szl - ta - te - tet - tg - th - ti - tk - tl - tlh - tn - to - tpi - tr - ts - tt - tum - tw - ty - udm - ug - uk - ur - uz - ve - vec - vi - vls - vo - wa - war - wo - wuu - xal - xh - yi - yo - za - zea - zh - zh_classical - zh_min_nan - zh_yue - zu -

Static Wikipedia 2007:

aa - ab - af - ak - als - am - an - ang - ar - arc - as - ast - av - ay - az - ba - bar - bat_smg - be - bg - bh - bi - bm - bn - bo - bpy - br - bs - bug - bxr - ca - cbk_zam - cdo - ce - ceb - ch - cho - chr - chy - closed_zh_tw - co - cr - cs - csb - cu - cv - cy - da - de - diq - dv - dz - ee - el - eml - en - eo - es - et - eu - fa - ff - fi - fiu_vro - fj - fo - fr - frp - fur - fy - ga - gd - gl - glk - gn - got - gu - gv - ha - haw - he - hi - ho - hr - hsb - ht - hu - hy - hz - ia - id - ie - ig - ii - ik - ilo - io - is - it - iu - ja - jbo - jv - ka - kg - ki - kj - kk - kl - km - kn - ko - kr - ks - ksh - ku - kv - kw - ky - la - lad - lb - lbe - lg - li - lij - lmo - ln - lo - lt - lv - map_bms - mg - mh - mi - mk - ml - mn - mo - mr - ms - mt - mus - my - mzn - na - nah - nap - nds - nds_nl - ne - new - ng - nl - nn - no - nov - nrm - nv - ny - oc - om - or - os - pa - pag - pam - pap - pdc - pi - pih - pl - pms - ps - pt - qu - rm - rmy - rn - ro - roa_rup - roa_tara - ru - ru_sib - rw - sa - sc - scn - sco - sd - se - searchcom - sg - sh - si - simple - sk - sl - sm - sn - so - sq - sr - ss - st - su - sv - sw - ta - te - test - tet - tg - th - ti - tk - tl - tlh - tn - to - tokipona - tpi - tr - ts - tt - tum - tw - ty - udm - ug - uk - ur - uz - ve - vec - vi - vls - vo - wa - war - wo - wuu - xal - xh - yi - yo - za - zea - zh - zh_classical - zh_min_nan - zh_yue - zu

Static Wikipedia 2006:

aa - ab - af - ak - als - am - an - ang - ar - arc - as - ast - av - ay - az - ba - bar - bat_smg - be - bg - bh - bi - bm - bn - bo - bpy - br - bs - bug - bxr - ca - cbk_zam - cdo - ce - ceb - ch - cho - chr - chy - closed_zh_tw - co - cr - cs - csb - cu - cv - cy - da - de - diq - dv - dz - ee - el - eml - en - eo - es - et - eu - fa - ff - fi - fiu_vro - fj - fo - fr - frp - fur - fy - ga - gd - gl - glk - gn - got - gu - gv - ha - haw - he - hi - ho - hr - hsb - ht - hu - hy - hz - ia - id - ie - ig - ii - ik - ilo - io - is - it - iu - ja - jbo - jv - ka - kg - ki - kj - kk - kl - km - kn - ko - kr - ks - ksh - ku - kv - kw - ky - la - lad - lb - lbe - lg - li - lij - lmo - ln - lo - lt - lv - map_bms - mg - mh - mi - mk - ml - mn - mo - mr - ms - mt - mus - my - mzn - na - nah - nap - nds - nds_nl - ne - new - ng - nl - nn - no - nov - nrm - nv - ny - oc - om - or - os - pa - pag - pam - pap - pdc - pi - pih - pl - pms - ps - pt - qu - rm - rmy - rn - ro - roa_rup - roa_tara - ru - ru_sib - rw - sa - sc - scn - sco - sd - se - searchcom - sg - sh - si - simple - sk - sl - sm - sn - so - sq - sr - ss - st - su - sv - sw - ta - te - test - tet - tg - th - ti - tk - tl - tlh - tn - to - tokipona - tpi - tr - ts - tt - tum - tw - ty - udm - ug - uk - ur - uz - ve - vec - vi - vls - vo - wa - war - wo - wuu - xal - xh - yi - yo - za - zea - zh - zh_classical - zh_min_nan - zh_yue - zu