XSL -Objekte formatieren

XSL -Objekte formatieren
Dateiname Erweiterung
.xml, .fo
Internet -Medientyp Anwendung/XML,
Text/xml(veraltet)
Uniform Typ Identifier (UTI) public.xml
Entwickelt von World Wide Web Konsortium (W3C)
Neueste Erscheinung
1.1
5. Dezember 2006; vor 15 Jahren
Art des Formats Auszeichnungssprache
Enthalten von Xml
Offenes Format? Ja
Webseite www.W3.org/Tr/xsl11/

Xsl-fo (XSL -Objekte formatieren) ist ein Auszeichnungssprache zum Xml Dokumentformatierung, die am häufigsten zur Generierung verwendet wird PDF Dateien. XSL-fo ist Teil von XSL (Extensible Stylesheet -Sprache), ein Satz von W3c Technologien für die Transformation und Formatierung von XML -Daten. Die anderen Teile von XSL sind Xslt und XPath. Version 1.1 von XSL-FO wurde 2006 veröffentlicht.

XSL-FO wird berücksichtigt Feature vollständig von w3c:[1] Das letzte Update für den Arbeitsentwurf war im Januar 2012 und die Arbeitsgruppe wurde im November 2013 geschlossen.[2]

Grundlagen

Im Gegensatz zur Kombination von Html und CSS, XSL-FO ist eine einheitliche Präsentationssprache. Es hat kein semantisches Aufschlag, da dieser Begriff in HTML verwendet wird. Im Gegensatz zu CSS, das die Standardpräsentation eines externen XML- oder HTML -Dokuments ändert, werden alle Daten des Dokuments in sich selbst gespeichert.

Die allgemeine Idee hinter XSL-FOs Verwendung ist, dass der Benutzer ein Dokument nicht in FO, sondern in einer XML-Sprache schreibt. Xhtml, Dokument, und Tei sind alles mögliche Beispiele. Dann erhält der Benutzer eine Xslt Verwandeln Sie entweder durch das Schreiben eines selbst oder indem Sie einen für den betreffenden Dokumenttyp finden. Diese XSLT-Transformation wandelt das XML in XSL-FO um.

Sobald das XSL-FO-Dokument generiert wurde, wird es an eine Anwendung genannt, die als FO-Prozessor bezeichnet wird. FO-Prozessoren konvertieren das XSL-FO-Dokument in etwas, das lesbar, druckbar oder beides ist. Der häufigste Ausgang von XSL-FO ist a PDF Datei oder AS PostScript, aber einige FO -Prozessoren können an andere Formate wie möglich ausgegeben werden RTF Dateien oder sogar nur ein Fenster in der GUI des Benutzers, in dem die Abfolge der Seiten und deren Inhalt angezeigt wird.

Die XSLT -Sprache selbst wurde ursprünglich nur für diesen Zweck konzipiert; Es ist jetzt weit verbreitet für allgemeinere XML -Transformationen. Dieser Transformationsschritt ist in XSL-FO so viel selbstverständlich, dass es nicht ungewöhnlich ist, dass Menschen das XSLT anrufen, das XML in XSL-Fo das tatsächliche XSL-FO-Dokument selbst verwandelt. Selbst Tutorials auf XSL-FO werden in der Regel mit XSLT-Befehlen um die FO-Verarbeitungsanweisungen geschrieben.

Der XSLT -Transformationsschritt ist außergewöhnlich leistungsfähig. Es ermöglicht die automatische Erzeugung einer Inhaltsverzeichnis, verknüpften Referenzen, eines Index und verschiedenen anderen Möglichkeiten.

Ein XSL-FO-Dokument ist nicht wie ein PDF oder ein Postscript-Dokument. Es beschreibt das Layout des Textes auf verschiedenen Seiten nicht definitiv. Stattdessen beschreibt es, wie die Seiten aussehen und wohin die verschiedenen Inhalte gehen. Von dort bestimmt ein FO -Prozessor, wie der Text innerhalb der vom FO -Dokument beschriebenen Grenzen positioniert wird. Die XSL-FO-Spezifikation ermöglicht es verschiedenen FO-Prozessoren sogar, unterschiedliche Antworten in Bezug auf die resultierenden erzeugten Seiten zu haben.

