xsl-list
[Top] [All Lists]

RE: Upon matching attribute value, increment output

2004-09-24 00:09:37
Your title suggests you aren't thinking about the problem functionally. You
don't increment things in XSLT. What you need to do is to compute a number
that depends on the element's position.

You should be able to do this using
count(preceding-sibling::CON[(_at_)CODE=current()/@CODE]). You can also do it by
setting a variable to the current @CODE and using <xsl:number
count="CON[(_at_)CODE = $thisCode]"/>. 

Michael Kay
http://www.saxonica.com/

-----Original Message-----
From: Russ Little [mailto:russ(_dot_)little(_at_)datamaxx(_dot_)com] 
Sent: 24 September 2004 05:52
To: xsl-list(_at_)lists(_dot_)mulberrytech(_dot_)com
Subject: [xsl] Upon matching attribute value, increment output

 

      If I have the following XML:
       
      <GRP>
        <CON @CODE="ABC"/>
        <CON @CODE="DEF"/>
        <CON @CODE="ABC"/>
        <CON @CODE="ABC"/>
        <CON @CODE="XYZ"/>
        <CON @CODE="ABC"/>
      </GRP>
       
      And I want my output to be:
       
      ABC
      DEF
      ABC_1
      ABC_2
      XYZ
      ABC_3
       
      How would I get there?  I cannot seem to manage it with 
any combination of count, value-of, match, etc., and almost 
all posts I see are for node values instead of attributes, or 
HTML instead of text...nothing I've seen seems to give me a 
valid idea to run with.
       
      Any help would be greatly appreciated!
       
      Thanks,
       
      Russ





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