0

我可以在函数内部调用 xsl 函数吗?我只想比较以前的值和当前值。例如:

<xsl:value-of select="//row[(position()-1)]/MONTH_ID" />

但是,下面的代码是可以的:

<xsl:value-of select="number(position())-1" />
4

2 回答 2

5

你的问题的答案是肯定的,但我认为你问的问题不正确。您还没有说您要做什么,但是您的代码示例没有做任何有用的事情。

//row[(position()-1)]/MONTH_ID

当在谓词中使用数字 N 时,它表示[position()=N],所以您的谓词表示[position() = position() - 1],这将始终为假。

我认为您忘记了结果position()对上下文敏感,谓词内部的上下文与外部的上下文不同。答案是绑定一个变量:

<xsl:variable name="p" select="position()"/>
<xsl:value-of select="//row[$p - 1]/MONTH_ID"/>
于 2013-07-17T08:19:35.750 回答
1

是的,您可以嵌套 XPath 函数。您可以在下面找到一个示例:

substring(child::randlist/item[position()=1], 1, 10)

函数位置在子字符串函数内部被调用。

您能否更具体地提出比较请求?

于 2013-07-17T07:50:07.587 回答