[XSL-LIST Mailing List Archive Home] [By Thread] [By Date] [Recent Entries] [Reply To This Message]

Re: reset increment on attribute value change

Subject: Re: reset increment on attribute value change
From: "Mukul Gandhi" <gandhi.mukul@xxxxxxxxx>
Date: Mon, 2 Oct 2006 18:08:08 +0530
c increment a to b
Probably your XML is something like this:

<root>
 <a name="1">
   <b>
     <c/>
   </b>
   <b>
     <c/>
   </b>
 </a>
 <a name="2">
   <b>
     <c/>
   </b>
   <b>
     <c/>
   </b>
   <b>
     <c/>
   </b>
 </a>
 <a name="3">
   <b>
     <c/>
   </b>
   <b>
     <c/>
   </b>
   <b>
     <c/>
   </b>
   <b>
     <c/>
   </b>
 </a>
</root>

The following stylesheet when applied to the above XML:

<?xml version="1.0" encoding="UTF-8"?>
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">

<xsl:output method="text" />

<xsl:template match="/root">
 <xsl:for-each select="a">
   <xsl:for-each select=".//c">
     <xsl:value-of select="position()" /><xsl:text>&#xa;</xsl:text>
   </xsl:for-each>
   <xsl:text>&#xa;</xsl:text>
 </xsl:for-each>
</xsl:template>

</xsl:stylesheet>

Produces output:

1
2

1
2
3

1
2
3
4

If this is not what you need, please provide more details.

On 10/2/06, Jonathan Marenus <jonathanmarenus@xxxxxxxxx> wrote:

Hi there,


I have the following XML structure:

<a name="1">
..
..
..
</a>
<a name="2">
..
..
..
</a>

I have repeatable b and c elements within each a (c
within b).

My XSL consists of a for-each "a". My goal is to have
an incremented value for each c where a[@name="1"] and
then start over with the next a where @name="2".

Put simply, I need to reset the incrementing when the
attribute for a changes value.

Right now, I am using the position function for c, but
the problem with that is it starts over when I have a
new b, not a new a, since c is within b.

Any help would be appreciated.

Best Regards,

Jonathan Marenus


--
Regards,
Mukul Gandhi

Current Thread

PURCHASE STYLUS STUDIO ONLINE TODAY!

Purchasing Stylus Studio from our online shop is Easy, Secure and Value Priced!

Buy Stylus Studio Now

Download The World's Best XML IDE!

Accelerate XML development with our award-winning XML IDE - Download a free trial today!

Don't miss another message! Subscribe to this list today.
Email
First Name
Last Name
Company
Subscribe in XML format
RSS 2.0
Atom 0.3
Site Map | Privacy Policy | Terms of Use | Trademarks
Free Stylus Studio XML Training:
W3C Member
Stylus Studio® and DataDirect XQuery™are products from DataDirect Technologies, is a registered trademark of Progress Software Corporation, in the U.S. and other countries. © 2004-2007 All Rights Reserved.