【XSL】
<?xml version="1.0" encoding="Shift_JIS"?>
<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0">
<xsl:output method="text" encoding="Shift_JIS"/>
<xsl:template match="/test">
<xsl:apply-templates select="param1" />
</xsl:template>
<xsl:template match="param1">
<xsl:call-template name="zero">
<xsl:with-param name="arg1" select="text()"/>
<xsl:with-param name="arg2" select="8"/>
</xsl:call-template>
</xsl:template>
<xsl:template name="zero">
<xsl:param name="arg1" />
<xsl:param name="arg2" />
<xsl:call-template name="addzero">
<xsl:with-param name="arg" select="$arg2 - string-length($arg1)"/>
</xsl:call-template>
<xsl:value-of select="$arg1"/>
</xsl:template>
<xsl:template name="addzero">
<xsl:param name="arg"/>
<xsl:if test="$arg != 0">
<xsl:text>0</xsl:text>
<xsl:call-template name="addzero">
<xsl:with-param name="arg" select="$arg - 1"/>
</xsl:call-template>
</xsl:if>
</xsl:template>
</xsl:stylesheet>