Das*_*una 3 sorting xslt variables store date
我想知道是否可以先对一些元素进行排序并将它们(已排序)存储在变量中。我需要引用它们认为 XSLT 这就是为什么我想将它们存储在变量中。
我试图执行以下操作,但似乎不起作用
<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
version="1.0">
<xsl:variable name="deposits">
<xsl:for-each select="/BookingCostings/MultiDeposits">
<xsl:sort select="substring(@DepositDate, 1, 4)" />
<xsl:sort select="substring(@DepositDate, 6, 2)" />
<xsl:sort select="substring(@DepositDate, 9, 2)" />
</xsl:for-each>
</xsl:variable>
Run Code Online (Sandbox Code Playgroud)
我试图@DepositDate按“yyyy-mm-dd”格式对元素进行排序并将它们全部存储在$deposits变量中。这样以后我就可以使用$deposits[1].
我将不胜感激任何帮助和提示!
多谢!
XSLT version 2.0您可以使用并告诉您的变量是使用( ")perform-sort的序列类型MultiDepositsas keywordas="element(MultiDeposits)+使用此示例 xml:
<?xml version="1.0" encoding="ISO-8859-1"?>
<BookingCostings>
<MultiDeposits depositDate="2001-10-09">1</MultiDeposits>
<MultiDeposits depositDate="1999-10-09">2</MultiDeposits>
<MultiDeposits depositDate="2010-08-09">3</MultiDeposits>
<MultiDeposits depositDate="2010-07-09">4</MultiDeposits>
<MultiDeposits depositDate="1998-01-01">5</MultiDeposits>
</BookingCostings>
Run Code Online (Sandbox Code Playgroud)
并使用 XSLT 2.0 版表:
<?xml version="1.0" encoding="ISO-8859-1"?>
<xsl:stylesheet version="2.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:template match="/">
<html>
<body>
<xsl:variable name="deposits" as="element(MultiDeposits)+">
<xsl:perform-sort select="BookingCostings/MultiDeposits">
<xsl:sort select="@depositDate"/>
</xsl:perform-sort>
</xsl:variable>
first date:<xsl:value-of select="$deposits[1]/@depositDate"/>,
last date:<xsl:value-of select="$deposits[last()]/@depositDate"/>
</body>
</html>
</xsl:template>
</xsl:stylesheet>
Run Code Online (Sandbox Code Playgroud)
输出将是:
first date:1998-01-01, last date:2010-08-09
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
9682 次 |
| 最近记录: |