Örvar Kárason wrote:
> Yes , position() works for me when i'm listing the footnotes at the bottom
> of the page. But what I need is to numerate them as they appear in the
> main body of the document.
>
> <xsl:template match="footnote">
> <SUP><FONT SIZE="-1">
> <A NAME="#BODY{ ??????? }">
> <A HREF="#FOOT{ ??????? }"> <!-- jump to the footnote at
> bottom of page -->
> <xsl:number/> <!-- doesn't work! -->
> </A></A>
> </FONT></SUP>
> </xsl:template>
>
> Using position() here does not work since every paragraph, heading etc. is
> a new context, so that the footnotes start from 1 in every context.
>
If you iterate your footnotes using xsl:for-each select="//footnote",
you get all of them to one nodeset and position() refers to their order
of appearance. Look at the attached example.
Petr
--
Petr Cimprich
Ginger Alliance Ltd.
www.gingerall.com
<?xml version="1.0"?>
<data>
<item>no.1</item>
<sub1>
<item>no.2</item>
<sub2>
<item>no.3</item>
</sub2>
</sub1>
<item>no.4</item>
</data>
<?xml version="1.0"?>
<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
version="1.0">
<xsl:template match="data">
<xsl:for-each select="//item">
<xsl:text><!-- linebreak only -->
</xsl:text>
<xsl:value-of select="concat(.,' - nodeset position: ',position())"/>
</xsl:for-each>
</xsl:template>
</xsl:stylesheet>