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>

  • 相关阅读:
    移动端获取屏幕的宽度,根据屏幕大小动态设置html的rem字体大小
    解析CSS3伪类选择器nth-of-type和nth-child的用法,以及两者的区别
    移动端的1px的解决方案
    Vue中import from的来源:省略后缀与加载文件夹
    flex布局
    前端开发人员快速创建本地服务器
    centos6.5Xen4.2安装
    centos6.5kvm虚拟化安装部署
    CentOS搭建svn服务器支持https访问
    CentOS6.5搭建LNMP
  • 原文地址:https://www.cnblogs.com/goodspeed/p/208965.html
Copyright © 2011-2022 走看看