[XSL-LIST Mailing List Archive Home]
[By Thread]
[By Date]
At 2006-05-18 16:22 +0200, Alexander.RACHER@xxxxxxxx wrote:
I'm not sure what you mean by a "dynamic id".
Right ... the engine will stop at the first it finds.
"called"? no.
You could just use the current node's id as generated by XSLT since that will be unique for each page sequence you produce.
Here instead use <fo:page-number-citation ref-id="{generate-id(.)}"/>
Here instead use <fo:block id="{generate-id(.)}"/>
I hope this helps.
. . . . . . . . . Ken
Re: [xsl] fo:page-number-citation and dynamic id's
Subject: Re: [xsl] fo:page-number-citation and dynamic id's From: "G. Ken Holman" <gkholman@xxxxxxxxxxxxxxxxxxxx> Date: Fri, 19 May 2006 06:48:03 +0200 |
At 2006-05-18 16:22 +0200, Alexander.RACHER@xxxxxxxx wrote:
is there any possibility in fo to use dynamic id's in xsl / xsl-fo?
I'm not sure what you mean by a "dynamic id".
background of my question: i need to generate 2 nearly identical (only one fo:block is different = address --> one document per address) output-docs. so i wrapped a xsl:for-each around the fo:page-sequence in my stylesheet. works great, also could reset the page-count in the second document ( initial-page-number="1"). so for an output in pdf with 4 pages per individual document and 2 adressen/element i get 8 pages, which consist of 2 documents, each correctly page-numbered from 1 to 4.
only one problem came up: i want to include page-numbers in the footer which look like 'page x of y' (also to be able to easily distinguish the 2 docs in my output-pdf). as long as only one document was the output, it worked. but if the whole fo:page-sequence is parsed more than one time, the solution with < fo:page-number-citation ref-id="last-page"/> didn't work any more because of multiple <fo:block id="last-page"/> (FOP-exception: "Property id "last-page" previously used; id values must be unique in document.").
Right ... the engine will stop at the first it finds.
so my question is: is there any possibility in xsl / xsl-fo to generate such id's (which, in contrary to the 'generate-id()'-function, can also be called)?
"called"? no.
the concept i have in my mind is, that i generate one id 'last-page' for each //adressen/element , so each partial-output-document can be page-numbered like 'page x of y'.
You could just use the current node's id as generated by XSLT since that will be unique for each page sequence you produce.
here's the relevant part of my xml: [...] <xsl:for-each select="//adressen/element"> <fo:page-sequence master-reference="blattA4" initial-page-number="1" force-page-count="no-force"> <fo:static-content flow-name="xsl-region-before"> [...] <fo:blockalign="end"> <fo:page-number/> von <fo:page-number-citation ref-id="last-page"/>
Here instead use <fo:page-number-citation ref-id="{generate-id(.)}"/>
</fo:block> [...] <fo:block id="last-page"/>
Here instead use <fo:block id="{generate-id(.)}"/>
</fo:flow> </fo:page-sequence> </xsl:for-each> </fo:root> </xsl:template>
any ideas?
I hope this helps.
. . . . . . . . . Ken
-- Registration open for XSLT/XSL-FO training: Wash.,DC 2006-06-12/16 Also for XSL-FO/XSLT training: Minneapolis, MN 2006-07-31/08-04 Also for XML/XSLT/XSL-FO/UBL training: Varo,Denmark 06-09-25/10-06 World-wide corporate, govt. & user group UBL, XSL, & XML training. G. Ken Holman mailto:gkholman@xxxxxxxxxxxxxxxxxxxx Crane Softwrights Ltd. http://www.CraneSoftwrights.com/s/ Box 266, Kars, Ontario CANADA K0A-2E0 +1(613)489-0999 (F:-0995) Male Cancer Awareness Aug'05 http://www.CraneSoftwrights.com/s/bc Legal business disclaimers: http://www.CraneSoftwrights.com/legal
Current Thread |
---|
|
<- Previous | Index | Next -> |
---|---|---|
[xsl] fo:page-number-citation and d, Alexander . RACHER | Thread | [xsl] Extreme Markup Languages 2006, B Tommie Usdin |
Re: [xsl] Fixed value only once in , Mattias Pirmann | Date | [xsl] WordML Question and normalize, Jordan Soet |
Month |