使 Saxon XSLT 引擎更加宽松(类型不匹配错误)

Making Saxon XSLT engine more permissive (types mismatch error)

我正在将大量 XSL 从本机 XSL 1.0 语法转换为与 Saxon-XSL3 兼容。

我经常遇到的一个常见合并错误是由于类型不匹配,例如:

XPTY0004: The required item type of the first argument of fn:string-length() is xs:string; the supplied value 1 does not match. The supplied value is of type xs:integer

当我使用 MSXML 6.0 引擎时,从未出现过此类合并错误。

我的问题是 - 我能否以某种方式将 Saxon 引擎配置得更宽松并忽略此类错误?

谢谢!

通过在 xsl:stylesheet 元素上指定 version="1.0",您可以在 1.0 backwards-compatibility 模式中选择 运行。但我的建议是继续前进并做出更严格的 type-checking 2.0+ 所需的更改;宽松的 1.0 规则导致许多 hard-to-detect 错误。