А почему бы не использовать язык расширения? Например, в php функция была бы намного проще, а вызов производился бы так:
<xsl:value-of select="php:function('someFunctionDateToUTC',$mskDate)"></xsl:value-of>
Все-таки XSLT не предназначен для вычислений, поэтому получился такой громозкий шаблон…
Да, изначально и было так сделано, использовалась Java вставка, но это и рессурсоемко(когда требуется обработать тысячи документов становится заметно), и как оказалось разные xsl парсеры по-разному интерпретировали такую вставку. А шаблон получился хоть и громоздким, но не особо сложным, и позволяет обойтись самим xsl.
Мсье знает толк в извращениях :)
У меня вопрос: насколько менее ресурсоемко использовать подобный шаблон, нежели использовать язык расширения? Проводили хотя бы какое-нибудь тестирование?
Преобразование даты в международный формат(UTC). Шаблон для версий XSLT от 1.0