我有一个像这样的xml,
<doc>
<aa type="xx">aaaa</aa>
<aa type="xx">bbbb</aa>
<aa type="yy">ccccc</aa>
<aa type="zz">dddd</aa>
<aa type="yy">eeee</aa>
<aa type="xx">ffff</aa>
<aa type="yy">gggg</aa>
</doc>
在我的场景中,type属性是一个变量,我需要通过检查type属性有序地对上面的xml进行分组,类型attr值出现在top应该优先,所以输出应该是
<doc>
<aa type="xx">aaaa</aa>
<aa type="xx">bbbb</aa>
<aa type="xx">ffff</aa>
<aa type="yy">ccccc</aa>
<aa type="yy">eeee</aa>
<aa type="yy">gggg</aa>
<aa type="zz">dddd</aa>
</doc>
因为type属性值是一个变量(我不知道确切的类型值),我写了一个如下的模板,
<xsl:template match="doc">
<doc>
<xsl:apply-templates select="aa[@type='{@type}']"/>
</doc>
</xsl:template>
使用group-by
实现任务的方法会更容易,但我是否只能使用apply-template
答案 0 :(得分:1)
我了解您希望以有序的方式在所有WordUtils.capitalizeFully
节点上应用模板。您可以使用for-each执行此操作,这允许排序:
<aa>