
これは Expat、XML を解析するための C ライブラリで、1997 年に James Clark によって開始されました。 Expat はストリーム指向の XML パーサーです。つまり、解析を開始する前にパーサーにハンドラを登録します。これらのハンドラは、解析対象のドキュメント内で関連する構造をパーサーが検出したときに呼び出されます。開始タグは、ハンドラを登録できる構造の一例です。
Windows ユーザーは、expat_win32 パッケージ を使用してください。このパッケージには、プリコンパイル済みライブラリと実行ファイル、および開発者向けソースコードが含まれています。
Expat はフリーソフトウェアです。このパッケージに同梱されている COPYING ファイルに記載されているライセンス条件に基づき、コピー、配布、変更を行うことができます。このライセンスは MIT/X Consortium ライセンスと同じものです。
Git リポジトリ からチェックアウトして 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 を実行した後)。xmlwf はまだこのコンパイルモードをサポートしていないため、--without-xmlwf を指定して configure することに注意してください:
ライブラリ名として libexpatw.la を使用するように Makefile.am ファイルを一括パッチします:
find -name Makefile.am -exec sed -e 's,libexpat\.la,libexpatw.la,' -e 's,libexpat_la,libexpatw_la,' -i {} +
automake を実行して Makefile.in ファイルを書き直します:
automake
UTF-16 出力を unsigned short(バージョン/エラー文字列は char)として行う場合は、次を実行します:
./configure CPPFLAGS=-DXML_UNICODE --without-xmlwf
UTF-16 出力を wchar_t(バージョン/エラー文字列を含む)として行う場合は、次を実行します:
./configure CFLAGS="-g -O2 -fshort-wchar" CPPFLAGS=-DXML_UNICODE_WCHAR_T --without-xmlwf
注: 後者には、-fshort-wchar でコンパイルされた libc も必要です。
make を実行します(xmlwf は含まれません)。
DESTDIR の使用がサポートされています。次のように動作します:
make install DESTDIR=/path/to/image
これは Makefile 内で設定された DESTDIR を上書きします。変数設定の優先順位は次のとおりです:
注: これは Expat ライブラリ自体にのみ適用され、現在、xmlwf とテストの UTF-16 版のビルドはサポートされていません。
autoconf を使用して設定を行うプロジェクトで Expat を使用する場合、conftools/expat.m4 のプロービングマクロを使用して、Expat をインクルードする方法を決定できます。詳細については、そのファイルの先頭にあるコメントを参照してください。
この配布物の doc/reference.html ファイルにリファレンスマニュアルがあります。
make install を実行します(ここでも xmlwf は含まれません)。