Zum Beispiel können einige FO -Prozessoren Wörter hyphenieren, um den Raum beim Aufbrechen einer Linie zu minimieren, während andere dies nicht dafür entscheiden. Verschiedene Prozessoren können sogar unterschiedliche Bindestrichalgorithmen verwenden, die von sehr einfach bis zu komplexeren Bindestrichalgorithmen reichen, die berücksichtigen, ob auch die vorherige oder nächste Zeile beigebracht ist. Diese werden in einigen Grenzfällen im Wesentlichen das Layout der verschiedenen Seiten wesentlich ändern. Es gibt andere Fälle, in denen die XSL-FO-Spezifikation Fo-Prozessoren in Bezug auf das Layout ausdrücklich ein gewisses Maß an Auswahl ermöglicht.

Diese Unterscheidung zwischen FO -Prozessoren, die inkonsistente Ergebnisse zwischen Prozessoren erzeugen, ist häufig kein Problem. Dies liegt daran, dass der allgemeine Zweck hinter XSL-FO darin besteht, ausgelastete, gedruckte Medien zu generieren. XSL-FO-Dokumente selbst werden normalerweise als Vermittler verwendet, meistens auch, um entweder zu generieren PDF Dateien oder ein gedrucktes Dokument als endgültiges Formular. Dies ist im Gegensatz dazu, wie HTML als endgültige Form direkt an den Benutzer generiert und verteilt wird. Verteilung des endgültigen PDF anstelle des Formatierungsspracheingangs (ob HTML/CSS oder XSL-FO) einerseits, dass die Empfänger nicht von der Unvorhersehbarkeit betroffen sind Das Dokument kann sich nicht einfach an unterschiedliche Empfängerbedürfnisse anpassen, z. B. unterschiedliche Seitengröße oder bevorzugte Schriftgröße oder Anpassung für On-Screen-gegenüber dem On-Paper gegenüber Audio-Präsentation.

Sprachkonzepte

Die XSL-FO-Sprache wurde für ausgesetzte Medien entwickelt. Daher ist das Konzept der Seiten ein wesentlicher Bestandteil der Struktur von XSL-FO.

FO funktioniert am besten für das sogenannte "inhaltsgetriebenes" Design. Dies ist die Standardmethode des Layouts für Bücher, Artikel, Rechtsdokumente usw. Es beinhaltet eine einzelne fließende Spannweite des ziemlich zusammenhängenden Textes mit verschiedenen wiederholten Informationen, die in die Ränder einer Seite integriert sind. Dies ist im Gegensatz zu "Layout-gesteuerter" Design, das in Zeitungen oder Zeitschriften verwendet wird. Wenn der Inhalt in diesen Dokumenten nicht in den erforderlichen Raum passt, ist ein Teil davon abgeschaltet, bis er passt. XSL-FO verarbeitet die engen Beschränkungen des Magazin-Layouts nicht leicht. In vielen Fällen fehlt es in der Lage, einige Formen des Layouts auszudrücken.

Trotz der Grundnatur des Designs der Sprache ist es viel Ausdruckskraft in der Lage. Tabellen, Listen, Seitenschwimmer und eine Vielzahl anderer Funktionen sind verfügbar. Diese Funktionen sind vergleichbar mit den Layoutfunktionen von CSS, obwohl einige dieser Funktionen vom XSLT gebaut werden.

Dokumentstruktur

XSL-FO-Dokumente sind XML DTD oder Schema. Stattdessen entsprechen sie einer in der definierten Syntax XSL-FO-Spezifikation.

XSL-FO-Dokumente enthalten zwei erforderliche Abschnitte. Der erste Abschnitt beschreibt eine Liste der benannten Seitenlayouts. Der zweite Abschnitt ist eine Liste von Dokumentdaten mit Markup, in dem die verschiedenen Seitenlayouts verwendet werden, um festzustellen, wie der Inhalt die verschiedenen Seiten füllt.

Seitenlayouts definieren die Eigenschaften der Seite. Sie können die Anweisungen für den Textfluss definieren, um die Konventionen für die fragliche Sprache zu entsprechen. Sie definieren die Größe einer Seite sowie die Ränder dieser Seite. Noch wichtiger ist, dass sie Sequenzen von Seiten definieren können, die Effekte ermöglichen, bei denen die ungeraden und sogar Seiten anders aussehen. Zum Beispiel kann man eine Seitenlayoutsequenz definieren, die den inneren Rändern für Druckzwecke zusätzlichen Platz verleiht. Dies ermöglicht dem Rand, an dem das Buch gebunden ist, mehr Platz.

