Subject: Re: [xsl] Removing namespaces without escaping CDATA??? From: "Mukul Gandhi" <gandhi.mukul@xxxxxxxxx> Date: Fri, 6 Apr 2007 21:39:51 +0530 |
The declaration, <xsl:output cdata-section-elements="qnames" /> seems to have a shortcoming. It's not generic; in a sense that it is global (all elements anywhere in the tree will be affected by it).
Apart from the global declaration <xsl:output cdata-section-elements="qnames" />, I think the language should provide this option at an element level also (something like, xsl:element name="qname" cdata-section="yes"). The element level declaration will override the global declaration.
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. "<![CDATA[blah blah]]>"). > > 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 & 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/
-- Regards, Mukul Gandhi
Current Thread |
---|
|
<- Previous | Index | Next -> |
---|---|---|
Re: [xsl] Removing namespaces witho, Martin Honnen | Thread | RE: [xsl] Removing namespaces witho, Michael Kay |
[xsl] null call of document functio, Steve | Date | RE: [xsl] Removing namespaces witho, Michael Kay |
Month |