Xindice:無料で使えるXMLデータベース(1)
ネイティブXMLデータベースを立ち上げる!
1-2. XMLデータベースの作成と基本的な検索 |
■起動と停止
ではいよいよXindiceを起動してみましょう。編注:以下のリストでは、入力するコマンドが分かりやすいようにエンターキーを押下する位置に↓ 記号を記しました。
|
|
||
|
正しく実行されれば、以下のように表示されます。問題が発生した場合は、再度すべてのステップを確認してください。
Xindice 1.0 (Birthday) |
停止するには次のようにします。
|
||
|
■コマンドラインからXindiceを利用する
インストールして起動できるようになったので、実際に使ってみましょう。Xindiceはコマンドラインからドキュメントの追加や検索などが行えますので、まずはコマンドラインで試すことにします(以降の手順ではWindowsとUNIX系との違いはプロンプトくらいしかありませんので、Windowsの方だけを記述していきます)。
ここでは、システムで発生している問題を管理するXML文書を例に挙げて、XML文書の解説、コレクションの作成、ドキュメントの登録、XPathによる検索という順で説明していきます。
まず、例として用いるXML文書ですが、以下の2つです。
<?xml version="1.0" encoding="Shift_JIS"
?> |
problem1.xml |
<?xml version="1.0" encoding="Shift_JIS"?> |
problem2.xml |
簡単にこのXML文書について解説しましょう。1つのXML文書当たり、問題1件を格納します。ドキュメントルートが<problem>で、属性として、ID、ステータス、タイトル、問題発生日付を持ちます。そして、<problem>の子要素として、問題の内容を説明する<description>、問題へのアクションを示す<actions>があります。また、ここでは複数の<action>をまとめて、<actions>の子要素としています。<action>には、アクションのオーナーを示す属性「who」と、アクション内容を説明する要素<description>を含みます。
■コレクションとドキュメント
Xindiceでは、XML文書をファイルシステムに似たモデルで管理します。ファイルシステムであればディレクトリとファイルからなりますが、Xindiceでは、ディレクトリに対応するものを「コレクション」、ファイルに対応するものを「ドキュメント」と呼びます。
図1 Xindiceにおけるコレクションとドキュメント |
■コレクションを作成し、ドキュメントを追加する
最初に/db(デフォルトで作成されるデータベースインスタンスです)に新しいコレクションを作成してみます。ここでは、名前をsampledbとします。
C:\Xindice> Xindiceadmin ac -c /db
-n sampledb↓ |
次に先ほどの2つのXML文書を、それぞれprob1、prob2というキーに関連付けて、作成したコレクションに追加します。
C:\Xindice> xindiceadmin ad -c /db/sampledb
-f problem1.xml -n prob1↓ |
■では、検索してみよう
データベースにドキュメントを登録したので、検索してみましょう。コレクション/db/sampledbから、問題のステータスがオープンのものを、XPathで検索します(検索結果は、デフォルトで標準出力に出力されます)。
C:\Xindice> xindiceadmin xpath -c
/db/sampledb -q "/problem[@status='open']" ↓ |
同様に今度はオーナーが“B_corporation”のアクションを検索してみましょう。
C:\Xindice> xindiceadmin xpath -c
/db/sampledb -q "/problem//action[@who='B_corporation']"↓ |
■Xindiceの主なコマンド一覧
ここまでコマンドラインから利用する例を紹介してきましたが、どうでしたか。比較的簡単だと思われたのではないでしょうか。これまで紹介したコマンドに加えてよく利用しそうなコマンドの一覧を挙げておきます。
コレクションの作成 |
xindiceadmin ac -c ベースとなるコレクション -n 作成するコレクションの名前 |
ドキュメントの追加 |
xindiceadmin ad -c ベースとなるコレクション -f ファイル名
-n ドキュメントのキー |
XPathによる検索 |
xindiceadmin xpath -c 検索するコレクション -q
XPath式 |
コレクションのリスト表示 |
xindice lc -c ベースとなるコレクション |
コレクションの削除 |
xindiceadmin dc -c ベースとなるコレクション -n コレクションの名前 |
ドキュメントのリスト表示 |
xindice ld -c ベースとなるコレクション |
ドキュメントの取得 |
xindice rd -c ベースとなるコレクション -n ドキュメントのキー
-f 書き出すファイル名 |
ドキュメントの削除 |
xindice dd -c ベースとなるコレクション -n ドキュメントのキー |
次回は検索に焦点を当てて、Javaのサンプルプログラムを使って検索する方法について紹介していきます。
2/9 |
Index | |
Xindice:無料で使えるXMLデータベース | |
1. Xindiceをインストールする(Windows/UNIX) ・Javaで作られたXindice ・ネイティブXMLデータベースの特徴 ・Xindiceの特徴 ・Xindiceをインストールする |
|
2. XMLデータベースの作成と基本的な検索 ・起動と停止 ・コマンドラインからXindiceを利用する ・コレクションとドキュメント ・では、検索してみよう ・Xindiceの主なコマンド一覧 |
|
Javaプログラムによる検索の手順 ・検索用APIの使い方 |
|
検索サンプルアプリケーションの実際 ・例外 ・XPath ・Xindiceで検索するサンプルアプリケーション ・ネームスペースを利用しない例 ・ネームスペースを利用する例 |
|
サーブレットからXindiceを呼び出す ・サーブレット環境の準備 ・Webアプリケーションの準備 |
|
Xindiceを呼び出すサンプルサーブレット ・XPath式の結果をXML文書として返す ・結果をXSLTでHTMLに変換する ・変換のためのXSLTは別ファイル |
|
インデックスで高速化 ・インデックス管理コマンド ・インデックスの有無によるスピード比較 ・測定結果 |
|
XUpdate言語の使い方 ・現在ドラフト中のXUpdate ・ノードの挿入・追加 ・ノードの更新 ・ノードの削除 ・ノード名変更 |
|
Javaアプリケーションから更新・削除を実行する ・更新用APIの使い方 ・サンプルアプリケーション ・実行準備 |
- QAフレームワーク:仕様ガイドラインが勧告に昇格 (2005/10/21)
データベースの急速なXML対応に後押しされてか、9月に入って「XQuery」や「XPath」に関係したドラフトが一気に11本も更新された - XML勧告を記述するXMLspecとは何か (2005/10/12)
「XML 1.0勧告」はXMLspec DTDで記述され、XSLTによって生成されている。これはXMLが本当に役立っている具体的な証である - 文字符号化方式にまつわるジレンマ (2005/9/13)
文字符号化方式(UTF-8、シフトJISなど)を自動検出するには、ニワトリと卵の関係にあるジレンマを解消する仕組みが必要となる - XMLキー管理仕様(XKMS 2.0)が勧告に昇格 (2005/8/16)
セキュリティ関連のXML仕様に進展あり。また、日本発の新しいXMLソフトウェアアーキテクチャ「xfy technology」の詳細も紹介する
|
|