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

Re: Tricky inclusion match

Subject: Re: Tricky inclusion match
From: Karl Stubsjoen <kstubs@xxxxxxxxx>
Date: Tue, 29 Mar 2005 11:34:02 -0700
group recordset by field
groupa_count and groupb_count are really the collection of results
from the match on "record".  So the result for group a might be:

<groupa_count>
  <value>1</value>
  <value>2</value>
  <value>1</value>
</groupa_count>

The sum of group a would then be:  4


On Tue, 29 Mar 2005 12:13:13 -0600, Jon Gorman
<jonathan.gorman@xxxxxxxxx> wrote:
> > Here is what I have so far, I have a match on "record".  I use a key
> > "key_paint" to count my "group a" items and the same key to count my
> > "groub b" items.  Group a and group b items are predifined as part of
> > the xml source.  So, I achieve a unique count of "group a" and "group
> > b" items and now I need to evaluate the total of these two.  In plain
> > english:  "count unique items and then sum the count".  (see
> > additional comments inline below)
> 
> I have this feeling I must be missing part of the problem, but why not
> just add the variables (ie $groupa_count + $groupb_count) in the
> value-of?  (see below)
> 
> If you want the sum for both groupa and groupb and then add those
> together can't you simply use sum in a template that similar to the
> "count" template you have?
> 
> > <xsl:template match="record">
> >
> > <xsl:variable name="groupa_count">
> >
> > !!comment:  right here, instead of a select I'd like to wrap this in a
> > SUM() but not possible... or is it?  Using value-of instead doesn't
> > drive my template match and it is impossible to implement the use of a
> > mode.
> >
> > <xsl:apply-templates
> > select="ancestor::recordset/record[field[@fieldname='paint']=$luMD_GroupA][generate-id()=generate-id(key('key_paint',field[@fieldname='paint']))]"
> > mode="COUNT"/>
> > </xsl:variable>
> > <xsl:variable name="groupb_count">
> > <xsl:apply-templates
> > select="ancestor::recordset/record[field[@fieldname='paint']=$luMD_GroupB][generate-id()=generate-id(key('key_paint',field[@fieldname='paint']))]"
> > mode="COUNT"/>
> > </xsl:variable>
> 
> <xsl:variable name="total_count">
>        <xsl:value-of select="$groupa_count + $groupb_count"/>
> </xsl:variable>
> 
> <!-- should probably do something with the variable here, but I'm not
> sure what you want...perhaps just have the xsl:value-of
> select="$groupa_count + $groub_count"? -->
> >
> > </xsl:template>
> >
> > <xsl:template match="record" mode="COUNT">
> > <xsl:value-of select="number(count(ancestor::recordset/record[field[@fieldname='paint']
> > = current()/field[@fieldname='paint']]))"/>
> > </xsl:template>

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.