トップQs
タイムライン
チャット
視点
Expat
XMLパーサーライブラリ ウィキペディアから
Remove ads
Expatは、C言語(C99)で記述されたストリーム指向のXML 1.0パーサライブラリである[3]。最初期に登場したオープンソースのXMLパーサの1つとして、Expatは多くのオープンソースプロジェクトにおいて採用されてきた。こうしたプロジェクトには、Apache HTTP Server、Mozilla、Perl、Python、PHPなどが含まれる。また、他の多くの言語にもバインディングされている。
![]() |
Remove ads
名称
創始者によれば、Expatという名称は、当時自分がエクスパットであったことに由来する[要出典]。「ex」と「pa」は、それぞれXMLとパースを意味している。
年表
ソフトウェア開発者ジェームズ・クラークは、World Wide Web ConsortiumにおいてXMLワーキンググループの技術リードを務めていた1998年に、バージョン1.0をリリースした[要出典]。クラークはその後、バージョン1.1および1.2をリリースした後、2000年にクラーク・クーパーおよびフレッド・ドレイクを中心とするグループにプロジェクトを引き継いだ。この新たなグループは2000年9月にバージョン1.95.0をリリースし、現在もバグ修正や機能拡張を取り入れた新バージョンの公開を続けている。
入手
ExpatプロジェクトはGitHub上にホストされている。主要な[要出典]オペレーティングシステム向けのバージョンが存在する。
デプロイ
Expatライブラリを使用するには、プログラムが最初にExpatに対してハンドラ関数を登録する必要がある。ExpatがXML文書を解析する際、入力ストリーム中のトークンを検出すると、それに応じて登録されたハンドラを呼び出す。これらのトークンと関連するハンドラの呼び出しは「イベント」と呼ばれる。一般に、プログラムはXML要素の開始・終了イベントや文字イベントに対してハンドラ関数を登録する。Expatは、XML名前空間の宣言、処理命令、DTDイベントといった、より高度なイベント処理にも対応している。
Expatの解析イベントは、Simple API for XML(SAX)で定義されたイベントに類似しているが、ExpatはSAX準拠のパーサではない。Expatライブラリを組み込んだプロジェクトでは、SAXや場合によってはDOMパーサをExpatの上に構築することが多い。Expatは主にストリームベース(プッシュ型)のパーサであるが、任意の時点で解析を停止・再開できるため、「プル」型パーサの実装も比較的容易である。
Remove ads
脚注
外部リンク
Wikiwand - on
Seamless Wikipedia browsing. On steroids.
Remove ads