listitem内でソートをしたいのですが・・・

「まったく何も分からない・・・」そんなユーザーさんの為のフォーラムです。どんなご質問でもお気軽にどうぞ。
返信
sal
アクティブユーザー
記事: 23
登録日時: 2006年11月20日(月) 11:53

listitem内でソートをしたいのですが・・・

投稿記事 by sal » 2010年2月15日(月) 18:04

こんにちは。
下記のアドレス内に書き込みのあった方法を使用して
リストアイテムのソートをしたいと思ったのですが、
http://cms.al-design.jp/phpbb/viewtopic ... 1%BC%A5%C8

コード: 全て選択

<!--リストをループ処理-->
<xsl:for-each select="listname/listitem">
<!--idでソートする orderで昇順/降順を指定する。デフォルトは昇順「ascending」-->
<xsl:sort select="@id" order="descending" />
.
.
.
.
</xsl:for-each>
上記の方法で、idをソートの対象にして降順にした所、
リストアイテムのIDが00001ではなく1や2のため、
IDが1〜9までは問題なく9から順に表示されるのですが、
IDが10や11では、表示が9が一番上にきてしまい、
10や11は1と2の間にきてしまい、
9、8、7、6、5、4、3、2、11、10、1、と表示されてしまいました。
pdfのリファレンスの6.3.10にある、type="number"を入れて

コード: 全て選択

<xsl:sort select="@id" type="number order="descending" />
としてみたのですがエラーになってしまいました。
何か良い方法はございませんでしょうか?

どうかよろしくお願い致します。

sal
アクティブユーザー
記事: 23
登録日時: 2006年11月20日(月) 11:53

Re: listitem内でソートをしたいのですが・・・

投稿記事 by sal » 2012年1月20日(金) 17:19

かなり今更ですが、自己解決したので、記入しておきます。

×→type="number"
○→data-type="number"

以下の記述で、リストアイテムを降順でソートできました。
<xsl:sort select="@id" data-type="number" order="descending" />

返信