Hi,
das ist mein erster Beitrag hier und ich habe noch nie in meinem Leben xsl programmiert. Ich sitze hier in der Arbeit (Werkstudent) und muss aushelfen da der Main-Programmer weg ist. Jetzt muss ich hier etwas lösen mit xsl und habe keine Ahnung davon, und jetzt auch nicht die Zeit gross Tutorials usw zu lesen.
...soviel zum Vorwort, es sei mir also verziehen dass ich hier nach einer Lösung frage "ohne Vorarbeit" o.ä.
Es ist schnell gesagt: Ich brauche einen Zähler in einer Schleife. Durch googlen habe ich schon gemerkt, dass es sowas nicht gibt, man es aber über call-templates machen kann.
Ich hab mir einige Codes rausgesucht und jetzt ewig rumprobiert, und bin am verzweifeln!!
Hier erstmal mein Versuch:
Also was passieren soll: Bei einem PDF muss ein Seitenumbruch passieren, allerdings nicht nach dem letzten element der for-each Schleife. In dem oberen Template ("document") lad ich halt alles mögliche rein, und wollte eben am ende des jeweiligen schleifendurchgang mein loop-template callen.
Allerdings klatscht er mir noch immer auch nach der letzten Seite eine neue (leere) ins PDF.
Bitte helft mir... wie gesagt ich kenne mich null damit aus und habs jetzt nur rein von der Logik her versucht, aber nix geht.
Mit Bsp die ich bisher gefunden hab ist obiges rausgekommen, ich brauch echt eine 1:1 Anweisung wie das geht, ich kann xls gar nicht..
Ich entschuldige mich nochmal dafür, aber mir brennt's hier echt unter'm Ar***, ich bin eig. Java-Programmierer und halt mich jetzt schon seit 3 Stunden an dem Zeug hier auf...
Vielen vielen lieben Dank schon mal!!
das ist mein erster Beitrag hier und ich habe noch nie in meinem Leben xsl programmiert. Ich sitze hier in der Arbeit (Werkstudent) und muss aushelfen da der Main-Programmer weg ist. Jetzt muss ich hier etwas lösen mit xsl und habe keine Ahnung davon, und jetzt auch nicht die Zeit gross Tutorials usw zu lesen.
...soviel zum Vorwort, es sei mir also verziehen dass ich hier nach einer Lösung frage "ohne Vorarbeit" o.ä.
Es ist schnell gesagt: Ich brauche einen Zähler in einer Schleife. Durch googlen habe ich schon gemerkt, dass es sowas nicht gibt, man es aber über call-templates machen kann.
Ich hab mir einige Codes rausgesucht und jetzt ewig rumprobiert, und bin am verzweifeln!!
Hier erstmal mein Versuch:
Code:
<xsl:template name="loop"> <xsl:param name="index">1</xsl:param> <xsl:param name="max">3</xsl:param> <xsl:if test="$index < $max"> <fo:block font-size="12pt" page-break-after="always"></fo:block> </xsl:if> </xsl:template>
Code:
<xsl:template match="document"> <fo:page-sequence master-reference="center"> <fo:static-content flow-name="xsl-region-after"> <xsl:call-template name="tableFooter" /> </fo:static-content> <fo:flow flow-name="xsl-region-body" font-family="Helvetica" font-size="9pt"> <!-- CONTENT DER PDF --> <xsl:for-each select="page"> <xsl:call-template name="tableHeadline" /> <xsl:for-each select="./table"> <xsl:apply-templates select="." /> </xsl:for-each> <xsl:call-template name="loop"> <xsl:with-param name="index"> <xsl:value-of select="$index + 1" /> </xsl:with-param> </xsl:call-template> </xsl:for-each> <!-- CONTENT ENDE --> </fo:flow> </fo:page-sequence> </xsl:template>
Allerdings klatscht er mir noch immer auch nach der letzten Seite eine neue (leere) ins PDF.
Bitte helft mir... wie gesagt ich kenne mich null damit aus und habs jetzt nur rein von der Logik her versucht, aber nix geht.
Mit Bsp die ich bisher gefunden hab ist obiges rausgekommen, ich brauch echt eine 1:1 Anweisung wie das geht, ich kann xls gar nicht..
Ich entschuldige mich nochmal dafür, aber mir brennt's hier echt unter'm Ar***, ich bin eig. Java-Programmierer und halt mich jetzt schon seit 3 Stunden an dem Zeug hier auf...
Vielen vielen lieben Dank schon mal!!
Comment