home *** CD-ROM | disk | FTP | other *** search
- <?xml version="1.0"?>
- <!--loop.xsl-->
- <!--XSLT 1.0 - http://www.CraneSoftwrights.com/training -->
- <!DOCTYPE xsl:stylesheet [
- <!ENTITY nl "
">
- ]>
-
- <xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0">
- <xsl:output method="text"/>
-
- <xsl:param name="count" select="3"/>
-
- <!--allow override-->
- <xsl:template match="/">
- <xsl:text>Dan: "Say goodnight, Dick."&nl;</xsl:text>
- <xsl:call-template name="countdown">
- <!--begin countdown-->
- <!--convert to number in case supplied as string-->
- <xsl:with-param name="countdown" select="number($count)"/>
- </xsl:call-template>
- </xsl:template>
-
-
- <xsl:template name="countdown">
- <!--recursive loop until done-->
- <xsl:param name="countdown"/>
- <xsl:if test="$countdown">
- <!--count not zero; more work-->
- <xsl:text>Dick: "Goodnight Dick!"&nl;</xsl:text>
- <xsl:call-template name="countdown">
- <!--next; one less-->
- <xsl:with-param name="countdown" select="$countdown - 1"/>
- </xsl:call-template>
- </xsl:if>
- </xsl:template>
- </xsl:stylesheet>
-