Der Dokumentdatenabschnitt wird in eine Abfolge von Strömungen unterteilt, in denen jeder Fluss an ein Seitenlayout angehängt wird. Die Flows enthalten eine Liste von Blöcken, die wiederum jeweils eine Liste von Textdaten, Inline -Markup -Elementen oder eine Kombination der beiden enthalten. Inhalte können auch den Rändern des Dokuments für Seitenzahlen, Kapitelüberschriften und dergleichen hinzugefügt werden.

Blöcke und Inline -Elemente funktionieren ähnlich wie bei CSS, obwohl sich einige der Regeln für Polsterung und Ränder zwischen FO und CSS unterscheiden. Die Richtung relativ zur Seitenorientierung für den Fortschreiten von Blöcken und Einläufen kann vollständig angegeben werden, sodass FO -Dokumente unter Sprachen funktionieren können, die sich von Englisch unterscheiden. Die Sprache der FO-Spezifikation verwendet im Gegensatz zu CSS 2.1 richtungsneutrale Begriffe wie Start und Ende und nicht links und rechts, wenn diese Anweisungen beschrieben werden.

Das grundlegende Inhaltsmarkup von XSL-FO stammt aus CSS und seinen Kaskadierungsregeln. Daher verbreiten viele Attribute in XSL-Fo in die Kinderelemente, sofern sie nicht ausdrücklich außer Kraft gesetzt werden.

Fähigkeiten von XSL-FO v1.0

XSL-FO ist in der Lage, eine Menge Textlayoutfunktionalität zu erhalten. Zusätzlich zu den oben angegebenen Informationen ermöglicht die Sprache von XSL-FO die Spezifikation der folgenden.

Mehrere Spalten

Eine Seite kann definiert werden, um mehrere Spalten zu haben. Wenn dies der Fall ist, fließen die Blöcke standardmäßig aus einer Spalte in die nächste. Einzelne Blöcke können auf alle Spalten eingestellt werden und erstellen einen Textunterbrechung auf der Seite. Die Spalten über diesem Bruch fließen ineinander, ebenso wie die Spalten unterhalb des Bruchs. Es darf jedoch kein Text vom obigen Abschnitt zum folgenden Abschnitt fließen.

Aufgrund der Art der Seitenspezifikation von XSL-FO können mehrere Seiten tatsächlich unterschiedliche Zahlen und Breiten von Spalten haben. Als solches kann der Text von einer 3 -Spalte -Seite zu einer 5 -Spalte -Seite zu einer 1 -Spalte -Seite ganz einfach fließen.

Alle FO-Features funktionieren innerhalb der Einschränkungen einer Multi-Säulen-Seite.

Wir können mehrere Spalten umfassen, indem wir zwei Attribute angeben, d. H. ,. Spannweite, Polsterung.

Listen

Eine XSL-FO-Liste ist im Wesentlichen zwei Sätze von Blöcken, die nebeneinander gestapelt sind. Ein Eintrag besteht aus einem Block auf der "linken" oder Startinline -Richtung und einer Blocksequenz auf der "rechten" oder in der Inline -Richtung. Der Block links ist konzeptionell, wie es die Nummer oder Kugel in einer Liste wäre. Es könnte jedoch genauso leicht eine Textfolge sein, wie man es in einem Glossareintrag sehen könnte. Der Block auf der Rechten funktioniert wie erwartet. Beide Blöcke können Blockbehälter sein oder mehrere Blöcke in einem einzigen Listeneintrag haben.

Die Nummerierung von XSL-FO-Listen, wenn sie nummeriert sind, wird voraussichtlich von der XSLT oder einem anderen anderen Prozess durchgeführt, der das XSL-FO-Dokument generiert hat. Daher müssen die Zahlenlisten in XSL-FO explizit nummeriert werden.

Paginationskontrollen

Der Benutzer kann angeben Witwe und Verwaist für Blöcke oder für den Fluss selbst und lassen Sie die Attribute in Kinderblöcke kaskaden. Zusätzlich können Blöcke angegeben werden, um auf einer einzelnen Seite zusammenzuhalten. Beispielsweise kann ein Bildblock und die Beschreibung dieses Bildes so eingestellt werden, dass sie niemals getrennt werden. Der FO -Prozessor wird sein Bestes tun, um sich an diese Befehle zu halten, auch wenn er auf einer Seite viel leerer Raum schaffen muss.

