XSLT比较日期

时间:2016-07-21 10:37:46

标签: date xslt compare

目前我正在努力比较日期。更有说服力的是,我有一个具有属性Death的格式为YYYY-MM-DD的人,如果该人死了(死亡< Currentdate)我想写一个拉丁十字架。

我尝试了以下方法:

*ngIf="questionKey.value" to *ngIf="questionKey.valid"

但我只从浏览器收到解析错误。我正在使用没有名称空间的XSL版本1.0,除了xmlns:xsl =“http://www.w3.org/1999/XSL/Transform”当然。

错误在哪里?

2 个答案:

答案 0 :(得分:1)

忽略对于将来的死亡日期意味着什么的特定语义,比较YYYY-MM-DD格式的日期的一般问题可以解决如下:

  • 在XSLT 2.0中,使用xs:date($x) < xs:date($y)

  • 在XSLT 1.0中,使用number(translate($x, '-', '')) < number(translate($x, '-', '')。这是因为在XSLT 1.0中,“&lt;”运算符仅适用于数字,我们可以通过剥离连字符将日期转换为(无意义但可比较的)数字。

答案 1 :(得分:0)

我相信:

<xsl:if test="@Death">

应该足以进行测试。除非活着的人有一个空的Death属性。在这种情况下使用:

<xsl:if test="string(@Death)">