[XSL-LIST Mailing List Archive Home] [By Thread] [By Date] [Recent Entries] [Reply To This Message] Re: [XSLT 1.0] Q: recursively eliminate empty nodes
At 2010-11-08 20:15 +0100, Hermann Stamm-Wilbrandt wrote:
on the input file x.xml I posted your solutions produce the same output. Of course they would differ ... you haven't described the requirements and we volunteers are just guessing. $ cat d.xml <a><b>c<c/></b><b><c/><!--test--></b></a> $ $ xsltproc d1.xsl d.xml <?xml version="1.0" encoding="UTF-8"?> <a><b>c</b></a> $ $ xsltproc d2.xsl d.xml <?xml version="1.0" encoding="UTF-8"?> <a><b>c</b></a> $ $ xsltproc y.xsl d.xml <?xml version="1.0"?> <a><b>c</b><b><!--test--></b></a> $ Good ... it will stop the guessing. For now the XSLT 1.0 solution below will check for empty elements with your new stipulation. I hope this helps. . . . . . . Ken ~/t/ftemp $ cat hermann2.xml <a><b>c<c/></b><b><c/><!--test--></b></a> ~/t/ftemp $ xslt hermann2.xml hermann.xsl <?xml version="1.0" encoding="utf-8"?><a><b>c</b><b><!--test--></b></a>~/t/ftemp $ cat hermann.xsl <?xml version="1.0" encoding="US-ASCII"?> <xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0"> <xsl:template match="*[not(.//text() | .//comment() | .//processing-instruction())]"/> <xsl:template match="@*|node()"><!--identity for all other nodes--> <xsl:copy> <xsl:apply-templates select="@*|node()"/> </xsl:copy> </xsl:template> </xsl:stylesheet> ~/t/ftemp $
|
PURCHASE STYLUS STUDIO ONLINE TODAY!Purchasing Stylus Studio from our online shop is Easy, Secure and Value Priced! Download The World's Best XML IDE!Accelerate XML development with our award-winning XML IDE - Download a free trial today! Subscribe in XML format
|