Expat、リリース 2.1.0
これは、James Clark によって書かれた、XML を解析するための C ライブラリ Expat です。 Expat はストリーム指向の XML パーサーです。つまり、パースを開始する前に ハンドラーをパーサーに登録します。これらのハンドラーは、パーサーが 解析中のドキュメント内で関連する構造を発見したときに呼び出されます。 開始タグは、ハンドラーを登録できる種類の構造の 一例です。
Windows ユーザーは、コンパイル済みライブラリと実行可能ファイルの両方、 および開発者向けソースコードを含む expat_win32bin パッケージを 使用してください。
Expat はフリーソフトウェアです。このパッケージに同梱されているファイル COPYING に含まれるライセンスの条件に基づき、 コピー、配布、および変更を行うことができます。 このライセンスは MIT/X Consortium ライセンスと同じものです。
Expat のバージョンのうち、マイナーバージョン(上記リリースの中間の数字)が 奇数であるものは開発版リリースであり、ベータソフトウェアとして扱われるべきです。 マイナーバージョンが偶数であるリリースは、 製品版品質のソフトウェアを意図しています。
CVS リポジトリからチェックアウトした 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" を実行した後):
1. UTF-16 出力を unsigned short(およびバージョン/エラー
文字列を char)として行う場合、次のように実行します:
./configure CPPFLAGS=-DXML_UNICODE
UTF-16 出力を wchar_t(バージョン/エラー文字列を含む)として行う場合、
次のように実行します:
./configure CFLAGS="-g -O2 -fshort-wchar" \
CPPFLAGS=-DXML_UNICODE_WCHAR_T
2. MakeFile を編集し、次のように変更します:
LIBRARY = libexpat.la
変更後:
LIBRARY = libexpatw.la
(ライブラリ名に "w" が追加されていることに注意してください。)
3. "make buildlib" を実行します(ライブラリのみをビルドします)。
または、ステップ 2 を省略するには、"make buildlib LIBRARY=libexpatw.la" を実行します。
4. "make installlib" を実行します(ライブラリのみをインストールします)。
または、ステップ 2 を省略した場合は、"make installlib LIBRARY=libexpatw.la" を実行します。
DESTDIR または INSTALL_ROOT の使用が有効です。INSTALL_ROOT は DESTDIR のデフォルト値であり、 make ファイルの残りは DESTDIR のみを使用します。 これは次のように動作します: $ make install DESTDIR=/path/to/image メイクファイル内で設定された DESTDIR を上書きします。一方、次の 2 つのコマンドは $ INSTALL_ROOT=/path/to/image make install $ make install INSTALL_ROOT=/path/to/image DESTDIR が最終的に環境で定義されている場合でも、DESTDIR=$(INSTALL_ROOT) を使用します。 変数設定の優先順位は次のとおりです:
注:これは Expat ライブラリ自体にのみ適用されます。xmlwf とテストの UTF-16 版のビルドは現在サポートされていません。
Solaris ユーザーへの注意:"ar" コマンドは通常 "/usr/ccs/bin" にありますが、これはデフォルトの PATH には含まれていません。 "make" コマンドのためにこれを PATH に追加する必要があります。また、おそらく GNU make に切り替える必要があります(/usr/ccs/bin にある "make" は正しく動作しないようです -- どうやら .PHONY ディレクティブを理解しないようです)。 ksh または bash を使用している場合は、次のコマンドでビルドしてください:
PATH=/usr/ccs/bin:$PATH make
autoconf を使用して設定を行うプロジェクトで Expat を使用する場合、 conftools/expat.m4 のプロービングマクロを使用して、Expat を含める方法を 決定できます。詳細については、そのファイルの先頭にあるコメントを 参照してください。
リファレンスマニュアルは、この配布物内のファイル doc/reference.html として 利用できます。
このプロジェクトのホームページは http://www.libexpat.org/ です。 そこにはバグレポートページへのリンクがあります。ブラウザにアクセスできない場合に バグを報告する必要がある場合は、 [email protected] に電子メールでバグレポートを送信することもできます。
将来の expat 開発の方向性に関する議論は、 [email protected] で行われています。このリストおよび その他の Expat 関連リストのアーカイブは、次の場所にあります:
http://mail.libexpat.org/mailman/listinfo