Expat, リリース 2.1.0
これはExpat、James Clarkによって書かれたXMLを解析するためのCライブラリです。
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には多くのオプションがあります(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
もう一つの興味深いオプションは、行番号と列番号、および全体的なバイトインデックスに対して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 は、makeファイル内で設定されたDESTDIRを上書きします。一方、次の両方 $ INSTALL_ROOT=/path/to/image make install $ make install INSTALL_ROOT=/path/to/image は、DESTDIR=$(INSTALL_ROOT)を使用します。これは、DESTDIRが最終的に環境で定義されている場合でも同様です。なぜなら、変数設定の優先順位は
注意:これはExpatライブラリ自体にのみ適用されます。xmlwfとテストのUTF-16バージョンのビルドは現在サポートされていません。
Solarisユーザーへの注意:"ar"コマンドは通常"/usr/ccs/bin"にあり、デフォルトのPATHには含まれていません。"make"コマンドのためにこれをパスに追加する必要があります。また、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/