Note that generade-id generates a unique id based on the current node
_in the source file_
So if you are at a node zzz and generate a block with the id
<fo:block id="{generate-id()}"> ...
(incidentally your GenerateID template always makes an empty fo:block,
why not just put the id attribute on the containing block?
ie instead of
<fo:block break-before="page">
<xsl:call-template name="GenerateID"/>
which generates
<fo:block break-before="page"><fo:block="zzz"/>...
Just do
<fo:block break-before="page" id="{generate-id()}">
But now when you want to page reference that block you need to do
<xsl:for-each select="some path back to node zzz">
<fo:page-number-citation
ref-id="{generate-id()}"/>
</xsl:for-each>
so the id generated in the citation is the id of where you want to go,
not the id of where you are.
It's very hard to guess what your stylesheet is doing without a (small)
sample input.
David
________________________________________________________________________
This e-mail has been scanned for all viruses by Star Internet. The
service is powered by MessageLabs. For more information on a proactive
anti-virus service working around the clock, around the globe, visit:
http://www.star.net.uk
________________________________________________________________________
XSL-List info and archive: http://www.mulberrytech.com/xsl/xsl-list