Help us improve your experience.

Let us know what you think.

Do you have time for a two-minute survey?

 
 

XSLT 递归概述

XSLT 依赖于递归作为循环机制。当一段代码直接或间接调用自身时,就会发生递归。命名模板和未命名模板都可以使用递归,不同的模板可以使用相互递归,一个调用另一个模板又调用第一个模板。

为避免无限递归和过度消耗系统资源,Junos OS 管理进程 (mgd) 将最大递归限制为 5000 个级别。如果达到此限制,脚本将失败。

在下面的示例中,未命名的模板与元素匹配<count>。然后,它调用<count-to-max>模板,将元素的值count作为 max.模板首先<count-to-max>声明maxcur参数,并将每个1参数的默认值设置为 (one)。尽管 的max可选默认值为 1,但模板将使用从count模板传入的值。然后在元素中<out>发出当前值cur。最后,如果小于 ,则cur模板递归调用自身,传递cur + 1cur<count-to-max> max然后,此递归传递输出下一个数字并重复递归,直到cur等于max

给定一个max值 ,标记中包含的<out>值为 123547689和 。1010