Subject: RE: new: how to change value of attributes
From: "Michael Kay" <mike@xxxxxxxxxxxx>
Date: Wed, 25 Nov 2009 19:15:57 -0000
|
> <xsl:function name="f:index-of-node" as="xs:integer*">
> <xsl:param name="nodes" as="node()*"/>
> <xsl:param name="node" as="node()"/>
> <xsl:for-each select="$nodes">
> <xsl:sequence select="position()[current() is $node]"/>
> </xsl:for-each>
> </xsl:function>
>
or (perhaps less obscurely)
<xsl:function name="f:index-of-node" as="xs:integer*">
<xsl:param name="nodes" as="node()*"/>
<xsl:param name="node" as="node()"/>
<xsl:sequence select="1 to count($nodes)[subsequence($nodes, ., 1) is
$node]">
</xsl:function>
Regards,
Michael Kay
http://www.saxonica.com/
http://twitter.com/michaelhkay
|