2011-03-02 24 views
0

使用默認日期:差異EXSLT模板時出現了一些問題,此問題在http://www.exslt.org/date/functions/difference/index.html處提供。 我已經能夠縮小問題範圍並找到源代碼:我的XSL處理器。 問題是,我有權訪問的XSLT處理器說,日期「2011-02-28T10:00:00」和「2011-03-01T10:00:00」之間的差異是-P27DT9H,當差異確實是PT15H(這個持續時間是Xalan和Saxon等其他XSLT處理器計算正確的 - 通過Oxygen XML Editor進行測試)。EXSLT日期:更改月份時的差異「錯誤」

現在,有沒有辦法編輯XSL模板(日期:差異),使其與我的XSL處理器正常工作?我想我正在使用的處理器是JAXP 1.3--要從SAP MII 12.1文檔中找到有點困難。

NB:這是不可能安裝另一個XSLT處理器:)

編輯:進一步的研究表明,即「引擎罩下」,JAXP運行的Xalan(系統屬性('的xsl:供應商的)返回「Apache軟件基金會(Xalan XSLTC)」)

編輯:問題的來源已經確定(!),但我找不到任何可接受的解決方案。 date:difference模板使用「document('')/ */...」從xsl文檔本地獲取數據集。 「文檔('')」技巧僅適用於我的處理器。我已經嘗試將本地數據集添加到變量並使用exslt:node-set()創建節點集,但是我已經遇到了DTM問題,並且添加該方法會減少我可以使用的數據量處理甚至比已經更多:(

回答

0

讓我們得到這個關閉,只是爲了好玩:) 解決方案是將「結構」放入一個變量,然後使用exslt:node-set使它成爲一個節點集。這消耗了大量的資源,但這就是使用非常有限的(和舊的!)系統時得到的。