Saxon PE 和 EE 从 format-date 返回不同的结果

问题描述

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

.
├── README.md
├── assets
│   └── index.html
├── dev.tfvars
├── main.tf
├── outputs.tf
├── prod.tfvars
├── terraform.tfstate.d
│   ├── dev
│   │   └── terraform.tfstate
│   ├── prod
│   │   └── terraform.tfstate
├── terraform.tfvars
└── variables.tf

具体来说,Saxon-EE 9.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 规则,这影响了基督教时代之前的几年的处理。

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...