比较 XSLT 中的朱利安日期

Compare julian date in XSLT

我有一个要求,我必须使用 XSLT 从日期列表中找出 julian 中的最新日期时间。

如果我通过以下 XML

输入:

<Orders>
<Order>
<OrderNumber>100</OrderNumber>
<Date>116256</Date>
</Order>
<Order>
<OrderNumber>101</OrderNumber>
<Date>116256</Date>
</Order>
<Order>
<OrderNumber>102</OrderNumber>
<Date>116276</Date>
</Order>
</Orders>

输出:

<Result>
<Date>116256</Date>
</Result>

请帮助我处理 XSLT。

谢谢 牙坛

假设您的 "dates" 是数字,并且这些数字随着时间的推移而增加,您只需按日期对订单进行降序排序,并获得第一个订单的日期:

XSLT 1.0

<xsl:stylesheet version="1.0" 
xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:output method="xml" version="1.0" encoding="UTF-8" indent="yes"/>

<xsl:template match="/Orders">
    <Result>
        <xsl:for-each select="Order">
            <xsl:sort select="Date" data-type="number" order="descending"/>
            <xsl:if test="position()=1">
                <xsl:copy-of select="Date"/>
            </xsl:if>
        </xsl:for-each>
    </Result>
</xsl:template>

</xsl:stylesheet>

应用于您的示例输入,结果将是:

<?xml version="1.0" encoding="UTF-8"?>
<Result>
   <Date>116276</Date>
</Result>

这不是您问题中的结果 - 但根据上述假设,它是正确的。