[Home] [By Thread] [By Date] [Recent Entries]

Subject: Re: Processing empty nodes in XSLT
From: Chris Griffin <listfeed@xxxxxxxxxx>
Date: Wed, 29 Nov 2006 15:32:52 -0800
I don't have control over the processor that I'm sending this XML data to. :-(

On Nov 29, 2006, at 3:12 PM, Michael Kay wrote:

You need to re-educate the recipient of the XML that CDATA has no semantics.
If you can't do that, you need to write your own serializer.


Or perhaps you could output processing instructions <?start-cdata?> and
<?end-cdata?> and then postprocess the output to turn these into <! [CDATA[
and ]]> respectively.



Michael Kay http://www.saxonica.com/

-----Original Message-----
From: Chris Griffin [mailto:listfeed@xxxxxxxxxx]
Sent: 29 November 2006 22:18
To: xsl-list@xxxxxxxxxxxxxxxxxxxxxx
Subject:  Processing empty nodes in XSLT

I need to enclose the data in my XML in CDATA. Doing this for
nodes with data was simple.

<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
version="1.0">
   <xsl:output cdata-section-elements="<list of node names>"/>
   <xsl:template match="*">
     <xsl:copy-of select="*"/>
   </xsl:template>
</xsl:stylesheet>

That was simple. Except that doesn't work for empty nodes.
For empty nodes I need <name><![CDATA[]]></name>. I've tried
various ways of doing this but I don't seem to understand how
to process each node of the input. I would like the solution
to generically add "<![CDATA[]]  >" to all empty nodes.

Thanks,
Chris Griffin

Current Thread
Site Map | Privacy Policy | Terms of Use | Trademarks
Free Stylus Studio XML Training:
W3C Member