从我问的上一个问题分叉出来,我如何确保example/one/field
和example/three/field
包含在 CDATA 中,而example/two/field
不是?
输入:
<?xml version="1.0"?>
<example>
<one>
<field>CDATA required here</field>
</one>
<two>
<field>No CDATA thanks</field>
</two>
<three>
<field>More CDATA please</field>
</three>
</example>
所需输出:
<?xml version="1.0"?>
<example>
<one>
<field><![CDATA[CDATA required here]]></field>
</one>
<two>
<field>No CDATA thanks</field>
</two>
<three>
<field><![CDATA[More CDATA please]]></field>
</three>
</example>
我可以指定<xsl:output cdata-section-elements="field"/>
,但这也会影响example/two/field
。我曾尝试输入类似的路径,<xsl:output cdata-section-elements="example/one/field example/three/field"/>
但这会产生错误(错误 XTSE0280: Invalid element name. Invalid QName {example/one/field})。我哪里错了?