2017-11-02 15 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>