使 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 错误。
我正在将大量 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 错误。