
これは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スクリプトは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は含まれません)。
make installを実行します(こちらもxmlwfは含まれません)。
DESTDIRの使用がサポートされています。以下のように動作します:
make install DESTDIR=/path/to/image
これはメイクファイル内で設定されたDESTDIRを上書きします。変数設定の優先順位は次の通りです:
注: これはExpatライブラリ自体にのみ適用されます。xmlwfとテストのUTF-16バージョンのビルドは現在サポートされていません。
autoconfを使用して設定を行うプロジェクトでExpatを使用する場合、conftools/expat.m4にあるプロービングマクロを使用して、Expatをインクルードする方法を決定できます。詳細については、そのファイルの先頭のコメントを参照してください。
リファレンスマニュアルは、この配布物内のdoc/reference.htmlファイルにあります。