RE: [xsl] XSL distinct group by date

Subject: RE: [xsl] XSL distinct group by date
From: "Mindy McCutchan" <karma@xxxxxxxxxxxxxx>
Date: Fri, 06 May 2005 12:04:43 -0500
Wendell,
Thank you so much! This reference not only solved my problem but explained a
lot of the other problems I've had with XSL.

I really appreciate everyone's help.

Thanks,
Mindy

> >-----Original Message-----
> >Date: Mon, 02 May 2005 12:11:01 -0400
> >To: xsl-list@xxxxxxxxxxxxxxxxxxxxxx
> >From: Wendell Piez <wapiez@xxxxxxxxxxxxxxxx>
> >Subject: RE: [xsl] XSL distinct group by date
> >Message-Id: <6.2.0.14.0.20050502120218.03405570@xxxxxxxxxxxxx>
> >
> >Mindy,
> >
> >At 03:12 PM 5/1/2005, you wrote:
> >>Now if I use the XSLT in the above link
> >>(http://sources.redhat.com/ml/xsl-list/2000-07/msg00458.html
), it does
> >>return the distinct customer name values, but it also 
> >writes out the value
> >>of the nodes outside the /projects level, yielding: 
> >Customer 1Customer 2 A
> >>Paper Title
> >
> >This is undoubtedly happening because these nodes are being 
> >selected by 
> >default and matched by the built-in templates, so their 
> >contents are being 
> >copied to the result tree and written out.
> >
> >(The Jeni-code in the post cited did not include any of the 
> >templates that 
> >would handle other structures in a real case; if you leave 
> >those out, 
> >you'll get the default behavior, which is as you describe.)
> >
> >The solution is either to arrange not to select the nodes 
> >you don't want, 
> >or to assure that when they are selected and matched, 
> >nothing gets done 
> >with them. (The latter is commonly done by matching them 
> >with empty templates.)
> >
> >Terms to research: built-in templates; XSLT processing 
> >model; semantics of 
> >xsl:apply-templates and its select attribute.
> >
> >Short version: try using a template like this
> >
> ><xsl:template match="company">
> >   <xsl:apply-templates select="projects"/>
> ></xsl:template>
> >
> >to replace the built-in template, which would look like this:
> >
> ><xsl:template match="company">
> >   <xsl:apply-templates select="child::node()"/>
> ></xsl:template>
> >
> >Cheers,
> >Wendell

Current Thread