xsl-list
[Top] [All Lists]

RE: finding postion from value of attribute

2003-10-21 04:46:39
I have the following xml input and would like to identify the 
position 
of the <answer/> element with the 'correct' attribute within the 
<question/> context and output it as as an integer ( in this case 3).

<question>
    <answer/>
    <answer/>
    <answer eval="correct">
    <answer/>
</question>

Any suggestions much appreciated

I don't know whether this is too simple, but I think this could work (not 
tested)

<xsl:template match="answer" name="answer">
  <xsl:if test="@eval='correct'">
    <xsl:value-of select="position()"/>. <xsl:value-of select="@eval"/>
  </xsl:if>
</xsl:template>

This outputs the position of the answers which are correct like this:
3. correct

You can call it like this
<xsl:apply-templates select="//answer"/> 
from your main template.


Regards
Flemming

 XSL-List info and archive:  http://www.mulberrytech.com/xsl/xsl-list



<Prev in Thread] Current Thread [Next in Thread>