<xsl:sort>によるソートの練習2(<xsl:apply-templates>で使う)
1つ前のソートのサンプルは<xsl:for-each>で行ったが、このサンプルでは
<xsl:apply-templates>でソートしている。<xsl:sort>を<xsl:apply-templates>の
子要素として指定していることに注目。
【sample026.xml】
<?xml version="1.0" encoding="Shift_JIS" ?>
<?xml-stylesheet href="sample026.xsl" type="text/xsl" ?>
<名簿>
<会員>
<名前>山田太郎</名前>
<年齢>58</年齢>
<性別>男</性別>
</会員>
<会員>
<名前>鈴木一郎</名前>
<年齢>30</年齢>
<性別>男</性別>
</会員>
<会員>
<名前>田中花子</名前>
<年齢>28</年齢>
<性別>女</性別>
</会員>
<会員>
<名前>吉田啓介</名前>
<年齢>60</年齢>
<性別>男</性別>
</会員>
<会員>
<名前>三好恵子</名前>
<年齢>31</年齢>
<性別>女</性別>
</会員>
<会員>
<名前>仲川忍</名前>
<年齢>29</年齢>
<性別>男</性別>
</会員>
名簿>
【sample026.xsl】
<?xml version="1.0" encoding="Shift_JIS" ?>
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:output method="html" encoding="Shift_JIS" />
<xsl:template match="名簿">
<html>
<head><title>ソートの練習2</title></head>
<body>
<h2>ソートの練習2</h2>
<xsl:apply-templates select="会員">
<xsl:sort select="年齢" data-type="number" order="ascending"/>
</xsl:apply-templates>
</body>
</html>
</xsl:template>
<xsl:template match="会員">
<p>
<xsl:value-of select="名前" />
[<xsl:value-of select="年齢" />]
<xsl:value-of select="性別" />
</p>
</xsl:template>
</xsl:stylesheet>
【結果】