急问题:请教XSLT给变量赋值的问题

reanna 2006-09-18 03:52:53
声明变量,初始为1
<xsl:variable name="i" select="'1'"/>

把这个变量给节点赋值
<S_ID>
<xsl:value-of select="$i"/>
</S_ID>

想在赋值后给变量+1,做成自增长的效果,请问xslt的高手,应该怎么做?万分感谢!!!
...全文
593 13 打赏 收藏 转发到动态 举报
写回复
用AI写文章
13 条回复
切换为时间正序
请发表友善的回复…
发表回复
julia_pl 2006-09-27
  • 打赏
  • 举报
回复
取节点的位置即可

<aaa>
<xsl:value-of select="position()" />
</aaa>
reanna 2006-09-27
  • 打赏
  • 举报
回复
程序片断,可以这么写
<aaa>
<xsl:value-of select="position()" />
</a>
reanna 2006-09-27
  • 打赏
  • 举报
回复
只要不是重复的就行
skyhaha 2006-09-20
  • 打赏
  • 举报
回复
可以模版递归来实现
min_1982 2006-09-20
  • 打赏
  • 举报
回复
up
椅子 2006-09-20
  • 打赏
  • 举报
回复
to 楼主

你的意思是要给xml的结点建立索引。

如果需求很简单,可考虑上面所说的position
如果需求比较复杂,确实要建立比较复杂的索引,得需要一个建立索引的复杂程序,之所以说复杂,因为有多个算法可选。可再讨论
cloudgamer 2006-09-20
  • 打赏
  • 举报
回复
帮顶
是是非非 2006-09-20
  • 打赏
  • 举报
回复
<?xml version="1.0" encoding="GB2312" ?>
<!DOCTYPE xsl:stylesheet [
<!ENTITY nbsp " ">
<!ENTITY copy "©">
<!ENTITY reg "®">
<!ENTITY trade "™">
<!ENTITY mdash "—">
<!ENTITY ldquo "“">
<!ENTITY rdquo "”">
<!ENTITY pound "£">
<!ENTITY yen "¥">
<!ENTITY euro "€">
]>
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:template match="/">
<xsl:call-template name="fun">
<xsl:with-param name="par" select="1" />
</xsl:call-template>
</xsl:template>

<xsl:template name="fun">
<xsl:param name="par" />
<xsl:value-of select="$par" /><br />
<xsl:if test="$par < 100">
<xsl:call-template name="fun">
<xsl:with-param name="par" select="$par+1" />
</xsl:call-template>
</xsl:if>
</xsl:template>


</xsl:stylesheet>
是是非非 2006-09-20
  • 打赏
  • 举报
回复
只能用带参数的模板了
cds27 2006-09-20
  • 打赏
  • 举报
回复
参考一下这篇:http://blog.csdn.net/cds27/archive/2005/10/23/514066.aspx
crazycyber 2006-09-18
  • 打赏
  • 举报
回复
同意楼上的
楼主,其实xslt是没有“变量”的,他的变量只相当于程序里的const变量
manyroads 2006-09-18
  • 打赏
  • 举报
回复
可以考虑使用position()函数,从1开始
reanna 2006-09-18
  • 打赏
  • 举报
回复
请高手帮忙,万分感谢!

8,906

社区成员

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

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