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