• 検索結果がありません。

抽象データ型関数の操作

ドキュメント内 HiRDB XML Extension Version 10 (ページ 125-128)

DELETE 時

4.1  抽象データ型関数の操作

用途 関数名 機能

score contains_with_score 関数で検索した文書のスコア値を取得します。検索条件に

一致した文書ほどスコア値が高くなります。

4.1.2 XQuery を使用した全文検索機能の利用

XQuery を SQL 文中に記述することで,全文検索機能を利用できます。SQL,および XQuery の記述形 式については,マニュアル「HiRDB SQL リファレンス」を参照してください。

全文検索機能を利用できる XQuery 述語を次に示します。

表 4‒2 全文検索機能を利用できる XQuery 述語

述語 機能

fn:contains 第二引数に文字列を指定して検索します。

fn:starts-with 第二引数に指定した文字列が構造の先頭に一致するか検索し

ます。

fn:ends-with 第二引数に指定した文字列が構造の末尾に一致するか検索し

ます。

文字列(xs:string 型)同士の完全一致(=) 指定した文字列が構造の先頭と末尾に一致するか検索します。

hi-fn:containts 第二引数にテキスト検索条件を指定して検索します。

注※ テキスト検索条件の記述形式については「4.3.4 テキスト検索条件の指定」を参照してください。

4.1.3 XQuery 変換式を使用した XML データの部分更新

XQuery 変換式を SQL 文中に記述することで,XML 型列に登録した XML データを部分的に更新できま す。SQL および XQuery 変換式の記述形式については,マニュアル「HiRDB SQL リファレンス」を参 照してください。

(1) テキストの正規化

XQuery 変換式を使用して追加,変更されたテキストノードのテキストと,処理命令ノードの処理命令値 は正規化されます。改行コードは次に示すように扱われます。

テキストノード

• 先頭および末尾の空白文字と改行コードは除去されます。

• テキストノード内の改行コードは,すべて LF(0x0a)に置き換えられます。

• 空白文字と改行コードが連続する文字列は,それぞれ出現順に一つにまとめられます。

• 一つの XQuery 変換式内で,xml:space="preserve"属性を追加,更新した場合は,その属性を追 加した要素の下位に追加したテキストノードは正規化しません。XML 作成時や別の XQuery 変換 式で追加した xml:space="preserve"属性は無視されます。

• 一つの XQuery 変換式内で,xml:space="preserve"属性を指定した要素よりも下位の要素に xml:space="default"属性を追加,更新した場合,xml:space="default"属性を追加した要素の,

下位に追加したテキストノードを正規化します。

処理命令ノード

• 先頭および末尾の空白文字と改行コードは除去されます。

(2) エラーチェック

XQuery 変換式を使用した XML データの部分更新では,新しく追加,更新する XML ノードおよびノード の削除・名前変更で発生する XML データのエラーをチェックします。XQuery 変換式を使用した XML データの部分更新では,複数の更新を SQL に記述して一度に更新できます。複数指定した場合は,一つの ESIS-B 形式データに対して順番に更新します。しかし,エラーチェックは一つの更新ごとに行われるた め,エラーが発生した時点で XQuery 変換式はエラー終了します。エラーが発生した場合は,メッセージ を出力します。

ドキュメント内 HiRDB XML Extension Version 10 (ページ 125-128)