1

我目前正在重构一个包含数千个 XSLT 文件的大型 XSLT 1.0 库。该库设计为使用 MSXML 运行,因此 ms:node-set() 调用随处可见。让我感到震惊的是,如果我们需要将库移植到不同的 XSLT 引擎,则需要完成并更新对节点集函数的所有引用。

是否可以以更便携的方式实现节点集功能,以便在移植库时有一个单点更改?例如,定义一个自定义函数,比如 my:node-set(),它包装/覆盖 ms:node-set() 函数并替换库中的所有 ms:node-set() 引用以引用 my: node-set() 代替。

我对涉及迁移到 XSLT 2.0 的解决方案不感兴趣

4

1 回答 1

1

用户指定的函数不是 XSLT 1.0 的特性(尽管一些实现支持用户将函数定义为扩展)。因此,您想到的用户定义的包装器将不起作用。(叹气。)如果您使用 EXSLT 风格的 node-set(),您可能会获得更好的可移植性。

于 2013-06-01T01:30:52.450 回答