我有一组具有不同属性的元素,如下所示:
<?xml version="1.0" encoding=utf-8"?>
<root>
<elem at="4" iterate="third" />
<foo/>
<elem at="1" iterate="first" />
<bar/>
<elem start="3" end="9" iterate="second" />
</root>
我想遍历elem
标签,所以我指定了for-each
这样的:
<xsl:for-each select="/root/elem">
到目前为止一切顺利,但现在我想根据它们的and字段对这些元素进行排序,而每个元素都保证有or。我在属性中注释了我希望如何迭代标签(只是为了清楚起见)。@at
@start
elem
@at
@start
@iterate
我的方法是这样的
<xsl:sort select="@at or @start" data-type="number" order="ascending" />
但这似乎并没有按预期工作,因为具有@at
属性的元素似乎优先于具有@start
属性的元素。
那么,我怎样才能告诉 XSLT (1.0) 不要区分设置的属性的名称,而只是根据其各自的值进行排序呢?