Re: [xsl] Counting nodes processed

Subject: Re: [xsl] Counting nodes processed
From: "cutlass" <cutlass@xxxxxxxxxxx>
Date: Mon, 4 Mar 2002 15:38:19 -0000
Hello Jay,

----- Original Message -----
From: "JAY SCHERER" <jay.scherer@xxxxxxxxxx>



> I've got a need to limit the amount of ouput generated in a translation.
Assume the following xml
>
> <category value="category1">
>   <topic value="topic1"/>
>   <topic value="topic2"/>
>   <topic value="topic3"/>
> </category>
> <category value="category2">
>   <topic value="topic1"/>
>   <topic value="topic2"/>
>   <topic value="topic3"/>
> </category>
>
> How would I limit my total number of topics output to say 4 topics?  This
is straight forward in code, but not sure how to do it xsl?  Basically the
output would be topic1,2 and 3 from category1 and topic 1 from category 2
>

i've done an example in  a procedural style to be clear for you, this is
just one way of doing this

xml
----------------------------------
<?xml version="1.0" ?>
<root>

<category value="category1">
  <topic value="topic1"/>
  <topic value="topic2"/>
  <topic value="topic3"/>
</category>
<category value="category2">
  <topic value="cattopic1"/>
  <topic value="cattopic2"/>
  <topic value="cattopic3"/>
</category>

</root>

xsl
---------------------------------
<?xml version="1.0"?>
<xsl:stylesheet version="1.0"
xmlns:xsl="http://www.w3.org/1999/XSL/Transform";>
 <xsl:template match="/">


 <xsl:for-each select="//topic">

 <xsl:if test="position() &lt; 4">
 <xsl:value-of select="@value"/>
 </xsl:if>

 </xsl:for-each>
 </xsl:template>
</xsl:stylesheet>


cheers, jim fuller

> Thanks,
> Jay
>
> Jay Scherer
> 901 Explorer Blvd
> Huntsville, AL 35806
> (256)963-8130
> Sun Certified Developer For The Java Platform
> Sun Certified Programmer For The Java Platform
> Oracle Certified Application Developer
>
>
>  XSL-List info and archive:  http://www.mulberrytech.com/xsl/xsl-list
>


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


Current Thread