Fußnoten

Der Benutzer kann Fußnoten erstellen, die am Ende einer Seite angezeigt werden. Die Fußnote wird im FO -Dokument im regulären Textfluss an dem Punkt geschrieben, an dem sie verwiesen wird. Die Referenz wird als Inline -Definition dargestellt, obwohl sie nicht erforderlich ist. Der Körper ist ein oder mehrere Blöcke, die vom FO -Prozessor am Ende der Seite platziert werden. Der FO -Prozessor garantiert, dass die durch diese Referenz zitierte Fußnote, wo immer die Referenz ist, auf derselben Seite beginnt. Dies gilt auch dann, wenn dies bedeutet, dass auf einer Seite zusätzlichen leeren Speicherplatz erstellt wird.

Tische

Eine FO -Tabelle funktioniert ähnlich wie eine HTML/CSS -Tabelle. Der Benutzer gibt Datenzeilen für jede einzelne Zelle an. Der Benutzer kann auch einige Styling -Informationen für jede Spalte angeben, z. B. die Hintergrundfarbe. Darüber hinaus kann der Benutzer die erste Zeile als Tabellenkopfzeile mit seinen eigenen separaten Styling -Informationen angeben.

Dem FO-Prozessor kann genau gesagt werden, wie viel Platz für jede Spalte geben kann, oder er kann den Text in der Tabelle automatisch anpassen.

Textorientierungsteuerungen

FO hat umfangreiche Steuerelemente für die Ausrichtung von Textblöcken. Man kann in der Mitte einer Seite einen Textblock bezeichnen, der in einer anderen Ausrichtung ausgerichtet sein soll. Diese orientierten Blöcke können für Sprachen in einer anderen Ausrichtung als im Rest des Dokuments verwendet werden oder einfach, wenn man den Text für Layoutzwecke orientieren muss. Diese Blöcke können praktisch jede Art von Inhalten enthalten, von Tabellen bis hin zu Listen oder sogar anderen Blöcken neu ausgerichteter Text.

Sonstig

  • Seitenzahl Zitate. Eine Seite, die ein spezielles Tag enthält, kann im Text zitiert werden, und der FO -Prozessor füllt die tatsächliche Seitennummer aus, in der dieses Tag angezeigt wird.
  • Blockgrenzen in einer Reihe von Stilen.
  • Hintergrundfarben und Bilder.
  • Schriftart und Gewichtung wie in CSS.
  • Seitenschwimmer.
  • Verschiedene Inline -Elemente.

Fähigkeiten von XSL-FO v1.1

Version 1.1 von XSL-FO fügt Version 1.0 eine Reihe neuer Funktionen hinzu.

Mehrere Ströme und Flussabbildung

XSL-FO 1.0 war ziemlich restriktiv darüber, welchen Text in welchen Bereichen einer Seite gehen durfte. Version 1.1 löst diese Einschränkungen erheblich, sodass der fließende Text in mehreren expliziten Regionen auf einer Seite abgebildet werden kann. Dies ermöglicht mehr Zeitungs-ähnliche Artensettung.

Lesezeichen

Viele Ausgangsformate für XSL-FO-Prozessoren, insbesondere PDF, haben Lesezeichenfunktionen. Dadurch können das Format eine Textzeichenfolge in einem separaten Fenster angeben, das vom Benutzer ausgewählt werden kann. Bei der Auswahl scrollt das Dokumentfenster sofort zu einem bestimmten Bereich des Dokuments.

XSL-FO v1.1 bietet nun die Möglichkeit, benannte Lesezeichen in XSL-FO zu erstellen, sodass der Prozessor dies an ein Ausgangsformat weitergeben kann, das es unterstützt.

Indizierung

XSL-FO 1.1 verfügt über Funktionen, die die Erzeugung eines Index unterstützen, der möglicherweise auf der Rückseite eines Buches zu finden ist. Dies erfolgt durch die Referenzierung von ordnungsgemäß angegebenen Elementen im FO-Dokument.

Letzte Seite Zitat

