コールバックにもいいこともあるんだな、と気がついたので、メモ。
SRU、OAI-PMHなど、伝送すべきXML文書をサブツリーとして含み、まわりにメタデータが張り付いたようなものをHTTPレスポンスにするようなプロトコルはしばしばある。PubSubHubbubはAtomエントリをHTTP POSTするんだけど、全文フィードから抜いたエントリをPOSTしてその埋め込みデータを利用させることもできるし、要約フィードでURLだけ伝えてコールバックさせることもできる。
コールバックなんか無駄じゃんか、というとさにあらず。という屁理屈を考えてみた、ということになる。
パーザの文書ツリーに伝送すべきXML文書の読み込み結果を(次々)張り付けて、またシリアライズすると、属性まわりのスペースだとか、改行コードだとか、文字実体参照だとかは必ずしも元の文書のとおりに再現されるわけではない。ひどい場合には名前空間宣言がぐちゃぐちゃになったりする。もちろん、利用者がみなお行儀よろしくXMLインフォセットだけを見てくれればいいのだが、DOM APIで名前空間を無視してパーズしたり、ひどい場合には sed でタグを抜き出したりすると、そういう低水準の非保存性で災厄が起こる。決してやれとは言っていないがそういうことはあるし自分もやっつけ仕事でやったりする。
だから、信頼できるのは、オクテット列を忠実に伝送することしかないのだ、となることはある。なんたる荒廃といわれればその通りだが、まあ、そういうこともある。
I feel I need to write English version also, but the priority of the time is not here right now, sorry.SRU、OAI-PMHなど、伝送すべきXML文書をサブツリーとして含み、まわりにメタデータが張り付いたようなものをHTTPレスポンスにするようなプロトコルはしばしばある。PubSubHubbubはAtomエントリをHTTP POSTするんだけど、全文フィードから抜いたエントリをPOSTしてその埋め込みデータを利用させることもできるし、要約フィードでURLだけ伝えてコールバックさせることもできる。
コールバックなんか無駄じゃんか、というとさにあらず。という屁理屈を考えてみた、ということになる。
パーザの文書ツリーに伝送すべきXML文書の読み込み結果を(次々)張り付けて、またシリアライズすると、属性まわりのスペースだとか、改行コードだとか、文字実体参照だとかは必ずしも元の文書のとおりに再現されるわけではない。ひどい場合には名前空間宣言がぐちゃぐちゃになったりする。もちろん、利用者がみなお行儀よろしくXMLインフォセットだけを見てくれればいいのだが、DOM APIで名前空間を無視してパーズしたり、ひどい場合には sed でタグを抜き出したりすると、そういう低水準の非保存性で災厄が起こる。決してやれとは言っていないがそういうことはあるし自分もやっつけ仕事でやったりする。
だから、信頼できるのは、オクテット列を忠実に伝送することしかないのだ、となることはある。なんたる荒廃といわれればその通りだが、まあ、そういうこともある。
0 件のコメント:
コメントを投稿