EXSLT日期:更改月份时的差异“错误”

时间:2011-03-02 09:45:59

标签: xslt date exslt

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

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

注意:无法安装另一个XSLT处理器:)

编辑:进一步的研究表明,“引擎盖下”,JAXP正在运行Xalan(系统属性('xsl:vendor')返回“Apache Software Foundation(Xalan XSLTC)”)

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

1 个答案:

答案 0 :(得分:0)

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