Die letzte Seite kann generiert werden, ohne einen expliziten In-Document-Verweis auf einen bestimmten Anker im FO-Dokument bereitzustellen. Die Definition von "Last Page" kann innerhalb eines bestimmten Seitensatzes oder des gesamten Dokuments beschränkt werden. Auf diese Weise kann der Benutzer so etwas wie "Seite 2 von 15" angeben, wobei Seite 15 die Seitennummer einer letzten Seitendefinition ist.

Tischmarkierungen

Mit Tabellenmarkierungen kann der Benutzer dynamische Inhalte in Tabellenheader und Fußzeilen erstellen, z.

Innen-/Außenschwimmer

XSL-FO 1.1 fügt die Schlüsselwörter "innen" und "draußen" für Seitenschwimmer hinzu, wodurch es möglich ist, Seitenlayouts mit Marginalia zu erreichen, die sich an der Außen- oder Innenkanten von Seiten befinden. Im Inneren bezieht sich die Seite der Seite in Richtung der Buchbindung, und draußen bezieht sich auf die Seite einer Seite entfernt von der Buchbindung.

Raffinierte Grafikgrößen

XSL-FO 1.1 verfeinert die Funktionalität für die Größe von Grafiken, die passen, mit der Fähigkeit, zu passen (aber nicht zu passen) sowie die Fähigkeit, spezifische Skalierungsschritte zu definieren. Darüber hinaus kann der resultierende Skalierungsfaktor für die Anzeige referenziert werden (z. B. in einer Figur -Bildunterschrift "Die gezeigte Bild ist 50% der tatsächlichen Größe").

Vorteile

  • XML -Sprache -Da es sich um eine XML-Sprache handelt, ist nur eine XSLT-Transformation (und ein XSLT-Prozessor) erforderlich, um XSL-FO-Code aus einer beliebigen XML-Sprache zu generieren. Man kann leicht ein Dokument in schreiben Tei oder Dokumentund verwandeln Sie es in HTML für Web -Anzeigen oder PDF (über einen FO -Prozessor) zum Drucken. Tatsächlich gibt es für beide Zwecke viele bereits vorhandene TEI und Docbook XSLTS.
  • Benutzerfreundlichkeit -Ein weiterer Vorteil von XSL-FO ist die relative Benutzerfreundlichkeit. Ein Großteil der Funktionalität der Sprache basiert auf Arbeiten von CSS, sodass ein CSS -Benutzer mit den Grundlagen der Markup -Attribute vertraut ist. Es ist normalerweise ganz einfach zu verstehen, wie ein bestimmter Abschnitt eines FO -Dokuments aussehen wird.
  • Kostengünstig -Im Vergleich zu kommerziellen Typen- und Seiten-Layout-Produkten kann XSL-FO eine viel kostengünstigere Kostenlösung bieten, wenn es ansonsten die typografischen und Layoutanforderungen erfüllt (siehe unten). Die anfänglichen Eigentumskosten sind niedrig (Null, wenn die kostenlosen Implementierungen wie z. Apache FOP und xmlroff, erfüllen Ihre Anforderungen), insbesondere im Vergleich zu den Kosten für kommerzielle Zusammensetzungswerkzeuge. Die erforderlichen Fähigkeiten (hauptsächlich XSLT -Programmierung) sind weit verbreitet. Es gibt eine Reihe guter Bücher zu XSL-FO sowie Online-Ressourcen und eine aktive Benutzergemeinschaft.
  • Mehrsprachig -XSL-FO wurde entwickelt, um für alle schriftlichen menschlichen Sprachen zu arbeiten, und die Implementierungen haben dieses Ziel weitgehend erreicht. Dies macht XSL-FO besonders gut geeignet, um Dokumente in einer großen Anzahl von Nationalsprachen zu komponieren, in denen die Anforderung eine einzige Tool-Menge bestehen muss, mit der alle Sprachversionen von Dokumenten zusammengestellt werden können. Dies ist besonders wertvoll für die technische Dokumentation für Dinge wie Unterhaltungselektronik, in denen asiatische und nahostlanghafte Sprachen wichtig sind, da diese Teile der Welt riesige Märkte für Dinge wie Mobiltelefone und Computerperipheriegeräte darstellen.
  • Reife Standard -Mit der Veröffentlichung von XSL-FO 1.1 erweist sich XSL-FO als reifer Standard mit einer Reihe solider kommerzieller und nichtkommerzieller Implementierungen. Es gibt keinen anderen vergleichbaren Standard für die Seitenzusammensetzung.

