これはExpat、1997年にJames Clarkによって開始されたXML解析用のCライブラリです。 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を指定して構成していることに注意してください:
Makefile.amファイルを一括パッチして、ライブラリ名にlibexpatw.laを使用するようにします:
find -name Makefile.am -exec sed -e 's,libexpat\.la,libexpatw.la,' -e 's,libexpat_la,libexpatw_la,' -i {} +
Makefile.inファイルを書き換えるためにautomakeを実行します:
automake
unsigned shortとしてUTF-16出力する場合(バージョン/エラー文字列はchar)、次を実行します:
./configure CPPFLAGS=-DXML_UNICODE --without-xmlwf
wchar_tとしてUTF-16出力する場合(バージョン/エラー文字列を含む)、次を実行します:
./configure CFLAGS="-g -O2 -fshort-wchar" CPPFLAGS=-DXML_UNICODE_WCHAR_T --without-xmlwf
注: 後者は、libcも-fshort-wchar付きでコンパイルされている必要があります。
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は除外されます)。