问题描述
我正在将大量XSL从本机XSL 1.0语法转换为与Saxon-XSL3兼容。
我通常会遇到的常见合并错误是由于类型不匹配引起的,例如:
XPTY0004:的第一个参数的必需项类型 fn:string-length()是xs:string;提供的值1不 比赛。提供的值是xs:integer
类型
当我使用MSXML 6.0引擎时,从未发生这种合并错误。
我的问题是-我可以以某种方式将Saxon引擎配置为更宽容并忽略此类错误吗?
谢谢!
解决方法
通过在version="1.0"
元素上指定xsl:stylesheet
,可以选择以1.0向后兼容模式运行。但是我的建议是继续前进,并进行更改,以进行更严格的2.0+类型检查。宽松的1.0规则会导致许多难以发现的错误。