From: siena@... (Siena.) Date: 2002-05-21T23:58:42+09:00 Subject: [ruby-list:35224] Re: ANNOUNCE: REXML のドキュメント Siena. です。 ▼ [ruby-list:35218] < "NAKAMURA, Hiroshi" さん 》正規表現ベースで、UTF8に変換しないで使う 》XML processor(例えばNQXML)も場面によっては便利、 文字参照が含まれていないと仮定できる場合なんかはそうですね。 # Unicode 系は、普段使わない事もあって、どうも苦手意識が ^^; 》> XML そのものの設計思想に、全部読まなくても逐次パース可能、 》> というのがあったと思うのですが、ネットワークサービスで反応速度を 》XMLそのものの設計思想にそれがあるのかどうかはわかりません。 》実際、ストリーミングには全く向かないフォーマットです。 SGML との相対的な話、ですね。例えば、SGML みたいに 開始/終了タグが省略可能だと、先読みしないと文書構造を確定 できないなど、ストリーミングとはとても相性が悪くなりますよね。 で、XML ではタグの省略がなくなって構造が明示的に書かれるので、 読んだ端からパースできるようになっているという話だったかと。 他にもストリーミングに有利な制約があったような気がします。 あ、簡単に処理できるようにした結果、ストリーミングに より適した形になったという話と記憶違いをしているかもですが ^^; と、不確定ですので、上の「MXL そのものの設計思想」は「XML の SGML に対する利点の一つ」くらいに読み替えておいてくださいませ。 # ちょっと、走り過ぎてしまったようです (--; 》SOAPに効くかどうかはモノ次第ですね。RAAのエントリー情報の 》一括転送をしようとすると結構効きそうですが、 》calc( "add", 1, 1 ) => 2 なんて遊んでる場合は全く効きません。 まぁ、あまりに小さな SOAP メッセージでは関係ないでしょうねぇ。 こういう「効く」というのは、万病にというわけではなくて、 普通はボトルネックを効果的に解消できるというのをいうのでして。 それ以前に問題がなければ解決のしようすらないわけですから ^^; とはいいましても、それほど大きなメッセージでなくても、転送が ストールしてしまったりすると無駄な待ち時間ができてしまいますので、 読んだ部分だけでも処理できれば嬉しいという場面は十分ありそうです。 具体的には、処理可能な部分の読み込みが終わったら別スレッドで並行して 処理を行ないつつ読み込みを続ける、という場合を想定していました。 ネットワーク転送の待ち時間の間に処理を済ませておけますので、 読み終えた時にはほぼ結果を出力するだけにできる場面はあるかな、と。 特にその処理が、他の WWW サービスや DB などの多少重ための処理に 依存していて、更にそのサービスが他のサービスに依存して...といった 場合には、処理の並列性が上がるので待ち時間の短縮が期待できます。 こんな場合には、総合的な応答性にそれなりに影響を与えますね。 》属性にとてつもなく長い文字列を突っ込みでもしない限り、 # 名前空間宣言や XLink があちこちにずらずら並んでいたり... 》というわけでこれについてもなひはREXMLで問題ないと思います。 なひさんもおっけーと ^^= もう一息、かな ^^; 》あとは別スレッドで走っている実装だけでしょうか。 あ゛う゛〜(謎) --- Siena.