1 <?xml version="1.0" encoding="UTF-8"?>
   2 
   3 <xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0">
   4   <xsl:output method="text"/>
   5 
   6   <xsl:template match="/">
   7     <xsl:call-template name="recurse1">
   8       <xsl:with-param name="num">
   9         <xsl:value-of select="0"/>
  10       </xsl:with-param>
  11     </xsl:call-template>
  12     <xsl:text>&#xa;</xsl:text>
  13   </xsl:template>
  14 
  15   <xsl:template name="recurse1">
  16     <xsl:param name="num"/>
  17     <xsl:call-template name="recurse2">
  18       <xsl:with-param name="num" select="0"/>
  19     </xsl:call-template>
  20     <xsl:if test="not($num = 19)">
  21       <xsl:variable name="tmpnumber"><xsl:value-of select="$num + 1"/></xsl:variable>
  22       <xsl:call-template name="recurse1">
  23         <xsl:with-param name="num">
  24           <xsl:value-of select="$tmpnumber"/>
  25         </xsl:with-param>
  26       </xsl:call-template>
  27     </xsl:if>
  28   </xsl:template>
  29 
  30   <xsl:template name="recurse2">
  31     <xsl:param name="num"/>
  32     <xsl:call-template name="recursefinal">
  33       <xsl:with-param name="num" select="0"/>
  34     </xsl:call-template>
  35     <xsl:if test="not($num = 19)">
  36       <xsl:variable name="tmpnumber"><xsl:value-of select="$num + 1"/></xsl:variable>
  37       <xsl:call-template name="recurse2">
  38         <xsl:with-param name="num" select="$tmpnumber"/>
  39       </xsl:call-template>
  40     </xsl:if>
  41   </xsl:template>
  42 
  43   <xsl:template name="recursefinal">
  44     <xsl:param name="num"/>
  45     <xsl:call-template name="dodot"/>
  46     <xsl:call-template name="dodot"/>
  47     <xsl:call-template name="dodot"/>
  48     <xsl:call-template name="dodot"/>
  49     <xsl:call-template name="dodot"/>
  50     <xsl:call-template name="dodot"/>
  51     <xsl:call-template name="dodot"/>
  52     <xsl:call-template name="dodot"/>
  53     <xsl:call-template name="dodot"/>
  54     <xsl:call-template name="dodot"/>
  55     <xsl:call-template name="dodot"/>
  56     <xsl:call-template name="dodot"/>
  57     <xsl:call-template name="dodot"/>
  58     <xsl:call-template name="dodot"/>
  59     <xsl:call-template name="dodot"/>
  60     <xsl:if test="not($num = 10)">
  61       <xsl:variable name="tmpnumber"><xsl:value-of select="$num + 1"/></xsl:variable>
  62       <xsl:call-template name="recursefinal">
  63         <xsl:with-param name="num" select="$tmpnumber"/>
  64       </xsl:call-template>
  65     </xsl:if>
  66   </xsl:template>
  67 
  68   <xsl:template name="dodot">
  69     <xsl:variable name="ElementTexts">
  70       <xsl:for-each select="element">
  71         <xsl:value-of select="text"/>
  72       </xsl:for-each>
  73     </xsl:variable>
  74     <xsl:value-of select="$ElementTexts"/>
  75   </xsl:template>
  76 </xsl:stylesheet>