我想知道是否可以先排序某些元素并将它们(已排序)存储在变量中。我需要引用他们认为的XSLT,这就是为什么我想将它们存储在一个变量中。如何对元素进行排序并将它们存储在变量中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>
我试图通过@DepositDate
格式的元素进行排序“YYYY-MM-DD”,并将其储存所有在$deposits
变量中。这样以后,我可以使用$deposits[1]
访问它们。
我将不胜感激任何帮助和提示!
非常感谢!
你的问题表明你可能是试图解决一个问题一个更大规模走错了路。 *为什么*你想将一个已排序的节点集存储在一个变量中?你究竟想要做什么? (“我想将它们作为'$ deposits [1]'”访问它们并不是我正在寻找的答案。) – Tomalak 2010-02-16 12:12:18
Tomalak,不幸的是,我正在处理严重结构化的XML。有一些必须按顺序排列的配置文件,也需要在结果文件的不同部分。没有确定存款顺序的属性,我决定不依靠这个位置。这就是为什么我决定对它们进行分类和存储的原因,这样我就可以在需要的时候轻松地将所有这些特定分支引用。 希望有道理? – DashaLuna 2010-02-17 09:04:40
是的。有时候就是这样。思考一个中介转型,合理地重构错误投入,然后建立你的最终转变?从长远来看,这可能是值得的。 – Tomalak 2010-02-17 17:45:13