• 締切済み

XMLデータを文字列分割&処理するXSLT

変なタイトルになりましたが、 XMLデータとして、 <Data1>10/200/3000/40000</Data1> <Data2>太陽/月/星/雲</Data2> があったとして、これをそれぞれ分割して、 <p>10:太陽 / 200:月 / 3000:星 / 40000:雲</p> のようにする XSLT の書き方はどうなるでしょうか? ちなみに、この例では4つずつですが、1つだけの時もあれば7個の時もあったりします。<Data1>と<Data2>の個数は必ず一致しています。それぞれの単語の長さ(桁数)も不定です。 どうぞよろしくお願いします。

みんなの回答

  • bobviv
  • ベストアンサー率50% (13/26)
回答No.2

 どういう理由があったのか知りませんが、このデータの格納の仕方じゃ、いったい何のためにxmlで出力しているのか分からない。。。  どうしてもxslt1.0でやりたいなら、拡張関数を定義してお使いになるのがよろしいかと(下記URL参照)。  あと、xslt2.0になるとより簡単にできるようになるようです。  「一旦変数に取り込んで処理をしてからXSLを適用する」と仰るのが正確にはどういうことなのか測りかねますが、解決済みなら以上参考まで。

参考URL:
http://www.atmarkit.co.jp/fxml/tanpatsu/10xslt/xslt07.html
  • BLUEPIXY
  • ベストアンサー率50% (3003/5914)
回答No.1

XSLTではできないのではないかと思います。 データの構造を見直した方がいいかと思います。

bomdia4000
質問者

お礼

やはりそうですよね。 データ構造をいじる権利は私にはないし、話しても無理そうなので 結局は一旦変数に取り込んで処理をしてからXSLを適用することにしました。 ありがとうございました。

関連するQ&A