Nachteile

  • Begrenzte Fähigkeiten -XSL-FO wurde speziell entwickelt, um die Anforderungen von "leicht gestalteten" Dokumenten zu erfüllen, die durch technische Handbücher, Geschäftsdokumente, Rechnungen usw. angegeben sind. Während es für anspruchsvollere Designs verwendet werden kann und wird, ist es von Natur aus begrenzt, was es aus Layout und typografischer Sicht tun kann. Insbesondere bietet XSL-FO keine direkte Möglichkeit, Formatierungseffekte zu erzielen, die von der Kenntnis der Seitenpositionsbeziehung zweier Formatierungsobjekte abhängen. Zum Beispiel gibt es keinen direkten Weg zu sagen: "Wenn dieses Ding auf derselben Seite wie das Ding ist, dann tun Sie X, sonst tun Sie y". Dies ist eine explizite Entwurfsentscheidung, die das zweistufige, transformierten abstrakten Verarbeitungsmodell widerspiegelt, das von XSL-FO verwendet wird. Diese Einschränkung kann durch die Implementierung eines Mehrkassenprozesses behandelt werden. Leider gibt es derzeit keinen Standard dafür, wie das Ergebnis des ersten Durchgangs auf den zweiten Durchgang kommuniziert wird. Die meisten, wenn nicht alle Implementierungen bieten eine Form eines verarbeitbaren mittleren Ergebnisformats, das dafür verwendet werden kann. Jeder heutige Prozess wäre jedoch notwendigerweise implementierungsspezifisch.
  • Aus dem gleichen Grund gibt es wichtige Layout Merkmale, die einfach nicht in XSL-FO sind, entweder weil sie nicht ausreichend Priorität hatten oder weil das Entwerfen zu schwierig war, um die Aufnahme in Version 1.1 zu ermöglichen, oder weil es nicht genügend Implementierungen gab, um ihre Aufnahme in die endgültige Spezifikation pro W3C-Regeln zuzulassen .
  • Zusätzlich zu diesen architektonischen Einschränkungen bieten die aktuellen XSL-FO-Implementierungen, sowohl kommerzielle als auch Open Source, nicht das gleiche Niveau von Typografische Raffinesse bereitgestellt durch High-End-Layout-Tools wie QuarkXpress oder InDesign, oder durch programmierbare Typensatzsysteme wie Latex. Beispielsweise liefert keine aktuelle Implementierung Funktionen, um sicherzustellen, dass Textlinien auf den Gesichtsseiten vertikal angezeigt werden. In der XSL-FO-Spezifikation gibt es nichts, was sie verhindert, aber nichts, was es erfordert. Für die meisten Dokumente, für die eine vollständig automatisierte Zusammensetzungslösung ausreicht, ist diese typografische Raffinesse nicht erforderlich. Für High-End-Veröffentlichungen und Massenmarktbücher ist es jedoch normalerweise; In einigen Fällen kann dies durch Verwendung von XSLT erfüllt werden, um a zu generieren Latex Dokument stattdessen.
  • Verlängerungsabhängigkeit -Bei der Berücksichtigung der Anwendbarkeit von XSL-FO auf ein bestimmtes Dokument- oder Dokumentendesign muss man proprietäre Erweiterungen berücksichtigen, die durch die verschiedenen XSL-FO-Implementierungen bereitgestellt werden. Diese Erweiterungen fügen Funktionen hinzu, die nicht Teil der Kernspezifikation sind. Ein Produkt fügt beispielsweise die Unterstützung für japanische typografische Konventionen hinzu, die die XSL-FO-Spezifikation nicht behandelt. Die Verwendung dieser Merkmale macht ein solches XSL-FO-System jedoch etwas mehr an eine bestimmte Implementierung gebunden (aber nicht vollständig gebunden wie bei der Verwendung eines vollständig proprietären Zusammensetzungssystems.)
  • Unpraktische manuelle Bearbeitung -Es ist im Allgemeinen unpraktisch, XSL-FO-Instanzen von Hand zu bearbeiten (XSL-FO wurde für Klarheit und Vollständigkeit ausgelegt, nicht die Bearbeitung.). Visuelle Bearbeitungswerkzeuge wie Xfdesigner können die Aufgabe lindern, obwohl nicht alle XSL-FO-Tags zugänglich sind (insbesondere Marker und Fußnoten). XF Designer ist kein unterstütztes Produkt mehr von der Ecrion -Software.

