Re: [xsl] Removing namespaces without escaping CDATA???

Subject: Re: [xsl] Removing namespaces without escaping CDATA???
From: Martin Honnen <Martin.Honnen@xxxxxx>
Date: Fri, 06 Apr 2007 13:27:18 +0200
ypomonh@xxxxxxxxxxx wrote:

I' trying to remove namespaces from a document using the following
piece of code that although works, has the side-effect of escaping
CDATA sections (eg. "&lt;![CDATA[blah blah]]&gt;").

How can I prevent CDATA from being escaped..?

I don't see why your stylesheet would escape the <![CDATA[]]> delimiters. What should happen is that CDATA sections are converted to normal text nodes so e.g.
<element><![CDATA[Kibo & Xibo]]></element>
would be transformed to
<element>Kibo &amp; Xibo</element>
There is no generic way to preserve CDATA section with XSLT as you have to explicitly specify which elements are to be output as CDATA section in the result document using
<xsl:output cdata-section-elements="element-name"/>
So unless you author a stylesheet for a particular class of input documents where you know which elements have CDATA section content so that you can list them in the xsl:output cdata-section-elements attribute value I don't see a way to preserve CDATA sections.




--

	Martin Honnen
	http://JavaScript.FAQTs.com/

Current Thread