[xsl] Removing empty element tags

Subject: [xsl] Removing empty element tags
From: jeff.day@xxxxxx
Date: Mon, 21 Jul 2003 16:16:27 +0100
Hi

I wish to create a copy of an XML that is identical to the original except
that any empty element tags do not appear in the new XML.

My definition of an empty element is:

1. It contains no text (whitespace counts as empty)
   and
2. It has no attributes
   and
3. It has no children

I tried tinkering with...


<xsl:template match="node()|@*">
  <xsl:copy>
    <xsl:apply-templates select="@*|node()"/>
  </xsl:copy>
</xsl:template>

 <xsl:template match="*[not(normalize-space())]"/>


... but this also excludes elements containing attributes.

I've been round & round this and I expect the answer is nearby but I can't
put my finger on it. Can you help please?

Many thanks

Jeff



 XSL-List info and archive:  http://www.mulberrytech.com/xsl/xsl-list


Current Thread