在xsl里,可以实现与一般编程语言类似的for循环的功能,下面就是实现这一功能的例子:
查看例子
xslloop.xml
<?xml version="1.0" encoding="gb2312"?>
<?xml-stylesheet type="text/xsl" href="http://lucky_elove.www1.do.netplayground.com/exam/xslloop.xsl"?>
<.net_lover>孟子e章<.net_lover>
xslloop.xsl
<?xml version="1.0" encoding="gb2312"?>
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/xsl/transform"
xmlns:copyright="http://lucky_elove.www1.do.netplayground.com/">
<!-- 下面的三个变量可以由xml中取得,做为例子,这里直接定义了初始值 -->
<!-- 定义初始值 -->
<xsl:variable name="varstart" select="0"/>
<!-- 定义结束值 -->
<xsl:variable name="varend" select="35"/>
<!-- 定义循环步长 -->
<xsl:variable name="varstep" select="2"/>
<xsl:template match="/">
<xsl:call-template name="myloopfun">
<xsl:with-param name="varstart" select="$varstart">
</xsl:with-param>
</xsl:call-template>
</xsl:template>
<xsl:template name="myloopfun">
<xsl:param name="varstart"/>
<xsl:if test="$varstart < $varend">
<!-- 输出格式定义 -->
<a target="_blank" href="http://lucky_elove.www1.do.netplayground.com/?{$varstart}">
<xsl:attribute name="title"><xsl:value-of select="$varstart"/></xsl:attribute>
<xsl:value-of select="$varstart"/>
</a>
<xsl:if test="$varstart < ($varend - $varstep)"> , </xsl:if>
<xsl:call-template name="myloopfun">
<xsl:with-param name="varstart">
<xsl:value-of select="$varstart + $varstep"/>
</xsl:with-param>
</xsl:call-template>
</xsl:if>
</xsl:template>
</xsl:stylesheet>
结果如下:
0 , 2 , 4 , 6 , 8 , 10 , 12 , 14 , 16 , 18 , 20 , 22 , 24 , 26 , 28 , 30 , 32 , 34
Java Asp PHP .Net XML C/C++ CGI VB Jsp J2ee J2se J2me EJB Servlet Tomcat Resin Struts Weblogic Eclipse ANT GUI JMS Web servise IDEA Webphere Hibernate Spring Jboss Applet Swing Socket Javamail Perl Ajax P2P 安全 模式 框架 测试 开源 游戏
Windows XP Windows 2000 Windows 2003 Windows Me Windows 9.x Linux UNIX 注册表 操作系统 服务器 应用服务器