Alex: Neuer Ausdruck pro Knoten erzeugen

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.

  1. 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

    1. Hallo Thomas,

      Besten Dank für deine Antwort. Es funktioniert so wie ich es wollte.

      Mfg Alex