|
Subject: Re: [xsl] Count the node from zero instead of one. From: Mukul Gandhi <gandhi.mukul@xxxxxxxxx> Date: Fri, 26 Nov 2010 14:48:10 +0530 |
In XSLT 2.0 you may try to do something like below,
<xs:function name="func:myNumber" as="xs:positiveInteger">
<xsl:param name="nodePattern" as="node()*" />
<xsl:variable name="num" as="xs:positiveInteger">
<xsl:number count="$nodePattern"/>
</xsl:variable>
<xsl:sequence select="$num - 1" />
</xs:function>
and replace following in your code:
<xsl:element name="position">
<xsl:number count="*"/>
<xsl:text>,</xsl:text>
</xsl:element>
with
<position>
<xsl:value-of select="func:myNumber(*)" />
<xsl:text>,</xsl:text>
</position>
you would have to bind the function namespace prefix "func:" to an
appropriate URI.
This is not tested.
On Fri, Nov 26, 2010 at 12:38 PM, Rashi Bhardwaj
<rashi.bhardwaj@xxxxxxxxx> wrote:
> HI All,
>
> I m counting the node position from this logic in the below sample xml
>
> xml:
>
> <test>
> <a>
> <b name ='1'></b>
> <b name ='2'></b>
> <b name ='3'>
> <c>aaa</c>
> </b>
> <b name ='4'>
> B B B B <c>bbb</c>
> B B B B <c>ccc</c>
> </b>
> <b name ='4'>
> B B B B <c>dddd</c>
> B B B B <c>eeee</c>
> </b>
> </a>
> <a>
> <b name ='1'></b>
> <b name ='2'>
> <c>fffff</c>
> </b>
> <b name ='3'></b>
> <b name ='4'>
> B B B B <c>gggg</c>
> </b>
> </a>
> </test>
>
> <xsl:template name="CountNode">
> B B B B B B B B <xsl:param name="node"
> select="//b[c[preceding-sibling::c]][not(@name
> =preceding::b[child::c]/@name)]/@name"/>
> B B B B B B B B <xsl:for-each select="$node">
> B B B B B B B B B B B B <xsl:element name="position">
> B B B B B B B B B B B B B B B B <xsl:number count="*"/>
> B B B B B B B B B B B B B B B B <xsl:text>,</xsl:text>
> B B B B B B B B B B B B </xsl:element>
> B B B B B B B B B B B B <xsl:if test="position()!=last()"/>
> B B B B B B B B </xsl:for-each>
> B B B B </xsl:template>
>
> it gives the result 3,4,2,....I want it should count from zero instead
> of one and the result shld be 2,3,1.or it can print the result by
> subracing 1 from it like 3-1=2.
>
> Please suggest some thing...
>
> Thanks....
> Rashi
--
Regards,
Mukul Gandhi
| Current Thread |
|---|
|
| <- Previous | Index | Next -> |
|---|---|---|
| [xsl] Count the node from zero inst, Rashi Bhardwaj | Thread | [xsl] java heap management for tran, ac |
| RE: [xsl] Issue with Xalan nodeset, Etheridge, Stephen | Date | [xsl] java heap management for tran, ac |
| Month |