Except that you also appear to define an element as being empty if all its
children are empty, unless it is a myContent element. But David has given
you the principle: once you sort out what the rules are, writing them in
XSLT isn't difficult.
You can match an element that is empty in the sense above with
match="*[not(.//text())]"
provided you have used
<xsl:strip-space elements="*"/>
to remove the whitespace text nodes.
Michael Kay
-----Original Message-----
From: David Carlisle [mailto:davidc(_at_)nag(_dot_)co(_dot_)uk]
Sent: 02 September 2004 16:52
To: xsl-list(_at_)lists(_dot_)mulberrytech(_dot_)com
Subject: Re: [xsl] Empty nodes AND attributes stripping - I'm so lost
just copy the identity transform from the xslt spec:
<xsl:template match="@*|node()">
<xsl:copy>
<xsl:apply-templates select="@*|node()"/>
</xsl:copy>
</xsl:template>
then add a template to zap empty attributes:
<xsl:template match="@*[.='']"/>
and a template to zap empty elements
<xsl:template match="*[not(node())]"/>
David
______________________________________________________________
__________
This e-mail has been scanned for all viruses by Star Internet. The
service is powered by MessageLabs. For more information on a proactive
anti-virus service working around the clock, around the globe, visit:
http://www.star.net.uk
______________________________________________________________
__________
--+------------------------------------------------------------------
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>
--+--