在我的一个用例中,我的XSLT 2.0转换(由Saxon和JAVA驱动)在我的输出中生成额外的

字符,无论遇到空格或换行符。
但是,当使用XSLT 1.0(由libXSLT和Perl提供支持)完成相同的转换时,它不会在输出中获得此特定字符。
我已经提到了这个query,它解释了SAXON基本上将这些特殊字符序列化为往返。
我的问题是,为什么XSLT 1.0的行为会有所不同?
答案 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则没有。