输入:
<Orderdate>130212</Orderdate><!-- date in the form of YYMMDD -->
我们应该考虑以下几点。
<Orderdate>
应检查当前日期(今天日期)。
如果<Orderdate>
小于今日,则将2天添加到当前日期。
以下几点我们应该考虑
今天的例子是130602,也就是星期日。我们必须增加2天然后它将变成130604。
输出:
<Orderdate>130604</Orderdate>
如果今天的日期是130531,在我们的情况下是星期五,我们必须排除星期六和星期日,所以日期将变为130604。
输出:
<Orderdate>130604</Orderdate>
如果今天的日期是130530,那就是周四增加2天就会变成星期六(星期六,星期日),所以日期会变成130603.
输出:
<Orderdate>130603</Orderdate>
如果<Orderdate>
大于当前日期(今天日期)
我们必须得到输出中的相同值。
输入:
<Orderdate>130608</Orderdate>
输出:
<Orderdate>130608</Orderdate><!-- which is greater than today date so direct value in the output -->
答案 0 :(得分:1)
XSLT 1.0没有用于确定当前日期的内置函数。所以这必须作为参数传递给样式表(每<xsl:param />
)。
要将日期添加到特定日期,您可以查看http://blog.dlwelch.com/?p=25
或者,根据您的XSLT处理器,它可能是在XSLT之外执行此完整日期算法的最佳解决方案(例如,Saxon允许调用自定义Java方法)。