2017-11-02 6 views
0

要素数を属性数で並べ替えることのできる方法はありますか?私は主にパフォーマンスを心配しています。属性数でDOM XML要素を並べ替える方法は?

私は最高から最低の属性数で要素を注文したいと思います。

この場合、XML文書

<!-- 1 --> 
<element attr1="" attr2=""> 
    <param name="" value=""/> 
    <param name="" value=""/> 
    <param name="" value=""/> 
    <param name="" value=""/> 
</element> 

<!-- 2 --> 
<element attr1="" attr2="" attr3""> 
    <param name="" value=""/> 
    <param name="" value=""/> 
    <param name="" value=""/> 
    <param name="" value=""/> 
</element> 

<!-- 3 --> 
<element attr1=""> 
    <param name="" value=""/> 
    <param name="" value=""/> 
    <param name="" value=""/> 
    <param name="" value=""/> 
</element> 

正しい順序は、仕事に最適なツールは、XSLTは2、1、3

答えて

2

ほとんどのXML変換と同様であるだろう。以下はXSLT 2.0ですが、1.0とほぼ同じです。

<xsl:template match="/*"> 
    <xsl:perform-sort select="element"> 
    <xsl:sort select="count(@*)" order="descending"/> 
    </xsl:perform-sort> 
</xsl:template> 
関連する問題