在XSLT中输出内容带有CDATA的XML节点

在XSLT中输出内容带有CDATA的XML节点

  在使用XSLT格式化XML文档时,有时希望输出带有<![CDATA[ ]]>内容的节点,好处是CDATA中的内容不用进行任何转义,可以原样存放在XML文档中而不会存在歧义。但是你不能直接在XSLT中使用CDATA节点来进行输出格式化,原因是XSLT会将其中的内容原样输出,你无法在其中插入任何用于运算和取值的标签,如<xsl:value-of>。

  参考W3schoold中的解释http://www.w3school.com.cn/xsl/el_output.asp,我们可以在<xsl:output>节点中指定内容要作为CDATA部分来输出的节点名称,然后直接在XSLT中使用即可。如:

@H_404_19@<xsl:output method@H_404_19@="xml" indent@H_404_19@="yes" cdata-section-elements@H_404_19@="Note"@H_404_19@/>

  然后直接在文档中引用:

@H_404_19@<Note@H_404_19@>
  @H_404_19@<xsl:value-of select@H_404_19@="."@H_404_19@/>
@H_404_19@</Note@H_404_19@>

XSLT会将输出内容自动放到CDATA节点中。

相关文章

php输出xml格式字符串
J2ME Mobile 3D入门教程系列文章之一
XML轻松学习手册
XML入门的常见问题(一)
XML入门的常见问题(三)
XML轻松学习手册(2)XML概念