XSLT中如何进行算术运算?

Aon 2003-10-16 09:10:06
我有一个页面,想进行翻页,需要将 PageNumber 加一或减一,在XSLT中有加、减、乘、除吗?

我的代码如下:

<xsl:choose>
<xsl:when test="response/otherinfo[pagenumber $lt$ pagecount]">
<a>
<xsl:attribute name="href">
userinfo.asp?id=<xsl:value-of select="id"/> &pagenumber=<xsl:value-of select="response/otherinfo[pagenumber+1]"/>
</xsl:attribute>
下一页
</a>
</xsl:when>
<xsl:otherwise>
<a href="#">
<span style="font-size:11px;color:#FF3333">下一页</span>
</a>
</xsl:otherwise>
</xsl:choose>

这样写不行,错误为“预期] ,遇到+”

后来我用脚本完成了,但很想知道,有没有算术运算符可以执行这样简单的运算?

我在XMLSDK3.0的XSL文档中发现有加、减、乘、除的运算符,但没有例子,我不知道具体应该如何写。
...全文
386 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
ssm1226 2003-10-17
  • 打赏
  • 举报
回复
<xsl:eval>是草案中执行脚本的

草案IE5以上都支持


标准中:

<?xml version="1.0" encoding="UTF-8"?>
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:key name="title-search" match="book" use="@author"/>
<xsl:template match="/">

<xsl:variable name="num" >10</xsl:variable>
<xsl:value-of select="number($num) + 1"/>
</xsl:template>

</xsl:stylesheet>
Aon 2003-10-16
  • 打赏
  • 举报
回复
我刚才用你的方法测试了一下,一样出现了错误,错误为

预期的句柄"]",找到“+”。

因为我要求IE5也能使用,所以我使用了http://www.w3.org/TR/WD-xsl,不知道是不是因为这个原因造成的。
那篇文章我看过,方法和你写的差不多,直接进行运算,我尝试过,没成功,也是一样的错误。

我刚才找到了一个新的方法:
pagenumber=<xsl:eval >parseInt(this.documentElement.selectSingleNode("otherinfo/pagenumber").text)-1;</xsl:eval>

这个办法可以在IE5和IE6中通过,但我对 xsl:eval元素不太理解,MSXMLSDK中没有它的介绍,不知道以后会不会无法使用,请问哪位有更好的办法吗?
saucer 2003-10-16
  • 打赏
  • 举报
回复
try
[number(pagenumber) + 1]


also see
Math and XSLT
http://www.xml.com/pub/a/2001/05/07/xsltmath.html

8,906

社区成员

发帖
与我相关
我的任务
社区描述
XML/XSL相关问题讨论专区
社区管理员
  • XML/XSL社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