[XSL-LIST Mailing List Archive Home] [By Thread] [By Date]

RE: [xsl] Empty nodes AND attributes stripping - I'm so lost


Subject: RE: [xsl] Empty nodes AND attributes stripping - I'm so lost
From: "Michael Kay" <mhk@xxxxxxxxx>
Date: Thu, 2 Sep 2004 17:21:43 +0100

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@xxxxxxxxx] 
> Sent: 02 September 2004 16:52
> To: xsl-list@xxxxxxxxxxxxxxxxxxxxxx
> 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
> ______________________________________________________________
> __________


Current Thread
Keywords