Help us improve your experience.

Let us know what you think.

Do you have time for a two-minute survey?

 
 

Descripción general de la recursión de XSLT

La XSLT depende de la recursión como mecanismo de bucle. La recursión se produce cuando una sección del código se llama a sí misma, directa o indirectamente. Tanto las plantillas con nombre como las no identificadas pueden usar recursión, y diferentes plantillas pueden usar la recursión mutua, una llama a otra que, a su vez, llama a la primera.

Para evitar la recursión infinita y el consumo excesivo de recursos del sistema, el proceso de administración de Junos OS (mgd) limita la recursión máxima a 5000 niveles. Si se alcanza este límite, se produce un error en la secuencia de comandos.

En el ejemplo siguiente, una plantilla sin nombre coincide en un <count> elemento. A continuación, llama a la <count-to-max> plantilla, pasando el valor del count elemento como max. La <count-to-max> plantilla comienza declarando los max parámetros y cur estableciendo el valor predeterminado de cada uno en 1 (uno). Aunque el valor max predeterminado opcional es uno, la plantilla utilizará el valor pasado de la count plantilla. Luego, el valor actual de cur se emite en un <out> elemento. Por último, si cur es menor que max, la <count-to-max> plantilla se invoca recursivamente, pasando cur + 1 como cur. Esta pasada recursiva, a continuación, produce el siguiente número y repite la recursión hasta cur que sea maxigual.

Dado un max valor de 10, los valores contenidos en la <out> etiqueta son 1, 2, 3, 45, 6, 7, 8, 9, y 10.