我想显示每天的总溢出量。我尝试了下面的代码.functx:next-day函数用于设置日期文件。
InputStartDate="04-12-2017"NoDays =6
Price=15540
但我想显示如下所示的结果。是否有其他函数请求设置日期字段值。
Current output:
<Night>
<Price Amount="2590" NightDate="2017-12-05" />
<Price Amount="2590" NightDate="2017-12-06" />
<Price Amount="2590" NightDate="2017-12-07" />
<Price Amount="2590" NightDate="2017-12-08" />
<Price Amount="2590" NightDate="2017-12-09" />
<Price Amount="2590" NightDate="2017-12-10" />
</Night>
Expected Output:
<Night>
<Price Amount="2590" NightDate="2017-12-04" />
<Price Amount="2590" NightDate="2017-12-05" />
<Price Amount="2590" NightDate="2017-12-06" />
<Price Amount="2590" NightDate="2017-12-07" />
<Price Amount="2590" NightDate="2017-12-08" />
<Price Amount="2590" NightDate="2017-12-09" />
</Night>
Currently used Logic:
<Night>
<xsl:for-each select="1 to $NoDays">
<Price>
<xsl:attribute name="Amount">
<xsl:value-of select="$Price div $NoDays"/>
</xsl:attribute>
<xsl:attribute name="NightDate">
<xsl:value-of select="functx:next-
day(xs:date($StartDate),position())"/>
</xsl:attribute>
</Price>
</xsl:for-each>
发布于 2017-10-21 10:47:20
我觉得你只是想
<xsl:variable name="NoDays" select="6"/>
<xsl:variable name="Price" select="15540"/>
<xsl:variable name="StartDate">04-12-2017</xsl:variable>
<xsl:variable name="date" as="xs:date"
select="xs:date(replace($StartDate,
'([0-9]{2})-([0-9]{2})-([0-9]{4})',
'$3-$2-$1'))"/>
<xsl:for-each select="0 to $NoDays - 1">
<Price Amount="{$Price div $NoDays}"
NightDate="{$date + xs:dayTimeDuration('P1D') * .}"/>
</xsl:for-each>它利用的是,您可以使用整数乘以持续时间并将其添加到日期。
https://stackoverflow.com/questions/46862266
复制相似问题