У меня есть XML, как это,XSLT - Группировка динамических узлов в пределах применить-шаблон
<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>
в моем сценарии атрибут типа переменный, мне нужно сгруппировать выше XML в упорядоченно, проверяя атрибут типа, значение атра типа появляется в верхней части должен иметь приоритет, поэтому выход должен быть
<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>
, так как значение атрибута типа является переменным (я не знаю точное значение типа), я написал шаблон, как следует,
<xsl:template match="doc">
<doc>
<xsl:apply-templates select="aa[@type='{@type}']"/>
</doc>
</xsl:template>
с помощью group-by
было бы легче implememt способ сделать задачу, но я могу сделать это только с помощью apply-template
'XSL: sort' работает на' XSL: применить-templates', так что вы можете упростить его ' xsl: apply-templates> ' –
Довольно круто, не знал, что – fafl
@TimC работает отлично. Действительно полезно. – sanjay