You don't need the second variable, you can write
test="//someXPath/Condition[number($instance)]/..."
In XSLT 2.0 you can do
<xsl:variable name="instance" as="xs:integer">
<xsl:number/>
</xsl:variable>
With simple invocations of xsl:number like this, however, it's often easier
to do
<xsl:variable name="instance" select="count(preceding-sibling::foo)+1"/>
Michael Kay
http://www.saxonica.com/
-----Original Message-----
From: Fraser Goffin [mailto:goffinf(_at_)hotmail(_dot_)com]
Sent: 02 December 2005 10:42
To: xsl-list(_at_)lists(_dot_)mulberrytech(_dot_)com
Subject: [xsl] xsl:number
In a stylesheet I am storing the value returned by <xsl:number> in a
variable and then using that variable within an XPath
expression, thus :-
<xsl:template match="foo">
<xsl:variable name="instance">
<xsl:number/>
</xsl:variable>
<xsl:variable name="instanceNo" select="number($instance)"/>
<xsl:choose>
<xsl:when
test="//someXPath/Condition[$instanceNo]/ItemType/Code) =
'some value'"/>
...
Is it possible to optimise the assignment to the variable
instanceNo to do
it in 1 step (rather than using 2 variables) as part of the select ?
I've tried various combinations but can't seem to find one
that works and
I'm wondering whether because <xsl:number/> is an instruction
it can't be
used in that way ??
Fraser.
--~------------------------------------------------------------------
XSL-List info and archive: http://www.mulberrytech.com/xsl/xsl-list
To unsubscribe, go to: http://lists.mulberrytech.com/xsl-list/
or e-mail:
<mailto:xsl-list-unsubscribe(_at_)lists(_dot_)mulberrytech(_dot_)com>
--~--
--~------------------------------------------------------------------
XSL-List info and archive: http://www.mulberrytech.com/xsl/xsl-list
To unsubscribe, go to: http://lists.mulberrytech.com/xsl-list/
or e-mail: <mailto:xsl-list-unsubscribe(_at_)lists(_dot_)mulberrytech(_dot_)com>
--~--