Bei dem Versuch zu entscheiden, ob XSL-FO für ein bestimmtes Dokument funktioniert oder nicht, zeigen die folgenden typografischen und Layoutanforderungen normalerweise, dass XSL-FO nicht funktioniert (obwohl einige davon durch proprietäre Erweiterungen erfüllt werden können):

  • Müssen Fußnote oder Symbolsequenz auf jeder neuen Seite neu gestartet werden (einige Implementierungen bieten jedoch Erweiterungen zur Unterstützung der automatischen Fußnote -Nummerierung.)
  • Müssen Text um beide Seiten eines schwebenden Objekts ausführen (XSL-FO kann Text um eine Seite und die obere und/oder unten stehende Seite ausführen, jedoch nicht beide Seiten. Einige Implementierungen bieten jedoch über proprietäre Erweiterungen Unterstützung für solche komplexen Layouts.)
  • Müssen auf einer einzelnen Seite eine variable Anzahl von Spalten aufweisen (mindestens zwei kommerzielle Implementierungen bieten jedoch Erweiterungen zum Erstellen von Multi-Säulen-Blöcken innerhalb einer Seite.)
  • Müssen spaltenweite Fußnoten haben (mehrere Implementierungen bieten Spalten Fußnote-Erweiterungen.)
  • Müssen Marginalia haben, die im Verhältnis zu anderen Marginalien dynamisch platziert sind (z. B. Grenznotizen, die vertikal auf der Seite gleichmäßig verteilt sind). XSL-FO bietet nur Funktionen für die Platzierung von Marginalia, so dass es vertikal mit seinem Anker ausgerichtet ist.
  • Müssen Inhalte erstellen, die sich auf zwei Seiten als Float oder "Out of Line" -Objekt in einer ansonsten homogenen Abfolge von Wiederholungsseiten-Mastern ausbreiten (dies kann in XSL-FO 1.1 unter Verwendung mehrerer Körperregionen und Flusskarten erfolgen, aber es erfordert das Sein. in der Lage, die für diese Seiten verwendeten Seitenmeister zu steuern.)
  • Benötigen Sie auf derselben Seite sowohl den unteren Inhalt als auch Fußnoten.
  • Müssen in der Lage sein, Text gegen eine willkürliche Kurve auszuführen (obwohl einige Implementierungsunterstützung SVG, was verwendet werden kann, um diese Einschränkung umzugehen).
  • Müssen in der Lage sein, Linien auf bestimmte Basisnetze einzuschränken (z. B. um eine genaue Registrierung von Linien auf den Gesichtsseiten zu erreichen.)
  • Alles, was Seitenlayout erfordert, z. B. um sicherzustellen, dass eine Figur immer auf der Seite auftritt, deren Ankerpunkt gegenüberliegt.

Ersatz

Xml und Html Standards mit den CSS Standard, seit CSS2 (PAGED MEDIEN Modul) liefert grundlegende Funktionen für gedruckte Medien. Mit dem CSS PAGED Media Modul Level 3, W3C schließt die Formulierung eines integrierten Standards für die Formatierung von Dokumenten und zum Generieren von PDFs ab. Also seit 2013,[2] CSS3-Pagen ist ein W3C-Vorschlag für einen XSL-FO-Ersatz.

Entwurfsnotizen für eine Version 2.0 von XSL -Formatierungsobjekten wurden erstmals 2009 veröffentlicht und 2012 zuletzt aktualisiert.[3]

Siehe auch

  • Xhtml
  • Apache FOP - Open Source und Royalty Free Implementierung von XSL-FO
  • Xep - kommerzieller und proprietärer Rendering -Motor
  • Antennenhausformatierer - XSL -FO- und CSS -Formatierungssoftware - kommerzielle und proprietäre Rendering -Engine

Verweise

  1. ^ "XSL -Fo aktueller Status - W3C". www.w3.org. Abgerufen 2016-08-05.
  2. ^ a b Quin, Liam (2. November 2013). "Re: [XSL] XSL 2.0?". XSL-Liste-Offenes Forum auf XSL (Mailingliste). {{}}: Externer Link in |mailing-list= (Hilfe)
  3. ^ "XSL -FO 2.0 Design Notes veröffentlicht - W3C". www.w3.org. Abgerufen 2018-11-09.

Externe Links