Hallo,
Eine Lösung wäre, eine Variable auszulesen und je nach dem in einer schlaufe der Reihe nach Simple-Master-Pages im hochformat zu generieren bis das erste Thema im Querformat kommt. Danach eine Schlaufe in einem neuen Simple-Master-Pages in Querformat bis wieder ein Hochformat Thema auftaucht und so weiter...
Dies ist aber eine etwas unschöne Lösung... Denn dies gibt einen Riesigen xsl:fo Code...
Und? Der XSL-FO Code muss ja alles beinhalten was das Dokument enthalten soll. Dann wird dein Code eben riesig, Alternative: du schreibst weniger. XSL-FO ist keine Programmiersprache, sonder eine Sprache für Layoutierung und wenn eine Seite anders Formatiert werden muss, dann müssen dafür die Formate numal in der XSL-FO-Sheet vorhanden sein.
Was ich möchte ist:
- Einen Variablen Page-Master setzten oder so, wo ich in der sequence die Werte gleich irgendwie ändern könnte, oder ein Page-Master mit 2 Layouts, welche wählbar wären...
Hat jemand ne Idee? Kennt sich jemand mit anderen Page-Mastern als der Simple Page Master aus?
Du könntest so vorgehen:
Du erstellst so viele simple-page-master-s wie du brauchst, sie dienen ja als Layoutvorlage für Seitentypen.
Dann definierst du in einem page-sequence-master ein repeatable-page-master-alternatives und in diesem kannst du mehrere conditional-page-master-reference angeben. Dann kannst du beim erstellen der Seiten ein page-sequence für die Querformat verwenden.
Ein koplettes Bsp. (es sollte dir ermöglichen das Prinzip zu verstehen)
Grüße
Thomas
--------------------
<?xml version="1.0" encoding="iso-8859-1"?>
<fo:root xmlns:fo="http://www.w3.org/1999/XSL/Format">
fo:layout-master-set
<fo:simple-page-master
master-name="titelSeite"
page-width="21cm"
page-height="29.7cm">
<fo:region-body margin="3.5cm" border="5pt solid silver"/>
</fo:simple-page-master>
<fo:simple-page-master
master-name="ersteSeite"
page-width="21cm"
page-height="29.7cm"
margin="2cm">
<fo:region-body margin="1cm"/>
</fo:simple-page-master>
<fo:simple-page-master
master-name="inhaltsVerz"
page-width="21cm"
page-height="29.7cm"
margin="2cm 1.5cm">
<fo:region-body margin="1cm" border-left="3pt solid blue" border-right="3pt solid blue" padding="0pt 10pt 0pt 10pt"/>
</fo:simple-page-master>
<fo:simple-page-master
master-name="ungeradeSeiten"
page-width="21cm"
page-height="29.7cm"
margin-top="1cm"
margin-bottom="2cm"
margin-left="2.5cm"
margin-right="1.5cm">
<fo:region-body margin="1cm" border-right="3pt solid blue" padding-right="10pt"/>
<fo:region-after extent="1cm"/>
</fo:simple-page-master>
<fo:simple-page-master
master-name="geradeSeiten"
page-width="21cm"
page-height="29.7cm"
margin-top="1cm"
margin-bottom="2cm"
margin-left="1.5cm"
margin-right="2.5cm">
<fo:region-body margin="1cm" border-left="3pt solid blue" padding-left="10pt"/>
<fo:region-after extent="1cm"/>
</fo:simple-page-master>
<fo:simple-page-master
master-name="leerSeite"
page-width="21cm"
page-height="29.7cm">
fo:region-body/
</fo:simple-page-master>
<fo:page-sequence-master master-name="Titelblatt">
<fo:single-page-master-reference master-reference="titelSeite"/>
</fo:page-sequence-master>
<fo:page-sequence-master master-name="Inhaltsverzeichnis">
<fo:repeatable-page-master-reference master-reference="inhaltsVerz"/>
</fo:page-sequence-master>
<fo:page-sequence-master master-name="meineSeitensequenz">
fo:repeatable-page-master-alternatives
<fo:conditional-page-master-reference page-position="first" master-reference="ersteSeite"/>
<fo:conditional-page-master-reference blank-or-not-blank="blank" master-reference="leerSeite"/>
<fo:conditional-page-master-reference odd-or-even="odd" master-reference="ungeradeSeiten"/>
<fo:conditional-page-master-reference odd-or-even="even" master-reference="geradeSeiten"/>
</fo:repeatable-page-master-alternatives>
</fo:page-sequence-master>
</fo:layout-master-set>
<fo:page-sequence master-reference="Titelblatt" force-page-count="no-force">
<fo:flow flow-name="xsl-region-body">
<!-- Inhalt der Titelseite -->
</fo:flow>
</fo:page-sequence>
<fo:page-sequence force-page-count="no-force" initial-page-number="1" master-name="Inhaltsverzeichnis">
<fo:static-content flow-name="xsl-region-after">
fo:block
fo:page-number/
</fo:block>
</fo:static-content>
<fo:flow flow-name="xsl-region-body">
<!-- Inhalt des Inhaltsverzeichnisses -->
</fo:flow>
</fo:page-sequence>
<fo:page-sequence master-reference="meineSeitensequenz" initial-page-number="1" force-page-count="even">
<fo:static-content flow-name="xsl-region-after">
fo:block
fo:page-number/
</fo:block>
</fo:static-content>
<fo:flow flow-name="xsl-region-body">
<!-- Inhalt des ersten Kapitels -->
</fo:flow>
</fo:page-sequence>
<fo:page-sequence master-reference="meineSeitensequenz" initial-page-number="auto-odd" force-page-count="even">
<fo:static-content flow-name="xsl-region-after">
fo:block
fo:page-number/
</fo:block>
</fo:static-content>
<fo:flow flow-name="xsl-region-body">
<!-- Inhalt des zweiten Kapitels -->
</fo:flow>
</fo:page-sequence>
</fo:root>