コンテンツにスキップ

Expat

出典: フリー百科事典『ウィキペディア(Wikipedia)』
Expat
作者 ジェームズ・クラーク
開発元 Clark Cooper, et al.
初版 1998年 (27年前) (1998)
最新版
2.7.1[1] ウィキデータを編集 / 2025年3月27日 (57日前)
リポジトリ ウィキデータを編集
プログラミング
言語
C言語
対応OS ポータブル
種別 XMLパーサライブラリ
ライセンス MIT License[2]
公式サイト libexpat.github.io
テンプレートを表示

Expatは、C言語C99)で記述されたストリーム指向のXML 1.0パーサライブラリである[3]。最初期に登場したオープンソースのXMLパーサの1つとして、Expatは多くのオープンソースプロジェクトにおいて採用されてきた。こうしたプロジェクトには、Apache HTTP ServerMozillaPerlPythonPHPなどが含まれる。また、他の多くの言語にもバインディングされている。

名称

[編集]

創始者によれば、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は主にストリームベース(プッシュ型)のパーサであるが、任意の時点で解析を停止・再開できるため、「プル」型パーサの実装も比較的容易である。

脚注

[編集]
  1. ^ "Release 2.7.1 · libexpat/libexpat"; 閲覧日: 2025年3月28日; 作品または名前の言語: 英語.
  2. ^ COPYING”. Github. 2019年9月16日閲覧。
  3. ^ Pipping, Sebastian (2024年2月6日). “Expat 2.6.0 released, includes security fixes”. www.xml.com. 2024年9月4日閲覧。

外部リンク

[編集]