WWW INFOMATION
XML top>>XSLT>>sort

sort

 sort要素は、ソートを行う場合に使用します。
< xsl:sort select = "式" order = "ascending|descending" >

 式で指定したノード順にソートします。order属性にdescendingを指定した場合は、降順でソートを、ascendingを指定した場合、もしくは、order属性を省略した場合は、昇順でソートを行います。

 sort要素は、apply-templates要素、もしくは、for-each要素と共に使用します。
apply-templates要素で使用した場合、テンプレート実行時にソートされたデータが使用されます。for-each要素は、実行の最初でsort要素を記述することにより、繰り返しの順番がソートされたデータの順となります。

・apply-templates要素で使用

<xsl:apply-templates select="xxx">
  <xsl:sort select="xxx"/>
</xsl:apply-templates>

・for-each要素で使用

<xsl:for-each select="xxx">
   <xsl:sort select="yyyy/@aaa"/>

</xsl:for-each>

例の表示
・XSLT例

<?xml version="1.0" ?>

<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/transform">

<xsl:template match="/">

<html>
 <head><title></title></head>
<body>

<b>会員番号を降順で表示</B><br/><hr/>

<xsl:for-each select="members/member">
   <xsl:sort select="name/@num" order="descending" />

    <xsl:value-of select="./name/@num" />:
    <xsl:value-of select="./name" />様<br/>

</xsl:for-each>

</body>
</html>

</xsl:template>

</xsl:stylesheet>

戻る