问题描述
我知道将disable-output-escaping属性设置为true,我们可以转义某些特殊字符。那里有什么清单吗? XSLT版本:1.0 我正在使用的实现:Xalan XSLT 1.0
解决方法
disable-output-escaping
防止转义的字符转义,否则这些字符将根据输出方法转义。使用xsl:output method="html"
时,XSLT处理器应该根据HTML规则进行序列化,而输出方法xml
根据XML规则进行序列化。
请参见https://www.w3.org/TR/xslt-10/#disable-output-escaping:
通常,xml输出方法会转义
&
和<
(可能还会转义其他 字符)输出文本节点时。这样可以确保输出 是格式正确的XML。但是,有时能够 产生几乎,但格式不正确的XML输出;对于 例如,输出可能包含预期的格式不正确的部分 通过随后的不了解XML的方式转换为格式正确的XML 处理。因此,XSLT提供了一种禁用功能 输出转义。xsl:value-of
或xsl:text
元素可能有一个 disable-output-escapeing属性;允许的值为是或否; 默认为否;如果值为yes,则由生成的文本节点 实例化xsl:value-of或xsl:text元素应被输出 没有任何逃避。例如,
<xsl:text disable-output-escaping="yes"><</xsl:text>
应该 生成单个字符<
。
对于一个确定的列表,为了保持一致性>
通常会以>
的形式转义,但是您必须使用特定处理器的特定版本进行测试,对于Xalan Java来说,{ {3}}和相关文件正在转义。