Hi
Thaks for that solution - it works!!! I will try to figure out how it is
working - I made some typo last time.
thanks
Anamitra
David_N_Bertoni
@lotus.com To: [EMAIL PROTECTED]
cc:
11/16/2001 Subject: Re: stripping xml
elements without values
05:13 PM
xsl:strip-space will not work for what you want, since "space" means text
nodes, and you want to strip element nodes.
A template rule that matches empty elements is what you want:
<xsl:template match="*[not(node())]">
</xsl:template>
or even:
<xsl:template match="*[length(.) = 0]">
</xsl:template>
You'll also need the cannonical identity transform template in your
stylesheet:
<xsl:template match="@*|node()">
<xsl:copy>
<xsl:apply-templates select="@*|node()"/>
</xsl:copy>
</xsl:template>
You'll need to put it _before_ the rule that matches empty element nodes.
This is a general XSLT question, not a Xalan-specific one, so I would
suggest you join and post such questions to the Mulberry XSL list:
http://www.mulberrytech.com/xsl/
Dave
Anamitra.Bhattachary
[EMAIL PROTECTED] To:
[EMAIL PROTECTED]
cc: (bcc: David N
Bertoni/CAM/Lotus)
11/16/2001 04:35 PM Subject: stripping xml
elements without values
Hi
Is it possibe to write a generic xsl script which will allow me to strip
all elements with null/values like
in xml:
<PSCAMA class="R">
<LANGUAGE_CD>ENG</LANGUAGE_CD>
<AUDIT_ACTN></AUDIT_ACTN>
<BASE_LANGUAGE_CD>ENG</BASE_LANGUAGE_CD>
<MSG_SEQ_FLG></MSG_SEQ_FLG>
<PROCESS_INSTANCE>0</PROCESS_INSTANCE>
<PUBLISH_RULE_ID></PUBLISH_RULE_ID>
<MSGNODENAME></MSGNODENAME>
</PSCAMA>
out xml:
<PSCAMA class="R">
<LANGUAGE_CD>ENG</LANGUAGE_CD>
<BASE_LANGUAGE_CD>ENG</BASE_LANGUAGE_CD>
<PROCESS_INSTANCE>0</PROCESS_INSTANCE>
</PSCAMA>
This is just simple xml file - what I need is a generic way to strip off
all empty tags from any input xml. I was trying to use xsl:strip-space
element - but its giving starnge results. Is there anything currently in
xsl that I can use.??
thanks
Anamitra