
これはExpat、XMLを解析するためのCライブラリであり、1997年にJames Clarkによって開始されました。Expatはストリーム指向のXMLパーサーです。つまり、解析を開始する前にパーサーにハンドラを登録します。これらのハンドラは、パーサーが解析中のドキュメント内で関連する構造を発見したときに呼び出されます。開始タグは、ハンドラを登録できる構造の一例です。
Windowsユーザーは、expat_win32 パッケージを使用してください。これには、プリコンパイルされたライブラリと実行ファイル、および開発者向けのソースコードが含まれています。
Expatはフリーソフトウェアです。このパッケージに同梱されているCOPYINGファイルに含まれるライセンスの条件に従い、コピー、配布、改変を行うことができます。このライセンスはMIT/Xコンソーシアムライセンスと同じものです。
ExpatをGitリポジトリからチェックアウトしてビルドする場合、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を参照してください。インストール先のディレクトリへの書き込み権限が必要であることに注意してください。
ExpatをデフォルトのUTF-8ではなくUTF-16エンコーディングでドキュメント情報を提供するようにビルドする場合、以下の手順に従ってください(make distcleanを実行した後)。xmlwfはこのコンパイルモードをまだサポートしていないため、--without-xmlwfで設定することに注意してください:
ライブラリ名として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
注意:後者では、libcも-fshort-wcharでコンパイルされている必要があります。
makeを実行します(xmlwfは含まれません)。
make installを実行します(これもxmlwfは含まれません)。
DESTDIRの使用がサポートされています。次のように動作します:
make install DESTDIR=/path/to/image
makefile内で設定されたDESTDIRを上書きします。変数設定の優先順位は次のとおりです:
注意:これはExpatライブラリ自体にのみ適用されます。xmlwfとテストのUTF-16バージョンのビルドは現在サポートされていません。
autoconfを使用して設定を行うプロジェクトでExpatを使用する場合、conftools/expat.m4内のプロービングマクロを使用してExpatのインクルード方法を決定できます。詳細については、そのファイルの先頭にあるコメントを参照してください。
リファレンスマニュアルは、このディストリビューションのdoc/reference.htmlファイルにあります。