Попробуйте при использовании XSL двигатель от Microsoft:
<xsl:template match="Time">
<xsl:copy>
<xsl:value-of select="format-number(text(),'00:00')"/>
</xsl:copy>
</xsl:template>
Или это для других XSL двигателей, включая MS (рекомендуется):
<xsl:template name="FormatTime">
<xsl:param name="numericTime" select="0" />
<xsl:variable name="fourDigitString" select="format-number($numericTime,'0000')"/>
<xsl:value-of select="concat(substring($fourDigitString,1,2),':',substring($fourDigitString,3,2))"/>
</xsl:template>
Полный пример:
XSLT
<?xml version="1.0" encoding="utf-8"?>
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
xmlns:msxsl="urn:schemas-microsoft-com:xslt" exclude-result-prefixes="msxsl"
>
<xsl:output method="xml" indent="yes"/>
<xsl:template match="@* | node()">
<xsl:copy>
<xsl:apply-templates select="@* | node()"/>
</xsl:copy>
</xsl:template>
<xsl:template match="Time">
<xsl:text> </xsl:text>
<xsl:element name="Universal">
<xsl:copy>
<xsl:call-template name="FormatTime">
<xsl:with-param name="numericTime" select="text()" />
</xsl:call-template>
</xsl:copy>
</xsl:element>
<xsl:text> </xsl:text>
<xsl:element name="MicrosoftAndMaybeOthers">
<xsl:copy>
<xsl:value-of select="format-number(text(),'00:00')"/>
</xsl:copy>
</xsl:element>
<xsl:text> </xsl:text>
</xsl:template>
<xsl:template name="FormatTime">
<xsl:param name="numericTime" select="0" />
<xsl:variable name="fourDigitString" select="format-number($numericTime,'0000')"/>
<xsl:value-of select="concat(substring($fourDigitString,1,2),':',substring($fourDigitString,3,2))"/>
</xsl:template>
</xsl:stylesheet>
XML
<?xml version="1.0" encoding="utf-8" ?>
<Root>
<Time>810</Time>
<Time>1538</Time>
</Root>
Более подробную информацию о функции: http://www.w3schools.com/xsl/func_formatnumber.asp
'8: 10' не HH: мм. –