You cannot increment a number using (x = x + 1) as you can in most languages, however you can use the position() function as a counter in many cases.

For example:

<xsl:valueOf select="position()"/>

The alternative to this is to use a recursive template, which is a bit more tricky.

Hope that helps,

Trevor.

alphamanic wrote:
Hi Guys,

This is a newbie question.

I have an XSL which reads in some of value from xml using Document()
function and some some <XSL:PARM>. I'm using <fo:block> to display the
content in a block.
Simply what I want to do is create a counter that will increment for my each
<FO:BLOCK>i.e.

<fo:block>
<display counter value>
<xsl:valueOf select="$param1"/>
</fo:block>

<fo:block>
<display counter value>
<xsl:valueOf select="document(somexml.xml)/note1"/>
</fo:block>

etc.

Please help? - I've tried the below code but it doesn't work:
<xsl:parm name="counter" select="1"/>
<some template>
<fo:block>
<xsl:with-parm name="counter" select="$counter + 1"/>
<xsl:valueOf select="$counter"/> - this return 1 instead of 2
</some template>

--
Trevor Keast
Client Server Specialists Inc.

Email: [EMAIL PROTECTED]

---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to