Using position() looks perfectly correct here if your xsl:apply-templates is
written the way you say it is. It wouldn't be correct however if you reach
the QUESTION elements indirectly via intermediate elements. Perhaps you need
to show a more complete stylesheet.
It might be safer however to use <xsl:number level="any"/>.
Michael Kay
http://www.saxonica.com/
-----Original Message-----
From: Karlmarx Rajangam
[mailto:karlmarx(_dot_)rajangam(_at_)questionmark(_dot_)co(_dot_)uk]
Sent: 23 July 2008 14:16
To: xsl-list(_at_)lists(_dot_)mulberrytech(_dot_)com
Subject: [xsl] RE: Counting preceding elemets of similar
node, but in different branch
I have requirement to display certain id's in a sequential
numbering order. My xml is something like [and pls ignore any
spell / case mistakes]
<root>
<something>
<assessQ>
<header/>
<Block>
<blockID>xxxx</blockID>
<questions>
<QUESTION ID="1" />
<QUESTION ID="2" />
<QUESTION ID="3"/>
</questions>
</Block>
</assessQ>
<assessQ>
<header/>
<Block>
<blockID>yyy</blockID>
<questions>
<QUESTION ID="1" />
<QUESTION ID="2" />
</questions>
</Block>
</assessQ>
</something>
</root>
And in my xslt (Ver 1), I have something like
<xsl:apply-templates
select="something/assessQ/Block/questions"/> [I think I
cannot change this due to various other elements]
And what I am do is something like
1= 1
2= 2
3= 3
4= 1
5= 2 and so on....
so, i tried to use position,
<xsl:template match="QUESTION">
<xsl:value-of select="position()"/> = <xsl:value-of
select="@ID"/><br/>
</xsl:template>
but I released the mistake after seeing the result, 3=3 is
being followed by again by 1=1, ... instead of 4=1.
So, i think i must use preceding-sibling and/or some other
logic to calculate how many <QUESTION/> elements are there
before it. Pls can you suggest the best way to handle this?
Hope there might be some solution?
Thanks,
karl
--~------------------------------------------------------------------
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>
--~--