ホーム   »  スポンサー広告  »     »  XML/XSL  »  XSLT逐次処理

上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。

XSLT逐次処理

XSL を使って XML を処理するケースについて。

XML をストリームで生成する場合、XSLT が逐次処理を行ってくれると省コストで高パフォーマンスが得られて重宝するだろう。つまり XSLT が  FilterWriter がごとく機能し、そこに XML を出力して行けば下層ストリームに変換結果が出力されるという設計だ。

だがコアライブラリの javax.xml.transform ライブラリはそうなっていない。DOM または入力ストリームのみを Source として受け付けており、これは最初に完成された XML ありき、という事を意味している。

果たして逐次処理は出来ないのか? という事で XML 生成処理を別スレッド化し、ストリームを PipedReader/PipedWriter で繋げて XSLT を実行してみたところ、やはり XML の生成が完了するまで XSLT の出力は開始しないようだ。

そもそも逐次処理は可能なのだろうか? あれこれ考えてみた。XSL の XPath には特定の位置の要素を指したり、count() などで要素数を得るような処理が記述できる。そういった処理が含まれる以上、結局どこかで完成した DOM が必要ということになり、変換処理を逐次で行うのは現実的でないという事なのだろう。

やはりデータ量が多くなればなるほど XML は不利っぷりはひどいな。残念無念。

コメント
トラックバック
トラックバック URL
コメントの投稿
管理者にだけ表示を許可する
Profile
Takami Torao
Takami Torao
C/C++ 使いだった 1996年、運命の Java と出会い現在に至る。のらアーキテクト。
Yah, this is image so I don't wanna eat spam, sorry!
Search

Google
MOYO Laboratory
Web

カテゴリー
最近の記事
最近のコメント
最近のトラックバック
月別アーカイブ
ブロとも申請フォーム
RSSフィード
リンク
上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。