通过这一行,我可以打印出大于1999的值
<xsl:for-each select="//ad[regyear >= 1999]" >
但我似乎无法找出如何从1998年开始打印出来的价值。
答案 0 :(得分:2)
更大或等于1999
:
//ad[regyear >= 1999]
小于或等于1998
:
//ad[regyear <= 1998]
答案 1 :(得分:2)
@Kirill给出了主要答案,但在XSLT 2.0中,您还可以使用lt
或le
:
//ad[regyear lt 1999]
可能更具可读性。在某些情况下,像<
这样的存在主义比较运算符可能会产生意想不到的毛茸茸影响,而lt
会避免这些影响。
答案 2 :(得分:1)
为了便于阅读,我建议不使用<
。
而不是:
//ad[regyear <= 1998]
我使用:
//ad[not(regyear > 1998)]
永远不要逃避XPath表达式中的>
字符 - 我不知道有必要这样做。
最后,正如Lars正确提到的那样,在XPath 2.0(XSLT 2.0)中使用lt
,gt
,le
,ge
和ne
值比较运算符,不使用常规比较运算符进行两个值之间的比较。