fo:multi-case

(Auszug aus "XSL-FO ― Die Referenz" von Manuel Montero Pineda & Steffen Herkert, 2016, dpunkt.verlag)

A | B | C | D | E | F | G | H | I | J | K | L | M | N | O | P | Q | R | S | T | U | V | W | X | Y | Z

Recommendationnummer: 6.9.4

Kategorie: 6.9 Dynamic Effects: Link and Multi Formatting Objects

Beschreibung

Dieses Element ist das Kindelement von <fo:multi-switch> und enthält Teilbäume von Formatierungsobjekten, die vom Elternelement gezeigt oder verborgen werden können.

XSL-FO Version: 1.0

Elternelemente

<fo:multi-switch> Mit diesem Element kann man zwischen verschiedenen Teilbäumen von Formatierungsobjekten hin und her wechseln.

Kindelemente

<fo:basic-link> Dieses Element erzeugt einen Link im Dokument, der entweder auf interne oder externe Referenzen verweist.
<fo:bidi-override> Dieses Element lässt Einstellungen über die gewünschte Schreibrichtung zu, falls der vorgegebene Unicode-Algorithmus für Bidirektionalität nicht angewandt werden kann.
<fo:block> Dieses Element erzeugt einen rechteckigen Bereich, innerhalb dessen eine Vielzahl von Elementen (z. B. Tabellen, Listen, Grafiken) erlaubt sind. Mithilfe von Attributen können diverse Einstellungen zur Gestaltung vorgenommen werden. Blöcke können beliebig ineinandergeschachtelt werden. Informationen aus übergeordneten Blöcken werden übernommen, falls für den untergeordneten Block keine anderen Einstellungen gemacht werden (Vererbung).
<fo:block-container> Innerhalb von Block-Containern lassen sich beliebig viele Blöcke zusammenfassen. Für den Container können durch Attribute Einstellungen für die gewünschte Positionierung im Dokument vorgenommen werden.
<fo:change-bar-begin> Dieses Element stellt den Anfang eines "Änderungsbereichs" dar, der durch sein passendes fo:change-bar-end beendet wird. Der Änderungsbereich ist mit einem Änderungsbalken ausgestattet, der entweder am Anfang oder am Ende der Spaltenkante entlang verläuft. Das Aussehen des Änderungsbalkens wird durch den Wert einiger entsprechender Eigenschaften bestimmt.
<fo:change-bar-end> Dieses Element stellt das Ende eines "Änderungsbereichs" dar, der durch sein passendes fo:change-bar-begin gestartet wird.
<fo:character> Dieses Element erzeugt die gesonderte Darstellung einzelner Zeichen.
<fo:external-graphic> Dieses Element fügt externe Grafiken in das Dokument ein. Über Attribute lassen sich zahlreiche Einstellungen vornehmen.
<fo:float> Dieses Element ermöglicht die Platzierung von Inhalten in Relation zu einem Anzeigenblock (Anwendungsbeispiele: Text, der Grafiken umfließen soll; Erzeugung von Marginalien).
<fo:footnote> Dieses Element erzeugt einen Verweis auf eine Fußnote.
<fo:index-page-citation-list> Dieses Element gruppiert die Sammlungen von "Seitenreferenzen" (cited page items), die von seinen fo:index-key-reference-Kindelementen generiert wurden. Im Endeffekt wird fo:index-page-citation-list dazu genutzt, eine formatierte Liste von Seitenzahlen und Seitenbereichen zu erzeugen (eine Seitenzahlreferenzliste).
<fo:index-range-begin> Dieses Element stellt den Anfang eines "indexierten Bereichs" dar, der mit einem Index-Schlüssel verbunden ist. Dieser Index-Bereich wird durch ein entsprechendes fo:index-­range-end abgeschlossen.
<fo:index-range-end> Dieses Element stellt das Ende eines "indexierten Bereichs" dar, der durch sein entsprechendes fo:index-range-begin gestartet wird.
<fo:inline> Mit diesem Element wird ein inzeiliger Bereich erzeugt, in dem bestimmten Textteilen eines Blocks gesonderte Formatierungseigenschaften zugesprochen werden (Anwendungsbeispiel: Hervorheben einzelner Passagen durch Kursivschrift).
<fo:inline-container> Dieses Element erzeugt einen Container, in dem für mehrere inzeilige Bereiche gemeinsame Einstellungen vorgenommen werden können.
<fo:instream-foreign-object> Dieses Element erlaubt das Einfügen inzeiliger Grafiken oder anderer inzeiliger Objekte in das Dokument.
<fo:leader> Dieses Element erzeugt eine Zeile sich wiederholender Zeichen (zum Trennen von zwei Textformatierungsobjekten); Anwendungsbeispiel: Trennung von Überschriften und zugehörigen Seitenzahlen im Inhaltsverzeichnis.
<fo:list-block> Dieses Element erzeugt einen Bereich zur Darstellung einer Liste bzw. Aufzählung.
<fo:multi-properties> Mit diesem Element lässt sich zwischen verschiedenen Eigenschaftsmengen hin und her wechseln.
<fo:multi-switch> Mit diesem Element kann man zwischen verschiedenen Teilbäumen von Formatierungsobjekten hin und her wechseln.
<fo:multi-toggle> Dieses Element ermöglicht durch die Anwendung innerhalb eines <fo:multi-case>-Elements den Zugriff auf andere <fo:multi-case>-Elemente.
<fo:page-number> Dieses Element erzeugt die Darstellung der aktuellen Seitenzahl im Dokument.
<fo:page-number-citation> Dieses Element verweist auf die Seitenzahl der Seite, die ein bestimmtes Formatierungsobjekt enthält (Anwendungsbeispiel: Darstellung von Seitenzahlen in Inhaltsverzeichnissen entsprechend ihren Überschriften).
<fo:page-number-citation-last> Dieses Element verweist auf die Seitenzahl der letzten Seite, die ein Gebiet enthält, das (a) vom referenzierten Formatierungsobjekt zurückgegeben wird und (b) eine Gebietsklasse (area-class) hat, die mit der festgelegten Seitenverweisstrategie vereinbar ist.
<fo:retrieve-marker> Dieses Element ruft den in <fo:marker> markierten Bereich auf (Anwendungsbeispiel: Kolumnentitel).
<fo:retrieve-table-marker> Das Element erlaubt es, in Zusammenarbeit mit <fo:marker> Wiederholungen von Bereichen in Tabellen zu erzielen.
<fo:scaling-value-citation> Dieses Element ruft den Skalierungsfaktor des referenzierten fo:external-graphic ab.
<fo:table> Dieses Element erzeugt eine Tabelle.
<fo:table-and-caption> Dieses Element erzeugt eine Tabelle samt Tabellenüber- oder -unterschrift.
<fo:wrapper> Für eine Gruppe von Formatierungsobjekten können in <fo:multi-properties> Eigenschaften angegeben werden.

