Expat、リリース 2.1.0
これは、James Clark によって書かれた、XML を解析するための C ライブラリである Expat です。 Expat はストリーム指向 XML パーサーです。つまり、パースを開始する前にハンドラーをパーサーに登録します。これらのハンドラーは、パーサーが解析中のドキュメント内で関連する構造を検出したときに呼び出されます。開始タグは、ハンドラーを登録できる構造の一例です。
Windows ユーザーは、プリコンパイル済みのライブラリと実行可能ファイルの両方、および開発者向けのソースコードを含む expat_win32bin パッケージを使用してください。
Expat はフリーソフトウェアです。このパッケージに同梱されている COPYING ファイルに記載されたライセンスの条件に基づき、コピー、配布、および変更を行うことができます。このライセンスは MIT/X Consortium ライセンスと同じものです。
Expat のバージョンのうち、マイナーバージョン(上記リリースの中間の数字)が奇数のものは開発リリースであり、ベータソフトウェアと見なされるべきです。マイナーバージョンが偶数のリリースは、製品グレードのソフトウェアを意図しています。
CVS リポジトリからチェックアウトしたソースから Expat をビルドする場合は、GNU autoconf と libtool ツールを使用して configure スクリプトを生成するスクリプトを実行する必要があります。これを行うには、autoconf 2.58 以降が必要です。スクリプトを次のように実行します:
./buildconf.sh
これが完了したら、ソース配布物からビルドする場合と同じ手順に従ってください。
ソース配布物から Expat をビルドするには、まず配布物の最上位ディレクトリで設定用シェルスクリプトを実行します:
./configure
configure には多くのオプションを指定できます(--help オプションを付けて configure を実行すると確認できます)。しかし、最も興味深いのはインストールディレクトリを設定するオプションです。デフォルトでは、configure スクリプトは libexpat を /usr/local/lib に、expat.h を /usr/local/include に、xmlwf を /usr/local/bin にインストールするように設定します。例えば、/home/me/mystuff/lib、/home/me/mystuff/include、/home/me/mystuff/bin にインストールしたい場合は、次のように configure に指定できます:
./configure --prefix=/home/me/mystuff
もう 1 つの興味深いオプションは、行番号、列番号、および全体的なバイトインデックスに対して 64 ビット整数サポートを有効にすることです:
./configure CPPFLAGS=-DXML_LARGE_SIZE
ただし、このような変更は ABI に対する破壊的変更となるため、一般的な使用(例えば Linux ディストリビューションの一部として)には推奨されません。むしろ、特別な要件を持つビルド向けです。
configure スクリプトを実行した後、"make" コマンドでビルドが行われ、"make install" で適切な場所にインストールされます。追加の "make" オプションについては "Makefile" を参照してください。インストール先のディレクトリには書き込み権限が必要であることに注意してください。
デフォルトの UTF-8 ではなく UTF-16 エンコーディングでドキュメント情報を提供するように Expat をビルドしたい場合は、("make distclean" を実行した後に)次の手順に従ってください:
1. UTF-16 出力を unsigned short として(バージョン/エラー
文字列は char として)出力するには、次のように実行します:
./configure CPPFLAGS=-DXML_UNICODE
UTF-16 出力を wchar_t として(バージョン/エラー文字列を
含む)出力するには、次のように実行します:
./configure CFLAGS="-g -O2 -fshort-wchar" \
CPPFLAGS=-DXML_UNICODE_WCHAR_T
2. MakeFile を編集して、次のように変更します:
LIBRARY = libexpat.la
を次のように:
LIBRARY = libexpatw.la
(ライブラリ名の追加の "w" に注意してください。)
3. "make buildlib" を実行します(ライブラリのみをビルドします)。
または、手順 2 を省略するには、"make buildlib LIBRARY=libexpatw.la"
を実行します。
4. "make installlib" を実行します(ライブラリのみをインストールします)。
または、手順 2 を省略した場合は、"make installlib LIBRARY=libexpatw.la"
を実行します。
DESTDIR または INSTALL_ROOT の使用が有効になっており、INSTALL_ROOT が DESTDIR のデフォルト値で、make ファイルの残りの部分は DESTDIR のみを使用します。次のように機能します: $ make install DESTDIR=/path/to/image は make ファイル内で設定された DESTDIR を上書きします。一方、次の両方: $ INSTALL_ROOT=/path/to/image make install $ make install INSTALL_ROOT=/path/to/image は DESTDIR=$(INSTALL_ROOT) を使用します。たとえ DESTDIR が最終的に環境で定義されていてもそうです。なぜなら、変数設定の優先順位は次のとおりだからです:
注: これは Expat ライブラリ自体にのみ適用されます。xmlwf とテストの UTF-16 バージョンのビルドは現在サポートされていません。
Solaris ユーザーへの注意: "ar" コマンドは通常 "/usr/ccs/bin" にありますが、これはデフォルトの PATH には含まれていません。"make" コマンドのためにこれを PATH に追加する必要があり、おそらく GNU make に切り替える必要もあります(/usr/ccs/bin にある "make" は正常に動作しないようです -- どうやら .PHONY ディレクティブを理解しないためです)。ksh または bash を使用している場合は、次のコマンドでビルドします:
PATH=/usr/ccs/bin:$PATH make
autoconf を設定に使用するプロジェクトで Expat を使用する場合、conftools/expat.m4 のプロービングマクロを使用して、Expat をインクルードする方法を決定できます。詳細については、そのファイルの先頭にあるコメントを参照してください。
リファレンスマニュアルは、この配布物の doc/reference.html ファイルで参照できます。
このプロジェクトのホームページは http://www.libexpat.org/ です。そこにはバグレポートページへのリンクがあります。ブラウザを利用できない環境でバグを報告する必要がある場合は、[email protected] に電子メールでバグレポートを送信することもできます。
将来の expat 開発の方向性に関する議論は、[email protected] で行われています。このリストおよびその他の Expat 関連リストのアーカイブは、次の場所で参照できます:
http://mail.libexpat.org/mailman/listinfo