zoukankan      html  css  js  c++  java
  • Xslt中递归的实现

    <?xml version="1.0" encoding="gb2312"?>
    <xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:fo="http://www.w3.org/1999/XSL/Format">
        
    <xsl:template match="/">
            
    <!--      addFunction(addString,currentNum,theResult)     -->
            
    <xsl:call-template name="addFunction">
                
    <xsl:with-param name="addString" >1</xsl:with-param>
                
    <xsl:with-param name="currentNum">1</xsl:with-param>
                
    <xsl:with-param name="theResult" >1</xsl:with-param>
         
    </xsl:call-template>
         
        
    </xsl:template>

        
    <!-- 
            void addFunction(string addString,int currenNum,int thgeResult) 
            {
                Console.Write(addString + "+" + currenNum.ToString() + " =");
                Console.WriteLine((currenNum+thgeResult).ToString());

                if (currentNum<10)
                {
                    addFunction(addString+"+"+currentNum.ToString(),currenNum+1,thgeResult+currenNum); 
                }
            }
        
    -->
        
    <xsl:template name="addFunction">
            
    <xsl:param name="addString"/>
            
    <xsl:param name="currentNum"/>
            
    <xsl:param name="theResult"/>
            
            
    <xsl:value-of select="concat($addString,'+',$currentNum)"/> = 
            
    <xsl:value-of select="$theResult + $currentNum"/>
            
    <br/>
            
    <xsl:if test="$currentNum &lt;= 10 ">
                
    <xsl:call-template name="addFunction">
                    
    <xsl:with-param name="addString" select="concat($addString,'+',$currentNum)"/>
                    
    <xsl:with-param name="currentNum" select="$currentNum + 1"/>
                    
    <xsl:with-param name="theResult" select="$theResult + $currentNum"/>
                
    </xsl:call-template>
             
    </xsl:if>
        
    </xsl:template>
    </xsl:stylesheet>

  • 相关阅读:
    linux(cat,more,less,head)——对文件显示进行查看操作
    linux(ln)
    Linux(touch)
    Linux(cp)
    Linux(rmdir,rm,mv)
    Linux(mkdir)
    一个对象是否能够引用该类其他实例的私有成员?
    圆角图标
    android.content.ReceiverCallNotAllowedException问题解决
    list view item高度设置
  • 原文地址:https://www.cnblogs.com/goodspeed/p/208965.html
Copyright © 2011-2022 走看看