xsl-list
[Top] [All Lists]

RE: XSL distinct group by date

2005-05-06 10:04:43
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(_at_)lists(_dot_)mulberrytech(_dot_)com
From: Wendell Piez <wapiez(_at_)mulberrytech(_dot_)com>
Subject: RE: [xsl] XSL distinct group by date
Message-Id: 
<6(_dot_)2(_dot_)0(_dot_)14(_dot_)0(_dot_)20050502120218(_dot_)03405570(_at_)earthlink(_dot_)net>

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



--~------------------------------------------------------------------
XSL-List info and archive:  http://www.mulberrytech.com/xsl/xsl-list
To unsubscribe, go to: http://lists.mulberrytech.com/xsl-list/
or e-mail: <mailto:xsl-list-unsubscribe(_at_)lists(_dot_)mulberrytech(_dot_)com>
--~--



<Prev in Thread] Current Thread [Next in Thread>