This is the mail archive of the xsl-list@mulberrytech.com mailing list .


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: incrementing a counter in XSL


Becky,

Greg's solution is the best (cleanest and simplest). But if you can't use 
it, e.g. because you have to do other things with other elements inside 
your for-each but not inside your test, you can adapt xsl:number to do what 
you need:

<xsl:for-each select="Contract/TermRdr">
   <xsl:if test="StatusCd='A' or StatusCd='F'">
     <SequenceNum fieldType="Short" elementType="field">
       <xsl:number count="TermRdr[StatusCd='A' or StatusCd='F']"/>
     </SequenceNum>
             ....
   </xsl:if>
</xsl:for-each>

You don't need to give xsl:number an explicit value here; its whole job is 
to number things.

Cheers,
Wendell

At 02:05 PM 4/18/2002, you wrote:

>---------------------- Forwarded by Becky Foley/IIG/Prudential on
>04/18/2002 02:05 PM ---------------------------
>Becky Foley    Thursday April 18, 2002 12:13 PM
>       (973) 802-6567
>To:    XSL-List@lists.mulberrytech.com
>cc:
>Subject:    incrementing a counter in XSL
>
>I am selecting some nodes from an XML doc with an if statment in a for-each
>loop.  Out of the set of nodes I am looping through, I am only selecting
>some in the if statment.  Each of these nodes that is selected by the if
>statement needs a sequence number.  Originally I was using :
>      <xsl:for-each select="Contract/TermRdr">
>             <xsl:if test="StatusCd='A' or StatusCd='F'">
>                   <SequenceNum fieldType="Short" elementType
>="field"><xsl:number value ="position()"/></SequenceNum>
>             ....
>       </xsl:if>
>    </xsl:for-each>
>
>but I realized I was getting the position from the source xml.  So if the
>if statement selected 2 of the 5 nodes, they could end up with sequence
>numbers 2 and 4 as opposed to the 1 and 2 I am looking for.


======================================================================
Wendell Piez                            mailto:wapiez@mulberrytech.com
Mulberry Technologies, Inc.                http://www.mulberrytech.com
17 West Jefferson Street                    Direct Phone: 301/315-9635
Suite 207                                          Phone: 301/315-9631
Rockville, MD  20850                                 Fax: 301/315-8285
----------------------------------------------------------------------
   Mulberry Technologies: A Consultancy Specializing in SGML and XML
======================================================================


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


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]