если у вас есть контроль над xml-генерацией:
Ввод:
<date1> 2010-10-17+02:00 </date1>
Преобразование:
<date1 number="{translate(substring-before(date1,'+'),'-','')}"
<xsl:value-of select="date1"/>
</date1>`
Выход:
<date1 number="20101017">2010-10-17+02:00</date1>
чем вы можете использовать как обычно
<xsl:sort order="descending" select="@number" data-type="number"/>
Greetz