Saxon PE和EE从格式化日期返回不同的结果



以下xpath表达式在Saxon的不同版本中产生不同的结果:

format-date(xs:date('-0800-01-01'), '[Y]')

具体地说,Saxon-EE9.9.1.5产生";799〃;,而Saxon-PE 9.9.1.5产生";800〃;。我通过oXygen v22.0中的XSLT调用这段代码。

有人知道为什么会这样吗?

对于负年份的处理,可能有不同的配置设置。从XSD 1.0到XSD 1.1发生了变化——XSD 1.1与ISO 8601一致,使用了天文学家的惯例(年份为0(,而不是历史学家的惯例(没有(。Saxon有一个配置开关来选择XSD 1.0或XSD 1.1规则,这会影响基督教时代之前几年的处理。

最新更新