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

Re: Counting nodes processed

Subject: Re: Counting nodes processed
From: "cutlass" <cutlass@xxxxxxxxxxx>
Date: Mon, 4 Mar 2002 16:39:17 -0000
xslt for each count nodes
et viola;


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

 <xsl:template match="/root">

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


   <xsl:if test="position() =1 ">
   <xsl:value-of select="parent::*/@value"/>
   </xsl:if>

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

   </xsl:for-each>

 </xsl:template>

 </xsl:stylesheet>

and yes, it is bad to use // as it searches the all nodes for a match, but i
didnt know if u wanted all topics, etc

cheers, jim fuller


----- Original Message -----
From: "JAY SCHERER" <jay.scherer@xxxxxxxxxx>
To: "'cutlass'" <cutlass@xxxxxxxxxxx>
Sent: Monday, March 04, 2002 4:36 PM
Subject: RE:  Counting nodes processed


> Jim,
>
> I'm talking about the total number of topics, not the number per category.
I was actually getting the correct number in the 1st example you sent me,
but when we introduced the ability to print the category, that's when we ran
into troubles.
>
> Jay
>
> -----Original Message-----
> From: cutlass [mailto:cutlass@xxxxxxxxxxx]
> Sent: Monday, March 04, 2002 10:25 AM
> To: JAY SCHERER
> Subject: Re:  Counting nodes processed
>
>
> it depends on what *number* topics u are going from; as a total number of
> topics, or a number of topics per category.
>
> of course this has to do with what context the current node is in, which
is
> why things start getting strange when u introduce templates, u could
easily
> nest an xsl:for-each if u wanted....
>
> or there are much spiffier ways of doing it by using a named template and
> pass the a var that represents #_of_topics and which xml fragment as
another
> var
>
> oh well,
>
> HTH, jim fuller
>
>
> ----- Original Message -----
> From: "JAY SCHERER" <jay.scherer@xxxxxxxxxx>
> To: "'cutlass'" <cutlass@xxxxxxxxxxx>
> Sent: Monday, March 04, 2002 4:26 PM
> Subject: RE:  Counting nodes processed
>
>
> > well...  It was selecting the 1st 4 topics, even when in category 2
> >
> > category 1
> >   topic1
> >   topic2
> >   topic3
> >   topic4
> > category2
> >   topic2-1
> >   topic2-2
> >
> > so, I changed the xml to look something like
> >
> >  <xsl:template match="/root">
> >    <xsl:apply-templates select="category"/>
> >  </xsl:template>
> >
> >  <xsl:template match="category">
> >    <xsl:value-of select="@value"/>
> >    <br />
> >    <xsl:for-each select="topic">
> >    <xsl:if test="position() &lt; 4">
> >      <xsl:value-of select="@value"/><br />
> >    </xsl:if>
> >  </xsl:for-each>
> >
> >  </xsl:template>
> >
> >
> > However, now it selects 4 from each category and not the sum of the 2.
> Let's change the count to 5 and given the xml above it should generate
> >
> > Category1
> >   topic1
> >   topic2
> >   topic3
> >   topic4
> >
> > Category2
> >   topic2-1
> >
> >
> > Thanks,
> > Jay
> >
> > -----Original Message-----
> > From: cutlass [mailto:cutlass@xxxxxxxxxxx]
> > Sent: Monday, March 04, 2002 10:09 AM
> > To: JAY SCHERER
> > Subject: Re:  Counting nodes processed
> >
> >
> >
> >
> > ----- Original Message -----
> > From: "JAY SCHERER" <jay.scherer@xxxxxxxxxx>
> > To: <xsl-list@xxxxxxxxxxxxxxxxxxxxxx>
> > Cc: <cutlass@xxxxxxxxxxx>
> > Sent: Monday, March 04, 2002 4:09 PM
> > Subject: RE:  Counting nodes processed
> >
> >
> > > excellent...
> > >
> > > now if you can just tell me how I get the category of the topic.
> > >
> > > output would need to be something like
> > >
> > >   Category1
> > >      topic1
> > >      topic2
> > >      topic3
> > >      topic4
> > >
> > >   Category2
> > >      topic1
> > >      topic2
> > >
> >
> >
> > ok i will introduce some templating for you
> >
> >
> > <?xml version="1.0"?>
> > <xsl:stylesheet version="1.0"
> > xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
> >  <xsl:template match="root">
> >
> >  <xsl:apply-templates select="category"/>
> >
> >  </xsl:template>
> >
> >  <xsl:template match="category">
> >  <xsl:value-of select="@value"/>
> >  <br />
> >  <xsl:for-each select="//topic">
> >  <xsl:if test="position() &lt; 4">
> >  <xsl:value-of select="@value"/><br />
> >  </xsl:if>
> >  </xsl:for-each>
> >
> >  </xsl:template>
> >
> >
> > cheers, jim fuller
> > </xsl:stylesheet>
> >
> > > Do you see where I'm going with this?  Thanks for the help.
> > >
> > > Jay
> > >
> > > -----Original Message-----
> > > From: cutlass [mailto:cutlass@xxxxxxxxxxx]
> > > Sent: Monday, March 04, 2002 9:38 AM
> > > To: xsl-list@xxxxxxxxxxxxxxxxxxxxxx
> > > Subject: Re:  Counting nodes processed
> > >
> > >
> > > 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


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


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-2013 All Rights Reserved.