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>
--~--