4. Data Model

XMLPGSQLのXPath処理系ではXPath問合せを効率よく処理する為に, Dewey Decimal Classificationに基づいた順序付けを行う.

Figure 3. dewey order

dewey order

Dewey Orderのデータモデリングは, 親の番号の後に兄弟間の順序付けることで再帰的に定義される.

Figure 4. XMLPGSQLにおけるDewey Orderのモデリング

XMLPGSQLにおけるDewey Orderのモデリング

XMLPGSQL version3.xでは, 文書シーケンス(2段目)以降の順序情報をシステムで管理するテーブルに格納している.順序木の順序列, 生け垣でXMLの各ノードを管理している.

Figure 5. Axis Evaluation

Axis Evaluation

XPath Axisの評価はこのDewey Order用いることで評価を行なっている. 例えば,following-siblingの評価では, 親までの番号, つまりルートからの経路が等しく, 末尾の番号が起点ノードの末尾の番号より大きいものを抽出する.