Neuer Ausdruck pro Knoten erzeugen
Alex
- xsl
0 Thomas J.S.0 Alex
Hallo,
ich möchte jeweils für einen bestimmten Knoten ein entsprechendes Dokument drucken und jedes Dokument soll dann wieder mit der Seitenzahl 1 beginnen.
Auszug aus meinem Code:
<xsl:stylesheet..
<xsl:template match="/">
fo:root
fo:layout-master-set
<fo:simple-page-master master-name="default-page" page-height="297mm" page-width="210mm" margin-top="1cm" margin-bottom="1cm" margin-left="1.5cm" margin-right="1cm">
<fo:region-before extent="2cm"/>
<fo:region-body margin-top="1.7cm" margin-bottom="1cm" column-count="1"/>
<fo:region-after extent="1cm"/>
</fo:simple-page-master>
</fo:layout-master-set>
<xsl:for-each select="Kunde">
<xsl:call-template name="LayoutKopfFussZeile"/>
</xsl:for-each>
</fo:root>
</xsl:template>
<xsl:template name="LayoutKopfFussZeile">
<fo:page-sequence master-reference="default-page" initial-page-number="1">
<xsl:variable name="TheVeryLastPage" select="."/>
<fo:static-content flow-name="xsl-region-before">
fo:block..</fo:block>
</fo:static-content>
<fo:static-content flow-name="xsl-region-after">
<fo:block text-align="right">Seite fo:page-number/ von <fo:page-number-citation ref-id="{generate-id($TheVeryLastPage)}"/>
</fo:block>
</fo:static-content>
<fo:flow flow-name="xsl-region-body">
<fo:block font-size="8pt" line-height="10pt">
<xsl:apply-templates select="."/>
</fo:block>
<fo:block id="{generate-id($TheVeryLastPage)}"/>
</fo:flow>
</fo:page-sequence>
</xsl:template>
<!-- Body -->
<xsl:template match="Kunde">
fo:block<xsl:value-of select="entry[@key='Name']"/></fo:block>
</xsl:template>
</xsl:stylesheet>
Jetzt habe ich das Problem, das wegen initial-page-number="1" eine leere Seite zwischen den 'Kunden' automatisch hinzugefügt wird. Wenn ich initial-page-number="auto" benutze stimmen die Seitenzahlen nicht mehr(z.B. Seite 1 von 1, Seite 2 von 2, Seite 3 von 3....).
Jedes neues Dokument für einen Kunden soll aber wieder bei Seitenzahl 1 anfangen.
Hat jemand eine Idee?
Sollte man besser fo:repeatable-page-master benutzen, aber wie?
Kann man einen Seitenwechsel erzwingen?
Danke im voraus.
Hallo,
ich möchte jeweils für einen bestimmten Knoten ein entsprechendes Dokument drucken und jedes Dokument soll dann wieder mit der Seitenzahl 1 beginnen.
Jetzt habe ich das Problem, das wegen initial-page-number="1" eine leere Seite zwischen den 'Kunden' automatisch hinzugefügt wird. Wenn ich initial-page-number="auto" benutze stimmen die Seitenzahlen nicht mehr(z.B. Seite 1 von 1, Seite 2 von 2, Seite 3 von 3....).
Jedes neues Dokument für einen Kunden soll aber wieder bei Seitenzahl 1 anfangen.Hat jemand eine Idee?
Sollte man besser fo:repeatable-page-master benutzen, aber wie?
So könntest du es verwenden:
---------------------------------
<xsl:template match="/">
fo:root
fo:layout-master-set
<fo:simple-page-master master-name="default-page" page-height="297mm" page-width="210mm" margin-top="1cm" margin-bottom="1cm" margin-left="1.5cm" margin-right="1cm">
<fo:region-before extent="2cm"/>
<fo:region-body margin-top="1.7cm" margin-bottom="1cm" column-count="1"/>
<fo:region-after extent="1cm"/>
</fo:simple-page-master>
<fo:page-sequence-master master-name="allpages">
<fo:single-page-master-reference master-reference="default-page" />
</fo:page-sequence-master>
</fo:layout-master-set>
<xsl:for-each select="Kunde">
<xsl:call-template name="LayoutKopfFussZeile"/>
</xsl:for-each>
</fo:root>
</xsl:template>
<xsl:template name="LayoutKopfFussZeile">
<xsl:variable name="TheVeryLastPage" select="."/>
<fo:page-sequence master-reference="allpages" initial-page-number="1" force-page-count="no-force">
<fo:static-content flow-name="xsl-region-before">
fo:block..</fo:block>
</fo:static-content>
<fo:static-content flow-name="xsl-region-after">
<fo:block text-align="right">Seite fo:page-number/ von <fo:page-number-citation ref-id="{generate-id($TheVeryLastPage)}"/></fo:block>
</fo:static-content>
<fo:flow flow-name="xsl-region-body">
<fo:block font-size="8pt" line-height="10pt">
<xsl:apply-templates select="."/>
</fo:block>
<fo:block id="{generate-id($TheVeryLastPage)}"/>
</fo:flow>
</fo:page-sequence>
</xsl:template>
--------------------------------------
Grüße
Thomas
Hallo Thomas,
Besten Dank für deine Antwort. Es funktioniert so wie ich es wollte.
Mfg Alex