Attribute

case-name Dieses Attribut wird zum Kennzeichnen eines Teilbaums von Formatierungsobjekten (fo:multi-case) verwendet, der in interaktiven Anwendungen (multi-switch) ereignisbedingt aktiviert werden kann. Der Name muss unter seinen Geschwistern eindeutig sein.
case-title Dieses Attribut wird zum Betiteln eines Teilbaums von Formatierungsobjekten (multi-case) verwendet. Der Titel kann beispielsweise in einem Menüfenster angezeigt werden, um dem Anwender zu verdeutlichen, zu welchem übergeordneten Teilbereich die Anwendungsmöglichkeiten (fo:multi-toggle) gehören, derer er sich bedienen kann.
id Dieses Attribut dient der eindeutigen Kennzeichnung eines Objekts, auf das dann von anderen Objekten aus verwiesen werden kann.
index-class Mit diesem Attribut lässt sich eine Indexklasse für einzelne Indexeinträge (index-key) oder für einen ganzen Bereich definieren. Alle Indexeinträge in dem entsprechenden Bereich gehören dann dieser Indexklasse an. Wird nun auf Indexeinträge referenziert (fo:index-key-reference), die verschiedenen Klassen angehören, werden die entsprechenden Seitenzahlen getrennt voneinander aufgeführt, selbst wenn sie auf aufeinanderfolgenden Seiten stehen. Beispielsweise wird "1-8" durch "1-4,5-8" ersetzt, wenn die Einträge auf den Seiten 1-4 alle derselben Klasse angehören und die Seiten 5-8 einer anderen Klasse. Dies kann zur Anwendung kommen, wenn Seiten in unterschiedliche Bereiche mit unterschiedlichen Nummerierungen gegliedert werden. Eine Nummerierung wie "I-14" kann so vermieden und durch "I-V,1-14" ersetzt werden.
index-key Mit diesem Attribut lässt sich ein Indexeintrag definieren. Der übergebene Wert wird als Bezeichner des Indexeintrags verwendet. Über eine Referenz eines Indexeintrags (fo:index-key-reference) kann auf alle Einträge mit diesem Bezeichner referenziert und deren Seitenzahlen können so einer Liste von Seitenzahlreferenzen (fo:index-page-citation-list) hinzugefügt werden.
role Mit diesem Attribut lassen sich inhaltsbezogene Bezeichner anlegen, die alternativen Ausgabegeräten (z. B. Tonausgabe) Angaben zum Inhalt des verwendeten XML-Elements liefern.
source-document Mit diesem Attribut kann ein XML-Dokument als Quelldokument gekennzeichnet werden. Sollte das FO-Dokument vom Renderer z. B. bei einer theoretischen Sprachausgabe nicht ausgewertet werden können, so kann dann zusätzlich das Quelldokument hinzugezogen werden. Spielt in der Praxis keine Rolle.
starting-state In einem Element fo:multi-switch wird nur der Inhalt des ersten fo:multi-case-Elements mit dem starting-state-Attributwert show dargestellt. Inhalte eines fo:multi-case-Elements mit dem starting-state-Attributwert hide werden generell nicht dargestellt. Beim Attributwert show kommt es darauf an, ob es das erste fo:multi-case-Element in der entsprechenden fo:multi-switch-Box ist.

