Subject: RE: [xsl] Recursively removing empty tags from deepest child upwards. From: "Andrew Welch" <AWelch@xxxxxxxxxxxxxxx> Date: Mon, 22 Mar 2004 15:30:32 -0000 |
> I'm trying to remove certain empty tags from a set a files > > e.g., simplified example > > <?xml version="1.0" encoding="US-ASCII"?> > <bdy> > <section><p>not empty</p><p></p></section> > <section><section><p></p></section></section> > </bdy> > > > I want > > <?xml version="1.0" encoding="US-ASCII"?> > <bdy> > <section><p>not empty</p></section> > </bdy> > > > i.e. in this example in the first section the empty <p></p> > is removed and the > whole of the second section removed since it contains just an > empty p and > empty section elements. How about only copying a node through if it has a text() descendant: <xsl:template match="@*|*"> <xsl:copy> <xsl:apply-templates select="@*|*|text()"/> </xsl:copy> </xsl:template> <xsl:template match="*[not(.//text())]"/> Out of interest, can anyone with a knowledge of template matching complexity tell me if this is O n^2 or if because it is within a match pattern some other rule applies? cheers andrew
Current Thread |
---|
|
<- Previous | Index | Next -> |
---|---|---|
RE: [xsl] Recursively removing empt, M. David Peterson | Thread | [xsl] comparing 2 childs of 2 child, André Moniz |
RE: [xsl] Recursively removing empt, M. David Peterson | Date | RE: [xsl] tools XSL:FO, SANWAL, ABHISHEK (HP |
Month |