【发布时间】:2014-02-08 04:28:31
【问题描述】:
我的 xml 中有一些对 xml 不友好的字符。一些 xml 解析器可以调整为对这些字符友好。但是我决定用 CDATA 包围它们以避免 XSL 处理器错误。但我必须以某种方式修改 xsl。这是我现在拥有的:
<subject>
<![CDATA[svn commit: r41657 - head/en_US.ISO8859-1/books/handbook/basics]]>
</subject>
我有一个变量
<xsl:variable name="message_subject">
<xsl:text> “</xsl:text>
<xsl:value-of select="/browser/message/subject"/>
<xsl:text>”</xsl:text>
</xsl:variable>
这样使用:
<h1>
<xsl:copy-of select="$message_subject"/>
</h1>
给我
<h1>
“<![CDATA[svn commit: r41657 - head/en_US.ISO8859-1/books/handbook/basics]]>”
</h1>
问题在于 CDATA 与所需的字符串混合在一起。我使用 net.sf.saxon.TransformerFactoryImpl。如何让 xslt 只取 CDATA 的内容?
【问题讨论】:
-
我无法重现您的问题。我们能否看到更多您的样式表(输出类型是什么,如何使用变量)?您使用的是哪个处理器?
-
@michael.hor257k,感谢您的关注。我已经更新了问题描述,所以我希望你能重现它。我使用撒克逊语。