xslt输出字符“”

时间:2016-08-22 10:41:26

标签: xml xslt xslt-1.0 xslt-2.0

在我的一个用例中,我的XSLT 2.0转换(由Saxon和JAVA驱动)在我的输出中生成额外的
字符,无论遇到空格或换行符。

但是,当使用XSLT 1.0(由libXSLT和Perl提供支持)完成相同的转换时,它不会在输出中获得此特定字符。

我已经提到了这个query,它解释了SAXON基本上将这些特殊字符序列化为往返。

我的问题是,为什么XSLT 1.0的行为会有所不同?

1 个答案:

答案 0 :(得分:3)

我认为1999年的XSLT 1.0早于XML 1.1,需要在https://www.w3.org/TR/xml11/#sec-line-ends中对该字符进行规范化,而XML 1.0 https://www.w3.org/TR/xml/#sec-line-ends不包括该字符。 https://www.w3.org/TR/xslt-xquery-serialization/#xml-output中概述的XSLT 2.0的序列化规则确实考虑了XML 1.1,而旧版的XSLT 1.0则没有。