Subject: Re: [xsl] How to remove (in addition) empty attributes? From: "Ben Stover" <bxstover@xxxxxxxxxxx> Date: Thu, 03 Dec 2009 08:40:27 +0100 |
The problem with this is that only elements OR attributes are stripped but not both at the same time. Assume the following XML source: <ns11:elem1 myattr=""> <ns22:subelem2 /> <ns22:subelem3></ns22:subelem3> </ns11:elem1> Then applying the XSLT script below will result in <ns11:elem1> </ns11:elem1> As you can see the ns11:elem1 persists. It is handled only in the remove attribute template and does not match the other remove-empty-element template. So how can I iteratively/recursively re-apply the script/templates on the result again? XSLT script: <?xml version="1.0"?> <xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0"> <xsl:output indent="yes"/> <xsl:template match="@*[normalize-space(.)='']"/> <xsl:template match="*[not(node())]"/> <xsl:template match="@* | node()"> <xsl:copy> <xsl:apply-templates select="@* | node()"/> </xsl:copy> </xsl:template> </xsl:stylesheet> On Wed, 2 Dec 2009 20:58:11 -0500, Syd Bauman wrote: >How about matching the empty attributes and not generating any >output? > <xsl:template match="@*[normalize-space(.)='']"/> >> How can I delete empty attributes as well?
Current Thread |
---|
|
<- Previous | Index | Next -> |
---|---|---|
Re: [xsl] How to remove (in additio, Syd Bauman | Thread | Re: [xsl] How to remove (in additio, Syd Bauman |
Re: [xsl] Transform with Multiple F, Michael Müller-Hille | Date | Re: [xsl] How to remove (in additio, Syd Bauman |
Month |