DO NOT REPLY TO THIS EMAIL, BUT PLEASE POST YOUR BUG 
RELATED COMMENTS THROUGH THE WEB INTERFACE AVAILABLE AT
<http://nagoya.apache.org/bugzilla/show_bug.cgi?id=19698>.
ANY REPLY MADE TO THIS MESSAGE WILL NOT BE COLLECTED AND 
INSERTED IN THE BUG DATABASE.

http://nagoya.apache.org/bugzilla/show_bug.cgi?id=19698

Copied CDATA returns CDATA declaration as text in output





------- Additional Comments From [EMAIL PROTECTED]  2003-06-13 22:12 -------
Hi David,
I ran your XML/XSL combination and got this output:
<?xml version="1.0" encoding="UTF-8"?>
<root><!-- foo -->This is CDATA &amp;&lt;</root>

Which seems right to me.  The CDATA section in your input XML:
<?xml version="1.0"?>
<root><!-- foo --><![CDATA[This is CDATA &<]]></root>

is used to guard the "input" characters, not the characters output by the 
tranformation.

If you want the characters under an element named "root" to be in a CDATA 
section "on output", then you should used the xsl:output cdata-section-elements 
attribute in your stylesheet.

So with a stylesheet of:
<xsl:stylesheet version="1.0" 
  xmlns:xsl="http://www.w3.org/1999/XSL/Transform";>
<xsl:output cdata-section-elements="root" />
<xsl:template match="*">
  <xsl:copy-of select="."/>
</xsl:template>
</xsl:stylesheet>


You will get this output:
<?xml version="1.0" encoding="UTF-8"?>
<root><!-- foo --><![CDATA[This is CDATA &<]]></root>

Reply via email to