[XSL-FO] keep-with

Programmiersprachen, APIs, Bibliotheken, Open Source Engines, Debugging, Quellcode Fehler und alles was mit praktischer Programmierung zu tun hat.
Antworten
Benutzeravatar
BeRsErKeR
Establishment
Beiträge: 689
Registriert: 27.04.2002, 22:01

[XSL-FO] keep-with

Beitrag von BeRsErKeR »

Hallo,

kennt sich wer mit XSL-FO aus? Ich habe Probleme mit keep-with-previous, keep-with-next und keep-together. Soweit ich das verstanden habe beziehen sich die Angaben für die ersten beiden Conditions immer auf den Vorgänger- bzw. Nachfolger-Knoten auf der gleichen Ebene und letzteres auf die Kindelemente des aktuellen Knotens.

Beispiel:

Code: Alles auswählen

<fo:block keep-with-next.within-page="always" id="foo">foo</fo:block>
<fo:block id="bar">
 <fo:block keep-with-next.within-page="always" id="child1">first child of bar</fo:block>
 <fo:block id="child2">second child of bar</fo:block>
</fo:block>
Nach meinem Verständis heißt das, dass der "foo"-Block immer zusammen mit dem gesamten "bar"-Block gehalten wird und innerhalb des "bar"-Blocks wird der "child1"-Block immer mit dem "child2"-Block zusammengehalten.

Ich habe nun eine relativ große Hierarchie mit vielen Verschachtelungen und muss mit Prioritäts-Werten an Stelle von "always" arbeiten, damit ggf. Blöcke zusammenhängen, wenns passt und nicht zusammenhängen, falls es nicht passt. Nur "always" lässt sonst den Inhalt ggf. ins Nirwana laufen. Allerdings scheint das ganze nicht zu funktionieren, bzw. nur manchmal. Meine Vermutung ist daher, dass sich die Angaben vielleicht nicht auf den Vorgänger/Nachfolger auf gleicher Ebene beziehen, sondern auf das Vorgänger- oder Nachfolger-Element unabhängig von der Ebene.

Hat da jemand Ahnung/Erfahrung? Die Doku ist leider nicht so ganz aussagekräftig.
Ohne Input kein Output.
Antworten