2

我将如何使用 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。

4

2 回答 2

1

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。

于 2009-10-04T04:29:04.323 回答
1

解决方案

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

感谢 Jim Garrison启发我更加仔细地搜索 Saxon 文档。

于 2009-10-04T04:47:34.533 回答