我想对xml的xslt中的所有日期进行排序

我想对xml的xslt中的所有日期进行排序,xml,xslt,Xml,Xslt,这是转换下面提供的xml文档的XSLT代码。请纠正我哪里的代码错了 <?xml version="1.0" encoding="UTF-8"?> <xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform"> <xsl:template match="segment/Dates"> <xsl:for-each select="date"

这是转换下面提供的xml文档的XSLT代码。请纠正我哪里的代码错了

<?xml version="1.0" encoding="UTF-8"?>
<xsl:stylesheet version="1.0" 
xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
    <xsl:template match="segment/Dates">
       <xsl:for-each select="date">
           <xsl:sort select="." data-type="text" order="ascending"/>
               <xsl:if test="position() = 1">
                    <xsl:value-of select="." />
               </xsl:if>
       </xsl:for-each>
    </xsl:template>


2019-12-01 
2019-09-09 
2019-12-10 
2019-11-05 
2019-04-05 
2018-05-04 
2018-07-06 
2018-09-06 

“这是下面的xml文件”

请将预期输出添加到您的问题中。YYYY-MM-DD 2018-05-04 2018-07-06 2018-09-06 2019-04-05 2019-09-09 2019-11-05 2019-12-01 2019-12-10我想按降序排序请将预期输出(作为代码)添加到您的问题中。删除
=1将使表达式处于
位置()
。它的计算结果总是
TRUE
,因为计数从1开始,因此
xsl:if
是多余的。
<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/xsl" href="date.xslt"?>
<segment>
    <Dates>
        <date> 2019-12-01 </date>
        <date> 2019-09-09 </date>
        <date> 2019-12-10 </date>
        <date> 2019-11-05 </date>
        <date> 2019-04-05 </date>
        <date> 2018-05-04 </date>
        <date> 2018-07-06 </date>
        <date> 2018-09-06 </date>
    </Dates>
</segment>