У меня возникают некоторые проблемы при использовании даты по умолчанию: разностный шаблон 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)")
Редактировать:Источник проблемы был идентифицирован (!), Но я не могу найти какое-либо приемлемое решение.Шаблон date: разница использует «document ('') / * / ...» для локального получения набора данных из xsl-документа.Трюк "document ('')" просто не будет работать с моим процессором.Я попытался добавить локальный набор данных в переменную и создать набор узлов с помощью exslt: node-set (), но я уже сталкиваюсь с проблемами DTM, и добавление этого метода уменьшает объем данных, которые я могуобрабатывать даже больше, чем уже: (