続:あまぞ(さ)んのベストセラー一覧を取ってくるXSLTXML

| コメント(0) | トラックバック(0)

再帰しないための解決策を思いついて、やってみたらうまくできたので。
XSLT標準の手法だけで、ループを実現させちゃう技だ。
#昔やった覚えがあるけど、忘れてた・・・

通常、XSLT内で、変数としてXMLデータを定義しても、ノードセットとしてみなされない場合、XMLデータとしては使えない。
ノードセット化するのは、msxsl:node-setでキャストしてやればいいんだけど、msxslを解釈するやつ=MSXMLでしか処理できない恐れがある。

でも、XSLTXMLの場合、自身(XML)を自身(XSLT)で処理するのだから、自身(XSLT)に書かれたXMLデータには直接(XML)アクセスできるはずだ。

っちゅうわけでできたのはこちら。
#ちょっと乱暴だけど。

再帰もいいけど、ループもね。
再帰するとスタック消費するんだよね。
回数不明な再帰はスタックオーバーフローを引き起こす恐れが恐怖。

(追記)
乱暴さを緩和するには、//path を //xsl:variable[@name='data']/path に変えるとよい。
#変数名を指定できるため、複数の変数を扱えるようになる。

トラックバック(0)

トラックバックURL: http://blog.fne.jp/mt/mt-tb.cgi/327

コメントしちゃいなよ

    

サイトカウンタ

Total: 209,361 Hits, (Recent24Hours: 22 Hits)
~ Since 2010/01 ~

埋め込みツイッター

取得失敗;;
Now: 2018/04/22 11:30:47 JST

このブログ記事について

このページは、ふぅみんが2010年10月16日 04:14に書いたブログ記事です。

ひとつ前のブログ記事は「あまぞ(さ)んのベストセラー一覧を取ってくるXSLTXML」です。

次のブログ記事は「登録中」です。

最近のコンテンツはインデックスページで見られます。過去に書かれたものはアーカイブのページで見られます。

2018年3月

 日   月   火   水   木   金   土 
        1 2 3
4 5 6 7 8 9 10
11 12 13 14 15 16 17
18 19 20 21 22 23 24
25 26 27 28 29 30 31

埋め込みQRコード