【发布时间】:2018-05-25 00:44:10
【问题描述】:
我有点卡在 XSLT 中计算两个日期之间的差异。
我的 XML:
<?xml version="1.0" encoding="utf-8"?>
<LIST>
<OUTPUT>
<LOG>
<item>
<DocNo>123456789</DocNo>
<CreationDate>2018-05-22</CreationDate>
</item>
<item>
<DocNo>111222333</DocNo>
<CreationDate>2018-05-24</CreationDate>
</item>
</LOG>
</OUTPUT>
</LIST>
我的 XSLT:
<?xml version="1.0" encoding="utf-8" ?>
<xsl:stylesheet xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:xalan="http://xml.apache.org/xalan" version="2.0">
<xsl:template match="/">
<Rowsets>
<Rowset Name="Bulk">
<xsl:for-each select="LIST/OUTPUT/LOG/item">
<Row>
<DocumentNo>
<xsl:value-of select="DocNo"/>
</DocumentNo>
<CreationDate>
<xsl:value-of select="CreationDate"/>
</CreationDate>
<DateDiff>
<xsl:value-of select="days-from-duration(xs:date(CreationDate) - xs:date('2018-05-24'))"/>
</DateDiff>
</Row>
</xsl:for-each>
</Rowset>
</Rowsets>
</xsl:template>
</xsl:stylesheet>
现在,当我运行这个 XML 和 XSLT here 时,它可以正常工作并给我正确的输出。
但是现在当我将这个 XSLT 和 XML 存储在 SAP MII 中并运行它 XSLT Transformation Action 块时,我得到以下错误:
XSL_Transformation_0 未捕获异常,同时尝试调用从局部变量“处理器”加载的空对象的方法 javax.xml.transform.Transformer.transform(javax.xml.transform.Source, javax.xml.transform.Result) '
我真的不确定发生了什么。有人知道吗?
谢谢
【问题讨论】:
-
SAP MII XSLT 转换操作 支持什么版本的 XSLT?您的样式表仅适用于 XSLT 2.0
标签: xml xslt xslt-1.0 xslt-2.0