Subject: Re: [xsl] Tricky inclusion match From: Karl Stubsjoen <kstubs@xxxxxxxxx> Date: Tue, 29 Mar 2005 10:50:44 -0700 |
All right, I am going to throw up the real problem here... and this is up for grabs, I'll take the first possible solution! Again, I think I am restricted to XSLT 1.0 (what is the deal with that anyhow? Sorry, a whole nother topic, but what would it take to start developing again XSLT 2.0 on a Window 2000+ Server environment?) 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) <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: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> On Tue, 29 Mar 2005 10:31:07 -0700, Karl Stubsjoen <kstubs@xxxxxxxxx> wrote: > Not sure if exsl:node-set is supported for .Net, can someone please > verify if this should work in .NET? I am using other EXSLT / > GotDotNet extensions, like the date format extensions. > > http://www.exslt.org/exsl/functions/node-set/ > > > On Tue, 29 Mar 2005 10:27:56 -0700, Karl Stubsjoen <kstubs@xxxxxxxxx> wrote: > > Hmmm... bit of a dilema in that I am using .NET EXSLT functionality in > > development but in production the true parser is MSXML. > > So, I guess I am at a bit of a stumbling point unless I can somehow > > use either/or functionality based on the environment. > > ugggg... > > Could I have a base template who's rule for evaluating/aggregating my > > variable derive from the MSXML's node-set but for my .NET EXSLT > > functionality override this function and also namespace (I guess) in > > order to aggregate the variable correctly? > > Karl > > > > On Tue, 29 Mar 2005 09:12:26 -0800 (PST), Mukul Gandhi > > <mukul_gandhi@xxxxxxxxx> wrote: > > > > but I am faithful there is a very realistic 1.0 > > > solution! > > > It should be possible with XSLT 1.0.. Possibly you > > > need to use node-set function also. You can judge from > > > the solution I posted how relatively easy it is with > > > XSLT 2.0 .. All the hard work is done by the > > > processor. > > > > > > > So, let me ask the following question: > > > > Use a variable to store the results of an > > > > apply-templates rule. The > > > > result is a new element which might look something > > > > like this: > > > > <data> > > > > <value>1</value> > > > > <value>1</value> > > > > </data> > > > > > > > > How can I aggregate (sum) the above data element > > > > which is stored in a variable? > > > You would need to use node-set function as.. > > > sum(node-set($temp)/data/value) . XSLT 1.0 does'nt > > > allow to treat result tree fragments as "node sets" > > > (but XSLT 2.0 does) ; so in 1.0 we need to convert RTF > > > to node set using node-set function.. > > > > > > Regards, > > > Mukul > > > > > > > Karl > > > > > > __________________________________ > > > Do you Yahoo!? > > > Yahoo! Small Business - Try our new resources site! > > > http://smallbusiness.yahoo.com/resources/
Current Thread |
---|
|
<- Previous | Index | Next -> |
---|---|---|
Re: [xsl] Tricky inclusion match, Karl Stubsjoen | Thread | Re: [xsl] Tricky inclusion match, Jon Gorman |
[xsl] normalize-space problems with, Jelks Cabaniss | Date | RE: [xsl] New Developer Survey Show, Pieter Reint Siegers |
Month |