0

我在使用http://www.exslt.org/date/functions/difference/index.html提供的默认日期:差异 EXSLT 模板时遇到了一些问题。我已经能够缩小问题范围并找到根源:我的 XSL 处理器。问题是,我可以访问的 XSLT 处理器说,日期“2011-02-28T10:00:00”和“2011-03-01T10:00:00”之间的差异是 -P27DT9H,当真正的区别在于 PT15H(此持续时间是其他 XSLT 处理器,例如 Xalan 和 Saxon 正确计算的时间 - 通过 Oxygen XML 编辑器测试)。

现在,有没有办法编辑 XSL 模板(日期:差异)以使其与我的 XSL 处理器正常工作?我认为我正在使用的处理器是 JAXP 1.3 - 从可用的 SAP MII 12.1 文档中很难弄清楚。

注意:不可能安装另一个 XSLT 处理器 :)

编辑:进一步的研究表明,“在幕后”,JAXP 正在运行 Xalan(system-property('xsl:vendor') 返回“Apache Software Foundation (Xalan XSLTC)”)

编辑:问题的根源已经确定(!),但我无法找到任何可接受的解决方案。date:difference 模板使用“document('')/*/...”从 xsl 文档本地获取数据集。“文档('')”技巧不适用于我的处理器。我尝试将本地数据集添加到变量并使用 exslt:node-set() 创建节点集,但我已经遇到了 DTM 问题,并且添加该方法可以减少我可以使用的数据量处理比现在更多:(

4

1 回答 1

0

让我们关闭这个,只是为了好玩:) 解决方案是将“结构”放入变量中,然后使用 exslt:node-set 将其放入节点集。这会消耗大量资源,但这就是使用非常有限(而且很旧!)的系统时所得到的。

于 2011-03-14T09:18:47.423 回答