全文検索機能を利用できる 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 Version 9 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 変換式はエラー終了します。エラーが発生した場合は,メッセージを出 力します。