質問: tableを3段組みにしてsortをかけたい 下記のxsltによってtableを3段組にしています。 test こんな感じの出力です。 あかぎ さとみ ゆめお かさお らの でお 省略 xmlは下記です。 あかぎ さとみ ゆめお かさお らの でお くる もも しょう さめお たさお うらの こでお さくる れもも きょう この3段組みをしたまま、 nameを名前順にソートしたいのですが、 うまくいきません。 あかぎ、かさお、くる、といった左の列内だけで、 ソートされてしまい、次にそれぞれの後続の兄弟ノードが、 真ん中の列にでてしまいます。 ちゃんと、xmlデータ順(あかぎ、さとみ、ゆめお、かさお・・・)に3段組みを表現したいのですが、 無理なのでしょうか。 どなたかご協力お願いします。
回答: 頑張って考えたけど、ギブアップです。ごめんなさい。 http://www.atmarkit.co.jp/bbs/phpbb/viewtopic.php?topic=17942&forum=9&4 >itemでposition()を表示した場合は、ソート順の位置を持っているようですが、x,yからancestor::data/itemで指定するposition()は元の文書上の位置のようです。 こんなの知るかあ・・・orz http://www.mothprog.com/prog/xslt2/xslt3.html >このように、段階を踏む処理をするには、 xsltスタイルシートで結果として構成されたツリーに対して、さらに処理を与える必要があります。ところが、これまでは一つのxsltスタイルシートで多段階の処理をすることはできませんでした;xsltの処理結果(result tree fragment)が代入不能だったからです。 うーん。やっぱりfor-eachの後の結果は利用できないorz