test.xml
<?xml version="1.0" encoding="GB2312"?>
<?xml:stylesheet type="text/xsl" href="test.xsl"?>
<root>
<CountNum>10</CountNum>
<value>hi</value>
</root>
test.xsl
<?xml version="1.0" encoding="GB2312" ?>
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:template match="root">
<xsl:call-template name="foreach">
<xsl:with-param name="i" select="1" />
<xsl:with-param name="count" select="CountNum"/>
</xsl:call-template>
</xsl:template>
<xsl:template name="foreach">
<xsl:param name="i"/>
<xsl:param name="count"/>
<xsl:value-of select="$i"/>: <xsl:value-of select="value"/> <br/>
<xsl:if test="$i<$count">
<xsl:call-template name="foreach">
<xsl:with-param name="i" select="$i+1"/>
<xsl:with-param name="count" select="$count"/>
</xsl:call-template>
</xsl:if>
</xsl:template>
</xsl:stylesheet>