
これはExpat、1997年にJames Clarkによって開始されたXML解析用のCライブラリです。 Expatはストリーム指向のXMLパーサーです。つまり、パースを開始する前にパーサーにハンドラを登録します。これらのハンドラは、パーサーが解析中のドキュメント内の関連構造を発見したときに呼び出されます。開始タグは、ハンドラを登録できる構造の一種の例です。
Windowsユーザーは、expat_win32 パッケージを使用してください。このパッケージには、プリコンパイル済みのライブラリと実行ファイル、および開発者向けのソースコードが含まれています。
Expatはフリーソフトウェアです。このパッケージに同梱されているCOPYINGファイルに含まれるライセンスの条件に基づき、コピー、配布、および変更を行うことができます。このライセンスはMIT/X Consortiumライセンスと同じです。
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を指定してconfigureする必要があることに注意してください:
Makefile.amファイルを一括パッチして、ライブラリ名にlibexpatw.laを使用するようにします:
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は含まれません)。