<?xml version='1.0'?> <xsl:stylesheet xmlns:xsl = "http://www.w3.org/1999/XSL/Transform" xmlns:xslt="output.xsl" version = "1.1" > Define the namespace for the output XSLT document <xsl:namespace-alias stylesheet-prefix="xslt" result-prefix="xsl" /> <xsl:template match="/" > <xslt:stylesheet version="1.0"> <xslt:variable name="fullstop" select="'.'"/> ....... <xslt:variable name="digit" select="'d'"/> <xslt:template match="@*|*|text()" > ........</xslt:template> <xslt:template match="decode"> <output> <xslt:copy-of select="@*"/> <xslt:call-template name="one"> <xslt:with-param name="str" select="@d"/> <xslt:with-param name="max" select="@num"/> <xslt:with-param name="pos" select="1"/> <xslt:with-param name="sofar" select="''"/> </xslt:call-template> </output> </xslt:template> <xsl:for-each select="fs/state"> <xslt:template> <xsl:attribute name="name"><xsl:value-of select="name"/></xsl:attribute> ....... </xslt:template> </xsl:for-each> <xslt:template name="exit">......... </xslt:template> </xslt:stylesheet></xsl:template></xsl:stylesheet>