タイトル
TOP → This Page

XML > XSLT > ソート

ソート


ソート処理をさせる場合は xsl:sort を使う。
xsl:sortxsl:for-each または xsl:apply-templates
子要素として記述可能。
ただし、xsl:for-each の子要素として記述する場合はテンプレートより前に記述する。

(書式)
<xsl:sort select="ノード文字列"
          lang="言語"
          datatype={"text" | "number" | "修飾名" }
          order={"ascending" | "descending"}
          case-order={"upper-first" | "lower-first"}
/>

属性概要
selectソートキーとなるノード文字列
省略時は処理ノードとなる
langソートキーの言語
datatype 文字列のデータ型
属性値概要
textテキスト
number数値
修飾名修飾名
order ソート順
属性値概要
ascending昇順(デフォルト)
descending降順
case-order 大文字・小文字のどちらを優先するか
datatype="text" の場合のみ有効
属性値概要
upper-first大文字優先
lower-first子文字優先


(例)
XML 文章が
<社員><社員番号>1001</社員番号><氏名>山田太郎</氏名></社員>
<社員><社員番号>1002</社員番号><氏名>鈴木花子</氏名></社員>
<社員><社員番号>1003</社員番号><氏名>田中次郎</氏名></社員>

XSLT が
<xsl:for-each select="社員">
<xsl:sort select="社員番号" order="descending"/>
	<xsl:value-of select="氏名"/>
</xsl:for-each>
の場合、

出力結果は

田中次郎
鈴木花子
山田太郎

となる


TOP → This Page