Dreamweaver TechniqueJAVA Script サンプル | CSS sample | JAVA Applet sample | Flash Sample
HTML4.0 riference | DynamicHTMLXHTML | XML sample | XSLT sample | RIKO's ASP Trial

複数キーでソートする

■ 複数キーでソートする

このサンプルは、複数のソートキーを指定して、XML文書の中のデータをソートさせるものです。最初のxsl:sortの子は、1番目のソートキー、2番目のxsl:sortの子は、2番目のソートキーを指定します。
select属性ではソートキーを指定します。デフォルト値は"."です。これはソートキーとして使われるカレントノードの文字列です。
lang属性では、ソートキーの言語を指定します。XML文書内のxml:langと同じ値で、指定されていない場合、言語はシステム環境に依存します。
data-type属性では、データ型を指定します。値は、textまたはnumberです。textを指定すると、lang属性で指定した言語に従って文字列としてソートされ、numberを指定すると、ソートキーは数値として扱われます。この場合、lang属性は無視されます。ascendingは昇順、descendingは降順で、出尾フォルトではascendingです。

sort4.xml

 

sort4.xsl

<?xml version="1.0" encoding="Shift_JIS"?>
<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0">
<xsl:template match="/">
<html lang="ja">
<head><title>sort4</title></head>
<body>
   <div><xsl:apply-templates select="全体" /></div>
</body>
</html>
</xsl:template>

<xsl:template match="全体">
    <table border="1">
        <tr><th>特価</th><th>平常価格</th></tr>
        <xsl:for-each select="情報">
            <xsl:sort select="特価" lang="ja" data-type="number" order="ascending" />
            <xsl:sort select="平常価格" lang="ja" data-type="number" order="ascending" />
            <tr><td><xsl:value-of select="特価" /></td><td><xsl:value-of select="平常価格" /></td></tr>
        </xsl:for-each>
    </table>
</xsl:template>
</xsl:stylesheet>

<<<戻る

R HOUSE | RIKO's Trial Page | Shirley's Pettit Case | Shirley's i-box | Shirley's little box