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 変換式はエラー終了します。エラーが発生した場合は,メッセージ を出力します。