|
Streaming API for XML(StAX)は、JavaでXML文書を読み書きするためのAPIである。 従来のXML APIは、次のどちらかである。 * ツリーベース - 文書全体がツリー構造でメモリに読み込まれ、呼び出し元アプリケーションはランダムアクセスできる。 * イベントベース - 文書内に出現したエンティティごとに、登録されたアプリケーションがイベントを受け取る。 これらはそれぞれに利点がある。前者(例えばDOM)は文書へのランダムアクセスが可能であり、後者(例えばSAX)は使用メモリが少なくより高速に動作する場合が多い。 この2つは対極に位置するアクセス手法であると言える。ツリーベースのAPIは制約のないランダムアクセスとデータの操作が可能である一方、イベントベースのAPIは文書を1回スキャンするだけである。 StAXは、その中間の手法として設計された。StAXの考え方では、プログラムの操作点は文書内のある地点を指すカーソルである。アプリケーションがカーソルを進めるということは、必要に応じて自分がパーサーから情報を取り出すことになる(pull型)。これはSAXのようなイベントベースのAPIとは異なる。SAXではパーサーがアプリケーションにデータを送りつけるので(push型)、アプリケーション側が文書内の位置を追跡しなければならない場合は必要に応じてイベントとイベントの間で状態を保持しておく必要がある。 == 起源 == StAXは、互換性のない多数のpull型XML APIにその起源を持つ。これらAPIのうち最も有名なXMLPULLの作者(Stefan HausteinとAleksandr Slominski)と、その他のAPIの作者であるBEAシステムズやオラクル、サン、Breeze Factor 、ジェームズ・クラークの協働により誕生した。 抄文引用元・出典: フリー百科事典『 ウィキペディア(Wikipedia)』 ■ウィキペディアで「Streaming API for XML」の詳細全文を読む 英語版ウィキペディアに対照対訳語「 StAX 」があります。 スポンサード リンク
|