Unterstützung:

Conformance Level Antenna House FOP RenderX XEP Altsoft XML2PDF Compart DocBridge
Basic J N - N N

XSL-FO Beispiel:

<fo:root font-family="Arial" font-size="10pt" line-height="1.2em" xmlns:fo="http://www.w3.org/1999/XSL/Format" xmlns:cpfo="http://www.compart.net/xmlns/cpfo" xmlns:svg="http://www.w3.org/2000/svg" xmlns:axf="http://www.antennahouse.com/names/XSL/Extensions">

Als Gregor Samsa eines Morgens aus unruhigen Träumen erwachte, fand er sich in seinem Bett zu einem ungeheueren Ungeziefer verwandelt. Er lag auf seinem panzerartig harten Rücken und sah, wenn er den Kopf ein wenig hob, seinen gewölbten, braunen, von bogenförmigen Versteifungen geteilten Bauch, auf dessen Höhe sich die Bettdecke, zum gänzlichen Niedergleiten bereit, kaum noch erhalten konnte. Seine vielen, im Vergleich zu seinem sonstigen Umfang kläglich dünnen Beine flimmerten ihm hilflos vor den Augen.

Als Gregor Samsa eines Morgens aus unruhigen Träumen erwachte, fand er sich in seinem Bett zu einem ungeheueren Ungeziefer verwandelt. Er lag auf seinem panzerartig harten Rücken und sah, wenn er den Kopf ein wenig hob, seinen gewölbten, braunen, von bogenförmigen Versteifungen geteilten Bauch, auf dessen Höhe sich die Bettdecke, zum gänzlichen Niedergleiten bereit, kaum noch erhalten konnte. Seine vielen, im Vergleich zu seinem sonstigen Umfang kläglich dünnen Beine flimmerten ihm hilflos vor den Augen.

Als Gregor Samsa eines Morgens aus unruhigen Träumen erwachte, fand er sich in seinem Bett zu einem ungeheueren Ungeziefer verwandelt. Er lag auf seinem panzerartig harten Rücken und sah, wenn er den Kopf ein wenig hob, seinen gewölbten, braunen, von bogenförmigen Versteifungen geteilten Bauch, auf dessen Höhe sich die Bettdecke, zum gänzlichen Niedergleiten bereit, kaum noch erhalten konnte. Seine vielen, im Vergleich zu seinem sonstigen Umfang kläglich dünnen Beine flimmerten ihm hilflos vor den Augen.

Als Gregor Samsa eines Morgens aus unruhigen Träumen erwachte, fand er sich in seinem Bett zu einem ungeheueren Ungeziefer verwandelt. Er lag auf seinem panzerartig harten Rücken und sah, wenn er den Kopf ein wenig hob, seinen gewölbten, braunen, von bogenförmigen Versteifungen geteilten Bauch, auf dessen Höhe sich die Bettdecke, zum gänzlichen Niedergleiten bereit, kaum noch erhalten konnte. Seine vielen, im Vergleich zu seinem sonstigen Umfang kläglich dünnen Beine flimmerten ihm hilflos vor den Augen.

</fo:flow>

</fo:root>

Download der Beispiele

Darstellung des Elementes in der XSL-FO-Referenz

In der Ausgabe:

Seite 2

Auszug aus der W3C recommendation:

Tipp der data2type-Redaktion:
Zum Thema XSL-FO bieten wir auch folgende Schulungen zur Vertiefung und professionellen Fortbildung an: