比较 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>
这不是您问题中的结果 - 但根据上述假设,它是正确的。
我有一个要求,我必须使用 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>
这不是您问题中的结果 - 但根据上述假设,它是正确的。