在XQuery中输出CDATA

时间:2009-10-04 03:45:26

标签: xml xquery cdata

我如何使用XQuery进行转换

<author>John Smith</author>

<author><![CDATA[John Smith]]></author>

另外,我将如何转换

<content>&lt;p&gt;&lt;em&gt;Hello&lt;/em&gt;&lt;/p&gt;</content>

<content><![CDATA[<p><em>Hello</em></p>]]></content>

如果重要,我正在使用XSLPalette.app。

2 个答案:

答案 0 :(得分:1)

<强>解决方案

declare namespace saxon="http://saxon.sf.net/";
declare option saxon:output "cdata-section-elements=content";

Thanks to Jim Garrison鼓励我更仔细地搜索Saxon文档。

答案 1 :(得分:0)

XSLPalette似乎使用了Saxon,所以它应该支持xsl:output上的cdata-section-elements选项。有关详细信息,请参阅http://www.w3.org/TR/xslt#output

基本上,如果底层的XSLT处理器支持它,你可以编码

<xsl:output cdata-section-elements="name1 name2 ... etc"/>

cdata-section-elements的值是以空格分隔的标记名列表,其中子文本节点将作为CDATA节输出。

我很想知道这是否适用于XSLPalette。