スケーラブルデータベースサーバ HiRDB Version 8 SQLリファレンス
ここでは,HiRDBが提供するXQuery関数について説明します。
各XQuery関数の形式で記述した引数は,XQuery関数呼出しの規則に従ってXQuery関数にパラメタとして渡されます。XQuery関数呼出しの規則については,「1.16.6(15)(g) XQuery関数呼出し」を参照してください。
XQuery関数には,XQueryで定義された関数と,HiRDBで定義された関数があります。
XQueryで定義された関数は,接頭辞xsに割り当てられたXML名前空間(http://www.w3.org/2001/XMLSchema),又はfnに割り当てられたXML名前空間(http://www.w3.org/2006/xpath-functions)中にあります。
HiRDBで定義された関数は,接頭辞hi-fnに割り当てられたXML名前空間(http://www.hitachi.co.jp/Prod/comp/soft1/hirdb/xquery-functions)中にあります。HiRDBで定義された関数を呼び出す場合,XQuery関数名に対する既定のXML名前空間を"http://www.hitachi.co.jp/Prod/comp/soft1/hirdb/xquery-functions"で宣言している場合を除き,接頭辞を指定する必要があります。
コンストラクタ関数については,「1.16.2(3)(b) コンストラクタ関数」を参照してください。
HiRDBで使用できるXQuery関数を,次の表に示します。
表1-100 HiRDBが提供するXQuery関数
分類 | 関数 | 機能 | XQuery 関数の種別 |
---|---|---|---|
コンストラクタ関数 | xs:string | xs:string型の値を生成します。 | XQuery |
xs:decimal | xs:decimal型の値を生成します。 | XQuery | |
xs:int | xs:int型の値を生成します。 | XQuery | |
xs:double | xs:double型の値を生成します。 | XQuery | |
xs:dateTime | xs:dateTime型の値を生成します。 | XQuery | |
xs:date | xs:date型の値を生成します。 | XQuery | |
xs:time | xs:time型の値を生成します。 | XQuery | |
xs:hexBinary | xs:hexBinary型の値を生成します。 | XQuery | |
xs:boolean | xs:boolean型の値を生成します。 | XQuery | |
xs:untypedAtomic | xs:untypedAtomic型の値を生成します。 | XQuery | |
変換関数 | fn:boolean | XQueryシーケンスをxs:boolean型の値として評価した結果を返します。 | XQuery |
fn:data | XQueryシーケンスを基本単位化し,基本単位値から成るXQueryシーケンスを返します。 | XQuery | |
fn:number | 引数に指定した値をxs:double型に変換した値を返します。 | XQuery | |
fn:string | XQuery項目の値を文字列表現した値をxs:string型の値として返します。 | XQuery | |
文字列操作関数 | fn:compare | 二つの文字列を比較します。 | XQuery |
fn:concat | 二つ以上の基本単位値をxs:string型の値に変換して連結した値を返します。 | XQuery | |
fn:contains | 引数1で指定した文字列中に引数2で指定した文字列が含まれているかどうかを返します。 | XQuery | |
hi-fn:contains | 引数1で指定したノードの文字列値が,引数2で指定した全文検索のテキスト検索条件を満たすかどうかを返します。 | HiRDB | |
fn:ends-with | 引数1で指定した文字列が引数2で指定した文字列で終了するかどうかを返します。 | XQuery | |
fn:normalize-space | 文字列に対してホワイトスペースの正規化を行った結果を返します。 | XQuery | |
fn:starts-with | 引数1で指定した文字列が引数2で指定した文字列で開始するかどうかを返します。 | XQuery | |
fn:string-length | 文字列の長さ(文字数)を返します。 | XQuery | |
fn:substring | 文字列の部分文字列を返します。 | XQuery | |
fn:substring-after | 引数1で指定した文字列中の,引数2で指定した文字列が最初に出現する位置より後の部分文字列を返します。 | XQuery | |
fn:substring-before | 引数1で指定した文字列中の,引数2で指定した文字列が最初に出現する位置より前の部分文字列を返します。 | XQuery | |
fn:translate | 引数1で指定した文字列中の引数2で指定した文字を,引数3で指定した文字に置換した結果を返します。 | XQuery | |
数学関数 | fn:abs | 数値データ型の値の絶対値を返します。 | XQuery |
fn:ceiling | 引数の値以上の,最小の整数値を返します。 | XQuery | |
fn:floor | 引数の値以下の,最大の整数値を返します。 | XQuery | |
fn:round | 引数の値に最も近い整数値を返します。 | XQuery | |
日時抽出関数 | fn:year-from-dateTime | 時刻印から年の部分だけを抽出して返します。 | XQuery |
fn:month-from-dateTime | 時刻印から月の部分だけを抽出して返します。 | XQuery | |
fn:day-from-dateTime | 時刻印から日の部分だけを抽出して返します。 | XQuery | |
fn:hours-from-dateTime | 時刻印から時間の部分だけを抽出して返します。 | XQuery | |
fn:minutes-from-dateTime | 時刻印から分の部分だけを抽出して返します。 | XQuery | |
fn:seconds-from-dateTime | 時刻印から秒の部分だけを抽出して返します。 | XQuery | |
fn:year-from-date | 日付から年の部分だけを抽出して返します。 | XQuery | |
fn:month-from-date | 日付から月の部分だけを抽出して返します。 | XQuery | |
fn:day-from-date | 日付から日の部分だけを抽出して返します。 | XQuery | |
fn:hours-from-time | 時刻から時間の部分だけを抽出して返します。 | XQuery | |
fn:minutes-from-time | 時刻から分の部分だけを抽出して返します。 | XQuery | |
fn:seconds-from-time | 時刻から秒の部分だけを抽出して返します。 | XQuery | |
ブーリアン関数 | fn:false | 偽を返します。 | XQuery |
fn:not | 引数をxs:boolean型の値に変換し,その値を否定した値を返します。 | XQuery | |
fn:true | 真を返します。 | XQuery | |
XQueryシーケンス集約関数 | fn:count | XQueryシーケンス中のXQuery項目数を返します。 | XQuery |
fn:distinct-values | XQueryシーケンスから重複する基本単位値を取り除いたXQueryシーケンスを返します。 | XQuery | |
fn:max | XQueryシーケンスを構成する基本単位値の最大値を返します。 | XQuery | |
fn:min | XQueryシーケンスを構成する基本単位値の最小値を返します。 | XQuery | |
fn:sum | XQueryシーケンスを構成する基本単位値の合計を返します。 | XQuery | |
XQueryシーケンス操作関数 | fn:deep-equal | 二つのXQueryシーケンスが深等であるかを判別します。 | XQuery |
fn:index-of | 指定したXQueryシーケンス中に,指定した基本単位値と一致するXQuery項目が現れる位置を返します。 | XQuery | |
fn:insert-before | XQueryシーケンスの指定した位置の前に,別のXQueryシーケンス中のXQuery項目を挿入した結果を返します。 | XQuery | |
fn:remove | XQueryシーケンスから指定した位置のXQuery項目を削除した結果を返します。 | XQuery | |
fn:reverse | XQueryシーケンス中のXQuery項目を逆順に並べ替えたXQueryシーケンスを返します。 | XQuery | |
fn:subsequence | XQueryシーケンスの部分XQueryシーケンスを返却します。 | XQuery | |
文脈項目関数 | fn:last | 文脈サイズを返します。 | XQuery |
fn:position | 文脈位置を返します。 | XQuery | |
ノード関数 | fn:local-name | ノードの局所名を返します。 | XQuery |
fn:name | ノードの修飾名を返します。 | XQuery | |
fn:namespace-uri | ノードの修飾名のXML名前空間URIを返します。 | XQuery |
数値データ型の値の絶対値を返します。
fn:abs ( 引数 ) |
表1-101 fn:abs関数のパラメタ
項番 | 対応する引数 | パラメタ | XQueryデータ型 | 説明 |
---|---|---|---|---|
1 | 引数 | num | 数値データ型 (空のXQueryシーケンスを含む) |
入力となる数値 |
表1-102 fn:abs関数の結果のXQueryデータ型
項番 | パラメタnumの値の XQueryデータ型 |
結果のXQueryデータ型 |
---|---|---|
1 | xs:double | xs:double |
2 | xs:decimal | xs:decimal |
3 | xs:int | xs:int |
関数呼出しの指定と,結果の例を次に示します。
項番 | 関数呼出し | 結果(括弧内はXQueryデータ型) | 説明 |
---|---|---|---|
1 | fn:abs(10.5) | 10.5 (xs:decimal) | 10.5の絶対値は10.5であるため,その値を返します。 |
2 | fn:abs(-10.5) | 10.5 (xs:decimal) | -10.5の絶対値は10.5であるため,その値を返します。 |
XQueryシーケンスをxs:boolean型の値として評価した結果を返します。
fn:boolean ( 引数 ) |
表1-103 fn:boolean関数のパラメタ
項番 | 対応する引数 | パラメタ | XQueryデータ型 | 説明 |
---|---|---|---|---|
1 | 引数 | seq | 0個以上の任意のXQuery項目を持つXQueryシーケンス | 入力となるXQueryシーケンス |
表1-104 fn:boolean関数の結果
項番 | パラメタseqの値 | 結果(xs:boolean型) |
---|---|---|
1 | 空のXQueryシーケンス | 偽 |
2 | 最初のXQuery項目がノードであるXQueryシーケンス | 真 |
3 | xs:boolean型の基本単位値一つから構成されるXQueryシーケンス | 引数のXQueryシーケンスの基本単位値 |
4 | xs:string型又はxs:untypedAtomic型の基本単位値一つから構成されるXQueryシーケンス | 引数のXQueryシーケンスの基本単位値の長さが0ならば偽,そうでなければ真 |
5 | 数値データ型の基本単位値一つから構成されるXQueryシーケンス | 引数のXQueryシーケンスの基本単位値がNaN(非数)又は0ならば偽,そうでなければ真 |
6 | 上記以外 | エラー |
XQuery変数bookが,次に示す要素を表したノードを示している場合の関数呼出しの指定と,結果の例を次に示します。
<XQuery変数bookが表す要素>
<書籍情報 書籍ID="452469630"> <タイトル>リレーショナルデータベース解説</タイトル> <著者>伊藤栄一</著者> <著者>木村幸一</著者> </書籍情報> |
<関数呼出し指定例と結果>
項番 | 関数呼出し | 結果 (xs:boolean型) |
説明 |
---|---|---|---|
1 | $book/fn:boolean(著者[text() = "佐藤優"]) | 偽 | パラメタseqの値が空のXQueryシーケンスになるため,偽を返します。 |
2 | fn:boolean($book) | 真 | パラメタseqの値が「書籍情報」要素ノード一つから構成されるXQueryシーケンスになるため,真を返します。 |
3 | $book/fn:boolean(@書籍ID = 452469630) | 真 | パラメタseqの値がxs:boolean型の値一つから構成されるXQueryシーケンスになるため,真を返します。 |
4 | $book/fn:boolean(タイトル/fn:string(text())) | 真 | パラメタseqの値が長さ1以上のxs:string型の値一つから構成されるXQueryシーケンスになるため,真を返します。 |
5 | $book/fn:boolean(@書籍ID) | 真 | パラメタseqの値が数値データ一つから構成されるXQueryシーケンスになるため,真を返します。 |
6 | $book/fn:boolean(著者/fn:string(text())) | エラー | パラメタseqの値がxs:string型の値二つから構成されるXQueryシーケンスになるため,エラーになります。 |
引数の値以上の,最小の整数値を返します。
fn:ceiling ( 引数 ) |
表1-105 fn:ceiling関数のパラメタ
項番 | 対応する引数 | パラメタ | XQueryデータ型 | 説明 |
---|---|---|---|---|
1 | 引数 | num | 数値データ型 (空のXQueryシーケンスを含む) |
入力となる数値 |
表1-106 fn:ceiling関数の結果のXQueryデータ型
項番 | パラメタnumの値のXQueryデータ型 | 結果のXQueryデータ型 |
---|---|---|
1 | xs:double | xs:double |
2 | xs:decimal | xs:decimal |
3 | xs:int | xs:int |
表1-107 fn:ceiling関数の結果が特殊な値になる場合
項番 | パラメタnumの値 | 結果の値 |
---|---|---|
1 | 正の0 | 正の0 |
2 | 負の0 | 負の0 |
3 | -1より大きいかつ0未満 | 負の0 |
4 | 正の無限大 | 正の無限大 |
5 | 負の無限大 | 負の無限大 |
6 | NaN(非数) | NaN(非数) |
関数呼出しの指定と,結果の例を次に示します。
項番 | 関数呼出し | 結果(括弧内はXQueryデータ型) | 説明 |
---|---|---|---|
1 | fn:ceiling(10.5) | 11. (xs:decimal) | 10.5以上の最小の整数値である11を返します。 |
2 | fn:ceiling(-10.5) | -10. (xs:decimal) | -10.5以上の最小の整数値である-10を返します。 |
二つの文字列を比較した結果を返します。
fn:compare ( 引数1 , 引数2 ) |
表1-108 fn:compare関数のパラメタ
項番 | 対応する引数 | パラメタ | XQueryデータ型 | 説明 |
---|---|---|---|---|
1 | 引数1 | str1 | xs:string型 (空のXQueryシーケンスを含む) |
比較する文字列 |
2 | 引数2 | str2 | xs:string型 (空のXQueryシーケンスを含む) |
比較する文字列 |
表1-109 fn:compare関数の結果
項番 | パラメタstr1とstr2の値の関係 | 結果(xs:int型) |
---|---|---|
1 | パラメタstr1の値がパラメタstr2の値未満(str1 lt str2 が真になる) | -1 |
2 | パラメタstr1の値がパラメタstr2の値と等しい(str1 eq str2 が真になる) | 0 |
3 | パラメタstr1の値がパラメタstr2の値より大きい(str1 gt str2 が真になる) | 1 |
関数呼出しの指定と,結果の例を次に示します。
項番 | 関数呼出し | 結果 (xs:int型) |
説明 |
---|---|---|---|
1 | fn:compare("abcde", "abcdef") | -1 | "abcde"は"abcdef"未満であるため,-1を返します。 |
2 | fn:compare("abcde", "abcde") | 0 | パラメタstr1及びstr2の値が両方とも"abcde"であるため,0を返します。 |
3 | fn:compare("abcde", "abade") | 1 | "abcde"は"abade"より大きいため,1を返します。 |
二つ以上の基本単位値をxs:string型の値に変換して連結した値を返します。
fn:concat ( 引数 , 引数 〔, 引数〕… ) |
表1-110 fn:concat関数のパラメタ
項番 | 対応する引数 | パラメタ | XQueryデータ型 | 説明 |
---|---|---|---|---|
1 | 引数 | val | 任意の基本単位型 (空のXQueryシーケンスを含む) |
連結する基本単位値 |
関数呼出しの指定と,結果の例を次に示します。
項番 | 関数呼出し | 結果 (xs:string型) |
説明 |
---|---|---|---|
1 | fn:concat("abc","defg") | "abcdefg" | "abc"と"defg"を連結した文字列"abcdefg"を返します。 |
2 | fn:concat("hijk", (), "lmn") | "hijklmn" | 空のXQueryシーケンスは長さ0の文字列として扱うため,"hijk","","lmn"を連結した文字列"hijklmn"を返します。 |
3 | fn:concat((),(),()) | 空のXQueryシーケンス | すべてのパラメタの値が空のXQueryシーケンスであるため,空のXQueryシーケンスを返します。 |
引数1で指定した文字列中に引数2で指定した文字列が含まれているかどうかを返します。
fn:contains ( 引数1, 引数2 ) |
表1-111 fn:contains関数のパラメタ
項番 | 対応する引数 | パラメタ | XQueryデータ型 | 説明 |
---|---|---|---|---|
1 | 引数1 | str1 | xs:string型 (空のXQueryシーケンスを含む) |
部分文字列を検索する文字列 |
2 | 引数2 | str2 | xs:string型 (空のXQueryシーケンスを含む) |
パラメタstr1の文字列中を検索する部分文字列 |
関数呼出しの指定と,結果の例を次の表に示します。
項番 | 関数呼出し | 結果 (xs:boolean型) |
説明 |
---|---|---|---|
1 | fn:contains("abcdefg", "cde") | 真 | "abcdefg"に"cde"が含まれているため,真を返します。 |
2 | fn:contains("abcdefg", "cdf") | 偽 | "abcdefg"に"cdf"は含まれていないため,偽を返します。 |
3 | fn:contains((), "") | 真 | パラメタstr2の値が長さ0の文字列であるため,真を返します。 |
4 | fn:contains((), "a") | 偽 | パラメタstr1の値が空のXQueryシーケンスで,パラメタstr2の値が長さ1以上の文字列であるため,偽を返します。 |
5 | fn:contains("abcdefg", ()) | 真 | パラメタstr2の値が空のXQueryシーケンスであるため,真を返します。 |
引数1で指定したノードの文字列値が,引数2で指定した全文検索のテキスト検索条件を満たすかどうかを返します。
hi-fn:contains ( 引数1, 引数2 ) |
表1-112 hi-fn:contains関数のパラメタ
項番 | 対応する引数 | パラメタ | XQueryデータ型 | 説明 |
---|---|---|---|---|
1 | 引数1 | seq | 0個以上のノードを持つXQueryシーケンス | 検索対象のノード |
2 | 引数2 | str | xs:string型 | 全文検索のテキスト検索条件の文字列 |
表1-113 テキスト検索条件に指定できる検索条件
項番 | 検索条件 | 概要 | 指定例 |
---|---|---|---|
1 | 単純文字列条件 | 次に示すワイルドカード,又は特殊文字を含む検索文字列に一致する文字列を検索します。
|
|
2 | 除外文字検索条件 | 単純文字列条件から,検索文字列の途中又は前後に特定の文字がある場合を除外して検索します。除外する文字の前に「^」を指定します。 |
|
3 | NOT条件 | 検索文字列を含まない文字列を検索できます。 |
|
4 | AND/OR条件 | 検索条件をAND又はORで連結し,複数個指定できます。 |
|
5 | 近傍条件 | 二つの検索条件に一致する文字列間の文字数(距離)の条件を指定します。 |
|
6 | 同義語展開条件 | 同義語辞書の定義に基づいて,検索文字列の同義語が自動的に展開されます。同義語辞書の作成及び登録方法については,マニュアル「HiRDB XML Extension Version 8」を参照してください。 |
|
7 | 異表記展開条件 | ルールに基づいて,検索文字列の異表記が自動的に展開されます。 |
|
次に示すXML文書を表す値を格納している列(XML型全文検索インデクスを定義している)をXML問合せ文脈項目に指定している場合の関数呼出しの指定と,結果の例を次に示します。
<XML問合せ文脈項目に指定した列に格納されている値が表すXML文書>
<書籍情報 書籍ID=”452469630”> <カテゴリ>データベース</カテゴリ> <タイトル>リレーショナルデータベース解説</タイトル> <著者>伊藤栄一</著者> <著者>木村幸一</著者> <説明>リレーショナルモデルの概念から,それに基づくRDBMS(Relational Database Management System)の仕組みを解説している。</説明> </書籍情報> |
<関数呼出し指定例と結果>
項番 | 関数呼出し | 結果(xs:boolean型) | 説明 |
---|---|---|---|
1 | /書籍情報/タイトル[ hi-fn:contains(text(), "SYNONYM(USR01, "DB")")] |
真 | 同義語辞書USR01に"データベース"と"DB"が同義語として登録されている場合です。パラメタseqの値中に"DB"の同義語である"データベース"を含むノードがあるため,真を返します。 |
2 | /書籍情報/説明[ hi-fn:contains(text(), "SOUNDEX_EXP("DATABASE", "AE") AND "解説"")] |
真 | パラメタseqの値中に"DATABASE"のアルファベット異表記である"Database"を含み,かつ"解説"を含むノードがあるため,真を返します。 |
3 | /書籍情報/著者[ hi-fn:contains(text(), ""佐藤"")] |
偽 | パラメタseqの値中に"佐藤"を含むノードが一つもないため,偽を返します。 |
4 | /書籍情報/目次[ hi-fn:contains(text(), "SYNONYM(USR01, "DB")")] |
偽 | パラメタseqが空のXQueryシーケンスであるため,偽を返します。 |
XQueryシーケンス中のXQuery項目数を返します。
fn:count ( 引数 ) |
表1-114 fn:count関数のパラメタ
項番 | 対応する引数 | パラメタ | XQueryデータ型 | 説明 |
---|---|---|---|---|
1 | 引数 | seq | 0個以上の任意のXQuery項目を持つXQueryシーケンス | 入力となるXQueryシーケンス |
XQuery変数bookが次に示す要素を表したノードを示している場合の関数呼出しの指定と,結果の例を次に示します。
<XQuery変数bookが表す要素>
<書籍情報 書籍ID="452469630"> <タイトル>リレーショナルデータベース解説</タイトル> <著者>伊藤栄一</著者> <著者>木村幸一</著者> </書籍情報> |
<関数呼出し指定例と結果>
項番 | 関数呼出し | 結果(xs:int型) | 説明 |
---|---|---|---|
1 | fn:count($book) | 1 | パラメタseqの値は「書籍情報」要素ノード一つから構成されるXQueryシーケンスになるため,1を返します。 |
2 | fn:count($book/著者) | 2 | パラメタseqの値は「書籍情報」要素ノードの子である「著者」要素ノード二つから構成されるXQueryシーケンスになるため,2を返します。 |
3 | fn:count($book/著者[.="佐藤優"]) | 0 | パラメタseqの値は空のXQueryシーケンスになるため,0を返します。 |
XQueryシーケンスを基本単位化し,基本単位値から成るXQueryシーケンスを返します。
fn:data ( 引数 ) |
表1-115 fn:data関数のパラメタ
項番 | 対応する引数 | パラメタ | XQueryデータ型 | 説明 |
---|---|---|---|---|
1 | 引数 | seq | 0個以上の任意のXQuery項目を持つXQueryシーケンス | 入力となるXQueryシーケンス |
表1-116 XQuery項目がノードである場合,得られる結果
項番 | ノード種別 | 結果 |
---|---|---|
1 | 文書ノード | 型付き値プロパティの値 |
2 | 要素ノード | 型付き値プロパティの値 |
3 | 属性ノード | 型付き値プロパティの値 |
4 | 処理命令ノード | 空のXQueryシーケンス |
5 | コメントノード | 空のXQueryシーケンス |
6 | テキストノード | 内容プロパティの値をxs:untypedAtomic型に変換した値 |
XQuery変数bookが次に示す要素を表したノードを示している場合の関数呼出しの指定と,結果の例を次に示します。
<XQuery変数bookが表す要素>
<書籍情報 書籍ID="452469630"> <タイトル>リレーショナルデータベース解説</タイトル> <著者>伊藤栄一</著者> <著者>木村幸一</著者> </書籍情報> |
<関数呼出し指定例と結果>
項番 | 関数呼出し | 結果 | 説明 |
---|---|---|---|
1 | fn:data($book/価格) | 空のXQueryシーケンス | パラメタseqの値が空のXQueryシーケンスになるため,空のXQueryシーケンスを返します。 |
2 | fn:data($book/著者) | ("伊藤栄一","木村幸一") | パラメタseqの値が「著者」要素ノード二つから構成されるXQueryシーケンスになるため,それらの型付き値プロパティの値二つから成るXQueryシーケンスを返します。 |
日付から日の部分だけを抽出して返します。
fn:day-from-date ( 引数 ) |
表1-117 fn:day-from-date関数のパラメタ
項番 | 対応する引数 | パラメタ | XQueryデータ型 | 説明 |
---|---|---|---|---|
1 | 引数 | dat | xs:date型 (空のXQueryシーケンスを含む) |
抽出元の日付 |
関数呼出しの指定と,結果の例を次に示します。
項番 | 関数呼出し | 結果(xs:int型) | 説明 |
---|---|---|---|
1 | fn:day-from-date (xs:date("2006-09-26")) | 26 | パラメタdatの値の日の部分である26を返します。 |
時刻印から日の部分だけを抽出して返します。
fn:day-from-dateTime ( 引数 ) |
表1-118 fn:day-from-dateTime関数のパラメタ
項番 | 対応する引数 | パラメタ | XQueryデータ型 | 説明 |
---|---|---|---|---|
1 | 引数 | dtm | xs:dateTime型 (空のXQueryシーケンスを含む) | 抽出元の時刻印 |
関数呼出しの指定と,結果の例を次に示します。
項番 | 関数呼出し | 結果(xs:int型) | 説明 |
---|---|---|---|
1 | fn:day-from-dateTime(xs:dateTime("2006-09-26T18:44:58.153")) | 26 | パラメタdtmの値の日の部分である26を返します。 |
二つのXQueryシーケンスが深等(同じ構造と同じ値を持っている)かどうかを判別します。
fn:deep-equal ( 引数1, 引数2 ) |
表1-119 fn:deep-equal関数のパラメタ
項番 | 対応する引数 | パラメタ | XQueryデータ型 | 説明 |
---|---|---|---|---|
1 | 引数1 | seq1 | 0個以上の任意のXQuery項目を持つXQueryシーケンス | 比較するXQueryシーケンス |
2 | 引数2 | seq2 | 0個以上の任意のXQuery項目を持つXQueryシーケンス | 比較するXQueryシーケンス |
表1-120 XQuery項目の深等の規則
項番 | item1の種類 | item2の種類 | 規則 |
---|---|---|---|
1 | 基本単位値 | 基本単位値 | 次に示すすべての条件を満たす場合だけ真となります。
|
2 | 上記以外 | 偽となります。 | |
3 | 文書ノード | 文書ノード | item1の子である要素ノード及びテキストノードのXQueryシーケンスと,item2の子である要素ノード及びテキストノードのXQueryシーケンスに対するfn:deep-equal関数が真となる場合だけ真となります。 |
4 | 上記以外 | 偽となります。 | |
5 | 要素ノード | 要素ノード | 次に示すすべての条件を満たす場合だけ真となります。
|
6 | 上記以外 | 偽となります。 | |
7 | 属性ノード | 属性ノード | 次に示すすべての条件を満たす場合だけ真となります。
|
8 | 上記以外 | 偽となります。 | |
9 | 処理命令ノード | 処理命令ノード | 次に示すすべての条件を満たす場合だけ真となります。
|
10 | 上記以外 | 偽となります。 | |
11 | テキストノード | テキストノード | 二つのテキストノードの文字列値が深等である場合だけ真となります。 |
12 | 上記以外 | 偽となります。 | |
13 | コメントノード | コメントノード | 二つのコメントノードの文字列値が深等である場合だけ真となります。 |
14 | 上記以外 | 偽となります。 |
XQuery変数booksが次に示す要素を表したノードを示している場合の,関数呼出しの指定と,結果の例を次に示します。
<XQuery変数booksが表す要素>
<書籍一覧> <書籍情報 書籍ID="452469630"> <タイトル>リレーショナルデータベース解説</タイトル> <著者>木村幸一</著者> <著者>伊藤栄一</著者> </書籍情報> <書籍情報 書籍ID="45241350"> <タイトル>続・リレーショナルデータベース解説</タイトル> <著者>木村幸一</著者> <著者>伊藤栄一</著者> </書籍情報> </書籍一覧> |
<関数呼出し指定例と結果>
項番 | 関数呼出し | 結果 (xs:boolean型) |
説明 |
---|---|---|---|
1 | fn:deep-equal( $books/書籍情報[1]/タイトル, "リレーショナルデータベース解説") |
偽 | パラメタseq1は要素ノード一つのXQueryシーケンスであり,パラメタseq2は基本単位値一つのXQueryシーケンスであるため,偽となります。 |
2 | fn:deep-equal($books/書籍情報[1], $books/書籍情報[2]) |
偽 | パラメタseq1とパラメタseq2は,両方とも「書籍情報」要素ノード一つのXQueryシーケンスですが,「書籍ID」属性ノードが深等でないため,又は子要素の「タイトル」要素が深等でないため,偽となります。 |
3 | fn:deep-equal($books/書籍情報[1]/著者, $books/書籍情報[2]/著者) |
真 | パラメタseq1とパラメタseq2は,両方とも「著者」要素ノード二つのXQueryシーケンスであり,かつそれぞれの「著者」要素ノードが深等であるため,真となります。 |
XQueryシーケンスから重複する基本単位値を取り除いたXQueryシーケンスを返します。
fn:distinct-values ( 引数 ) |
表1-121 fn:distinct-values関数のパラメタ
項番 | 対応する引数 | パラメタ | XQueryデータ型 | 説明 |
---|---|---|---|---|
1 | 引数 | seq | 0個以上の任意の基本単位型の値を持つXQueryシーケンス | 入力となるXQueryシーケンス |
関数呼出しの指定と,結果の例を次に示します。
項番 | 関数呼出し | 結果 | 説明 |
---|---|---|---|
1 | fn:distinct-values(("a", 1, "A", 0, 1)) | ("a", 1, "A", 0) 順序は異なる場合があります。 |
パラメタseqの値であるXQueryシーケンス中に1が重複しているため,重複を排除します。 |
引数1で指定した文字列が引数2で指定した文字列で終了するかどうかを返します。
fn:ends-with ( 引数1, 引数2 ) |
表1-122 fn:ends-with関数のパラメタ
項番 | 対応する引数 | パラメタ | XQueryデータ型 | 説明 |
---|---|---|---|---|
1 | 引数1 | str1 | xs:string型 (空のXQueryシーケンスを含む) |
部分文字列で終了するか検査する文字列 |
2 | 引数2 | str2 | xs:string型 (空のXQueryシーケンスを含む) |
パラメタstr1の文字列の最後にあるか検査する部分文字列 |
関数呼出しの指定と,結果の例を次に示します。
項番 | 関数呼出し | 結果(xs:boolean型) | 説明 |
---|---|---|---|
1 | fn:ends-with("abcdefg", "efg") | 真 | "abcdefg"は"efg"で終了しているため,真を返します。 |
2 | fn:ends-with("abcdefg", "abc") | 偽 | "abcdefg"は"abc"で終了していないため,偽を返します。 |
3 | fn:ends-with((), "") | 真 | パラメタstr2の値が長さ0の文字列であるため,真を返します。 |
4 | fn:ends-with((), "a") | 偽 | パラメタstr1の値が空のXQueryシーケンスあり,パラメタstr2の値が長さ1以上の文字列であるため,偽を返します。 |
5 | fn:ends-with("abcdefg", ()) | 真 | パラメタstr2の値が空のXQueryシーケンスであるため,真を返します。 |
引数の値以下の,最大の整数値を返します。
fn:floor ( 引数 ) |
表1-123 fn:floor関数のパラメタ
項番 | 対応する引数 | パラメタ | XQueryデータ型 | 説明 |
---|---|---|---|---|
1 | 引数 | num | 数値データ型 (空のXQueryシーケンスを含む) |
入力となる数値 |
表1-124 fn:floor関数の結果のXQueryデータ型
項番 | パラメタnumの値のXQueryデータ型 | 結果のXQueryデータ型 |
---|---|---|
1 | xs:double | xs:double |
2 | xs:decimal | xs:decimal |
3 | xs:int | xs:int |
表1-125 fn:floor関数の結果が特殊な値になる場合
項番 | パラメタnumの値 | 結果の値 |
---|---|---|
1 | 正の0 | 正の0 |
2 | 負の0 | 負の0 |
3 | 正の無限大 | 正の無限大 |
4 | 負の無限大 | 負の無限大 |
5 | NaN(非数) | NaN(非数) |
関数呼出しの指定と,結果の例を次の表に示します。
項番 | 関数呼出し | 結果(括弧内はXQueryデータ型) | 説明 |
---|---|---|---|
1 | fn:floor(10.5) | 10. (xs:decimal) | 10.5以下の最大の整数値である10を返します。 |
2 | fn:floor(-10.5) | -11. (xs:decimal) | -10.5以下の最大の整数値である-11を返します。 |
時刻印から時の部分だけを抽出して返します。
fn:hours-from-dateTime ( 引数 ) |
表1-126 fn:hours-from-dateTime関数のパラメタ
項番 | 対応する引数 | パラメタ | XQueryデータ型 | 説明 |
---|---|---|---|---|
1 | 引数 | dtm | xs:dateTime型 (空のXQueryシーケンスを含む) |
抽出元の時刻印 |
関数呼出しの指定と,結果の例を次に示します。
項番 | 関数呼出し | 結果(xs:int型) | 説明 |
---|---|---|---|
1 | fn:hours-from-dateTime(xs:dateTime("2006-09-26T18:44:58.153")) | 18 | パラメタdtmの値の時の部分である18を返します。 |
時刻から時の部分だけを抽出して返します。
fn:hours-from-time ( 引数 ) |
表1-127 fn:hours-from-time関数のパラメタ
項番 | 対応する引数 | パラメタ | XQueryデータ型 | 説明 |
---|---|---|---|---|
1 | 引数 | tim | xs:time型 (空のXQueryシーケンスを含む) |
抽出元の時刻 |
関数呼出しの指定と,結果の例を次に示します。
項番 | 関数呼出し | 結果(xs:int型) | 説明 |
---|---|---|---|
1 | fn:hours-from-time(xs:time("18:44:58")) | 18 | パラメタdat値の時の部分である18を返します。 |
指定したXQueryシーケンス中に,指定した基本単位値と一致するXQuery項目が現れる位置を返します。
fn:index-of ( 引数1 , 引数2 ) |
表1-128 fn:index-of関数のパラメタ
項番 | 対応する引数 | パラメタ | XQueryデータ型 | 説明 |
---|---|---|---|---|
1 | 引数1 | seq | 0個以上の任意の基本単位型の値を持つXQueryシーケンス | 検索対象のXQueryシーケンス |
2 | 引数2 | val | 任意の基本単位型 | 検索する基本単位値 |
関数呼出しの指定と,結果の例を次に示します。
項番 | 関数呼出し | 結果 | 説明 |
---|---|---|---|
1 | fn:index-of((10, 20, 30, 40), 35) | 空のXQueryシーケンス | パラメタseqのXQueryシーケンス中に一致するXQuery項目がないので,空のXQueryシーケンスを返します。 |
2 | fn:index-of((10, 20, 30, 40), 30) | (3) | パラメタseqのXQueryシーケンス中の3番目のXQuery項目が一致するので,xs:int型の値3から成るXQueryシーケンスを返します。 |
3 | fn:index-of((10, 20, 30, 40,30,50), 30) | (3,5) | パラメタseqのXQueryシーケンス中の3番目と5番目のXQuery項目が一致するので,xs:int型の値3と5から成るXQueryシーケンスを返します。 |
XQueryシーケンスの指定した位置の前に,別のXQueryシーケンス中のXQuery項目を挿入した結果を返します。
fn:insert-before ( 引数1 , 引数2 , 引数3 ) |
表1-129 fn:insert-before関数のパラメタ
項番 | 対応する引数 | パラメタ | XQueryデータ型 | 説明 |
---|---|---|---|---|
1 | 引数1 | seq1 | 0個以上の任意のXQuery項目を持つXQueryシーケンス | 挿入されるXQueryシーケンス |
2 | 引数2 | pos | xs:int | 挿入位置 |
3 | 引数3 | seq2 | 0個以上の任意のXQuery項目を持つXQueryシーケンス | 挿入するXQuery項目が含まれるXQueryシーケンス |
関数呼出しの指定と,結果の例を次に示します。
項番 | 関数呼出し | 結果 | 説明 |
---|---|---|---|
1 | fn:insert-before(("a", "b", "c"), 0, "z") | ("z", "a", "b", "c") | パラメタposの値が0であるため,先頭に"z"を挿入します。 |
2 | fn:insert-before(("a", "b", "c"), 1, "z") | ("z", "a", "b", "c") | パラメタposの値が1であるため,先頭に"z"を挿入します。 |
3 | fn:insert-before(("a", "b", "c"), 3, "z") | ("a", "b", "z", "c") | パラメタposの値が3であるため,三つ目のXQuery項目"c"の前に"z"を挿入します。 |
4 | fn:insert-before(("a", "b", "c"), 4, "z") | ("a", "b", "c", "z") | パラメタposの値が4であるため,最後に"z"を挿入します。 |
文脈サイズを返します。
fn:last ( ) |
関数呼出しの指定と,結果の例を次に示します。
項番 | 関数呼出し | 結果 | 説明 |
---|---|---|---|
1 | ("a", "b", "c")[ fn:last() ] | "c" (xs:string) ※fn:last関数の結果は3 |
文脈項目の数は3であるため,fn:last関数は3を返します。よって,3番目の文脈項目である"c"が結果になります。 |
ノードの局所名を返します。
fn:local-name ( 〔 引数 〕 ) |
表1-130 fn:local-name関数のパラメタ
項番 | 対応する引数 | パラメタ | XQueryデータ型 | 説明 |
---|---|---|---|---|
1 | 引数 | node | 任意のノード (空のXQueryシーケンスを含む) |
局所名を取得するノード |
XQuery変数bookが次に示す要素を表したノードを示している場合の関数呼出しの指定と,結果の例を次に示します。
<XQuery変数bookが表す要素>
<bookinfo:書籍情報 書籍ID="452469630"> <タイトル>リレーショナルデータベース解説</タイトル> <著者>伊藤栄一</著者> <著者>木村幸一</著者> </bookinfo:書籍情報> |
<関数呼出し指定例と結果>
項番 | 関数呼出し | 結果(xs:string型) | 説明 |
---|---|---|---|
1 | $book/fn:local-name() | "書籍情報" | 引数を指定していないため,文脈項目である「bookinfo:書籍情報」要素ノードの局所名を返します。 |
2 | $book/fn:local-name(./タイトル) | "タイトル" | パラメタnodeの値が「タイトル」要素ノードであるため,その局所名を返します。 |
3 | $book/タイトル/fn:local-name(./text()) | "" (長さ0の文字列) | パラメタnodeの値がテキストノードであるため,長さ0の文字列を返します。 |
XQueryシーケンスを構成する基本単位値の最大値を返します。
fn:max ( 引数 ) |
表1-131 fn:max関数のパラメタ
項番 | 対応する引数 | パラメタ | XQueryデータ型 | 説明 |
---|---|---|---|---|
1 | 引数 | seq | 0個以上の任意の基本単位型の値を持つXQueryシーケンス | 入力となるXQueryシーケンス |
表1-132 fn:max関数の結果のXQueryデータ型
項番 | パラメタseqの値であるXQueryシーケンス中の値のXQueryデータ型 | 結果のXQueryデータ型 | ||
---|---|---|---|---|
xs:double | xs:decimal | xs:int | ||
1 | ○ | − | − | xs:double |
2 | × | ○ | − | xs:decimal |
3 | × | × | − | xs:int |
関数呼出しの指定と,結果の例を次に示します。
項番 | 関数呼出し | 結果(括弧内はXQueryデータ型) | 説明 |
---|---|---|---|
1 | fn:max((3,4.0,5)) | 5. (xs:decimal) | 3,4.0,5の中での最大値である5をxs:decimal型の値として返します。 |
2 | fn:max(()) | 空のXQueryシーケンス | パラメタseqの値が空のXQueryシーケンスであるため,空のXQueryシーケンスを返します。 |
3 | fn:max((1.0E2, 2.0E-3, 100)) | 1.0E2 (xs:double) | 1.0E2,2.0E-3,100の中での最大値である1.0E2をxs:double型の値として返します。 |
XQueryシーケンスを構成する基本単位値の最小値を返します。
fn:min ( 引数 ) |
表1-133 fn:min関数のパラメタ
項番 | 対応する引数 | パラメタ | XQueryデータ型 | 説明 |
---|---|---|---|---|
1 | 引数 | seq | 0個以上の任意の基本単位型の値を持つXQueryシーケンス | 入力となるXQueryシーケンス |
表1-134 fn:min関数の結果のXQueryデータ型
項番 | パラメタseqの値であるXQueryシーケンス中の 値のXQueryデータ型 |
結果のXQueryデータ型 | ||
---|---|---|---|---|
xs:double | xs:decimal | xs:int | ||
1 | ○ | − | − | xs:double |
2 | × | ○ | − | xs:decimal |
3 | × | − | xs:int |
関数呼出しの指定と,結果の例を次に示します。
項番 | 関数呼出し | 結果(括弧内はXQueryデータ型) | 説明 |
---|---|---|---|
1 | fn:min((3,4.0,5)) | 3. (xs:decimal) | 3,4.0,5の中での最小値である3をxs:decimal型の値として返します。 |
2 | fn:min(()) | 空のXQueryシーケンス | パラメタseqの値が空のXQueryシーケンスであるため,空のXQueryシーケンスを返します。 |
3 | fn:min((1.0E2, 2.0E3, 100)) | 1.0E2 (xs:double) | 1.0E2,2.0E3,100の中での最小値である1.0E2をxs:double型の値として返します。 |
時刻印から分の部分だけを抽出して返します。
fn:minutes-from-dateTime ( 引数 ) |
表1-135 fn:minutes-from-dateTime関数のパラメタ
項番 | 対応する引数 | パラメタ | XQueryデータ型 | 説明 |
---|---|---|---|---|
1 | 引数 | dtm | xs:dateTime型 (空のXQueryシーケンスを含む) |
抽出元の時刻印 |
関数呼出しの指定と,結果の例を次に示します。
項番 | 関数呼出し | 結果(xs:int型) | 説明 |
---|---|---|---|
1 | fn:minutes-from-dateTime(xs:dateTime("2006-09-26T18:44:58.153")) | 44 | パラメタdtmの値の分の部分である44を返します。 |
時刻から分の部分だけを抽出して返します。
fn:minutes-from-time ( 引数 ) |
表1-136 fn:minutes-from-time関数のパラメタ
項番 | 対応する引数 | パラメタ | XQueryデータ型 | 説明 |
---|---|---|---|---|
1 | 引数 | tim | xs:time型 (空のXQueryシーケンスを含む) |
抽出元の時刻 |
関数呼出しの指定と,結果の例を次に示します。
項番 | 関数呼出し | 結果(xs:int型) | 説明 |
---|---|---|---|
1 | fn:minutes-from-time(xs:time("18:44:58")) | 44 | パラメタtimの値の分の部分である44を返します。 |
日付から月の部分だけを抽出して返します。
fn:month-from-date ( 引数 ) |
表1-137 fn:month-from-date関数のパラメタ
項番 | 対応する引数 | パラメタ | XQueryデータ型 | 説明 |
---|---|---|---|---|
1 | 引数 | dat | xs:date型 (空のXQueryシーケンスを含む) |
抽出元の日付 |
関数呼出しの指定と,結果の例を次に示します。
項番 | 関数呼出し | 結果(xs:int型) | 説明 |
---|---|---|---|
1 | fn:month-from-date(xs:date("2006-09-26")) | 9 | パラメタdatの値の月の部分である9を返します。 |
時刻印から月の部分だけを抽出して返します。
fn:month-from-dateTime ( 引数 ) |
表1-138 fn:month-from-dateTime関数のパラメタ
項番 | 対応する引数 | パラメタ | XQueryデータ型 | 説明 |
---|---|---|---|---|
1 | 引数 | dtm | xs:dateTime型 (空のXQueryシーケンスを含む) |
抽出元の時刻印 |
関数呼出しの指定と,結果の例を次に示します。
項番 | 関数呼出し | 結果(xs:int型) | 説明 |
---|---|---|---|
1 | fn:month-from-dateTime(xs:dateTime("2006-09-26T18:44:58.153")) | 9 | パラメタdtmの値の月の部分である9を返します。 |
ノードの修飾名を返します。
fn:name ( 〔 引数 〕 ) |
表1-139 fn: name関数のパラメタ
項番 | 対応する引数 | パラメタ | XQueryデータ型 | 説明 |
---|---|---|---|---|
1 | 引数 | node | 任意のノード (空のXQueryシーケンスを含む) |
修飾名を取得するノード |
XQuery変数bookが次に示す要素を表したノードを示している場合の関数呼出しの指定と,結果の例を次に示します。
<XQuery変数bookが表す要素>
<bookinfo:書籍情報 書籍ID="452469630"> <タイトル>リレーショナルデータベース解説</タイトル> <著者>伊藤栄一</著者> <著者>木村幸一</著者> </bookinfo:書籍情報> |
<関数呼出し指定例と結果>
項番 | 関数呼出し | 結果(xs:string型) | 説明 |
---|---|---|---|
1 | $book/fn:name() | "bookinfo:書籍情報" | 引数を指定していないため,文脈項目である「bookinfo:書籍情報」要素ノードの修飾名を返します。 |
2 | $book/fn:name(./タイトル) | "タイトル" | パラメタnodeの値が「タイトル」要素ノードであるため,その修飾名を返します。 |
3 | $book/タイトル /fn:name(./text()) |
"" (長さ0の文字列) | パラメタnodeの値がテキストノードであるため,長さ0の文字列を返します。 |
ノードの修飾名のXML名前空間URIを返します。
fn:namespace-uri ( 〔 引数 〕 ) |
表1-140 fn: namespace-uri関数のパラメタ
項番 | 対応する引数 | パラメタ | XQueryデータ型 | 説明 |
---|---|---|---|---|
1 | 引数 | node | 任意のノード (空のXQueryシーケンスを含む) |
修飾名のXML名前空間を取得するノード |
XQuery変数bookが次に示す要素を表したノードを示している場合の関数呼出しの指定と,結果の例を次に示します。接頭辞bookinfoに対応するXML名前空間URIは" http://www.hirdb-example.com/bookinfo",要素名及び属性名に対する既定のXML名前空間URIは" http://www.hirdb-example.com/default"とします。
<XQuery変数bookが表す要素>
<bookinfo:書籍情報 書籍ID="452469630"> <タイトル>リレーショナルデータベース解説</タイトル> <著者>伊藤栄一</著者> <著者>木村幸一</著者> </bookinfo:書籍情報> |
<関数呼出し指定例と結果>
項番 | 関数呼出し | 結果(xs:string型) | 説明 |
---|---|---|---|
1 | $book/fn:namespace-uri() | " http://www.hirdb-example.com/bookinfo" | 引数を指定していないため,文脈項目である「bookinfo:書籍情報」要素ノードの修飾名のXML名前空間URIを返します。 |
2 | $book/fn:namespace-uri(./タイトル) | " http://www. hirdb-example.com/default" | パラメタnodeの値が「タイトル」要素ノードであるため,その修飾名のXML名前空間URIを返します。 |
3 | $book/タイトル /fn:namespace-uri(./text()) |
"" (長さ0の文字列) | パラメタnodeの値がテキストノードであるため,長さ0の文字列を返します。 |
文字列に対してホワイトスペースの正規化を行った結果を返します。
ホワイトスペースの正規化では,文字列中の連続するホワイトスペース(半角空白(X'20'),タブ(X'09'),NL(X'0A'),又はCR(X'0D'))を一つの半角空白に置き換え,先頭及び末尾のホワイトスペースを除去します。
fn:normalize-space ( 〔 引数 〕 ) |
表1-141 fn:normalize-space関数のパラメタ
項番 | 対応する引数 | パラメタ | XQueryデータ型 | 説明 |
---|---|---|---|---|
1 | 引数 | str | xs:string型 (空のXQueryシーケンスを含む) |
入力となる文字列 |
関数呼出しの指定と,結果の例を次の表に示します。
項番 | 関数呼出し | 結果(xs:string型) | 説明 |
---|---|---|---|
1 | fn:normalize-space(()) | "" (長さ0の文字列) | パラメタstrの値が空のXQueryシーケンスであるため,長さ0の文字列を返します。 |
2 | fn:normalize-space(" a b c d ") | "a b c d" | " a b c d "に対してホワイトスペースの正規化を行った結果を返します。 |
引数に指定した値をxs:boolean型の値に変換し,その値を否定した値を返します。
fn:not ( 引数 ) |
表1-142 fn:not関数のパラメタ
項番 | 対応する引数 | パラメタ | XQueryデータ型 | 説明 |
---|---|---|---|---|
1 | 引数 | seq | 0個以上のXQuery項目を持つXQueryシーケンス | 入力となるXQueryシーケンス |
関数呼出しの指定と,結果の例を次に示します。
項番 | 関数呼出し | 結果 (xs:boolean型) |
説明 |
---|---|---|---|
1 | fn:not(fn:true()) | 偽 | パラメタseqの値が真であるため,その否定である偽を返します。 |
2 | fn:not(0) | 真 | 0をブーリアン値として評価すると偽になるため,その否定である真を返します。 |
3 | fn:not("ABC") | 偽 | "ABC"をブーリアン値として評価すると真になるため,その否定である偽を返します。 |
引数に指定した値をxs:double型に変換した値を返します。
fn:number ( 〔 引数 〕 ) |
表1-143 fn:number関数のパラメタ
項番 | 対応する引数 | パラメタ | XQueryデータ型 | 説明 |
---|---|---|---|---|
1 | 引数 | item | 任意のXQuery項目 (空のXQueryシーケンスを含む) |
入力となるXQuery項目 |
関数呼出しの指定と,結果の例を次に示します。
項番 | 関数呼出し | 結果(xs:double型) | 説明 |
---|---|---|---|
1 | fn:number(()) | NaN(非数) | パラメタitemの値が空のXQueryシーケンスであるため,NaNを返します。 |
2 | fn:number("abcde") | NaN(非数) | "abcde"はxs:double型に変換できないため,NaNを返します。 |
3 | fn:number(fn:false()) | 0.0E0 | xs:boolean型の真をxs:double型に変換すると0.0E0になるため,その値を返します。 |
4 | fn:number(" 15000000 ") | 1.5E7 | " 15000000 "をxs:double型に変換すると1.5E7になるため,その値を返します。 |
5 | fn:number("INF") | 正の無限大 | "INF"をxs:double型に変換すると正の無限大になるため,その値を返します。 |
文脈位置を返します。
fn:position ( ) |
関数呼出しの指定と,結果の例を次の表に示します。
項番 | 関数呼出し | 結果 | 説明 |
---|---|---|---|
1 | ("a", "b", "c")[fn:position() ge 2] | ("b", "c") ※文脈項目"a","b","c"に対するfn:position関数の結果は,それぞれ1,2,3になります。 |
結果は文脈位置が2以上である文脈項目"b","c"から成るXQueryシーケンスになります。 |
XQueryシーケンスから指定した位置のXQuery項目を削除した結果を返します。
fn:remove ( 引数1 , 引数2 ) |
表1-144 fn:remove関数のパラメタ
項番 | 対応する引数 | パラメタ | XQueryデータ型 | 説明 |
---|---|---|---|---|
1 | 引数1 | seq | 0個以上のXQuery項目を含むXQueryシーケンスを含む | 入力となるXQueryシーケンス |
2 | 引数2 | pos | xs:int | 削除位置 |
関数呼出しの指定と,結果の例を次に示します。
項番 | 関数呼出し | 結果 | 説明 |
---|---|---|---|
1 | fn:remove(("a", "b", "c"), 0) | ("a", "b", "c") | パラメタposの値が1より小さいため,パラメタseqの値をそのまま返します。 |
2 | fn:remove(("a", "b", "c"), 1) | ("b", "c") | 一つ目のXQuery項目を削除したXQueryシーケンスを返します。 |
3 | fn:remove(("a", "b", "c"), 4) | ("a", "b", "c") | パラメタposの値(4)がパラメタseqの値であるXQueryシーケンスのXQuery項目数(3)より大きいため,パラメタseqの値をそのまま返します。 |
XQueryシーケンス中のXQuery項目を逆順に並べ替えたXQueryシーケンスを返します。
fn:reverse ( 引数 ) |
表1-145 fn:reverse関数のパラメタ
項番 | 対応する引数 | パラメタ | XQueryデータ型 | 説明 |
---|---|---|---|---|
1 | 引数 | seq | 0個以上の任意のXQuery項目から成るXQueryシーケンス | 入力となるXQueryシーケンス |
関数呼出しの指定と,結果の例を次に示します。
項番 | 関数呼出し | 結果 | 説明 |
---|---|---|---|
1 | fn:reverse((10, 20, 30, 40)) | (40,30,20,10) | パラメタseqのXQueryシーケンス中のXQueyr項目を逆順に並び替えたXQueryシーケンスを返します。 |
2 | fn:reverse(("abcde")) | ("abcde") | パラメタseqのXQueryシーケンス中のXQuery項目が一つであるため,パラメタseqのXQueryシーケンスをそのまま返します。 |
3 | fn:reverse(()) | 空のXQueryシーケンス | パラメタseqのXQueryシーケンスが空のXQueryシーケンスであるため,空のXQueryシーケンスを返します。 |
引数の値に最も近い整数値を返します。
fn:round ( 引数 ) |
表1-146 fn:round関数のパラメタ
項番 | 対応する引数 | パラメタ | XQueryデータ型 | 説明 |
---|---|---|---|---|
1 | 引数 | num | 数値データ型 (空のXQueryシーケンスを含む) |
入力となる数値 |
表1-147 fn:round関数の結果のXQueryデータ型
項番 | パラメタnumの値のXQueryデータ型 | 結果のXQueryデータ型 |
---|---|---|
1 | xs:double | xs:double |
2 | xs:decimal | xs:decimal |
3 | xs:int | xs:int |
表1-148 fn:round関数の結果が特殊な値になる場合
項番 | パラメタnumの値 | 結果の値 |
---|---|---|
1 | 正の0 | 正の0 |
2 | 負の0 | 負の0 |
3 | -0.5以上かつ0未満 | 負の0 |
4 | 正の無限大 | 正の無限大 |
5 | 負の無限大 | 負の無限大 |
6 | NaN(非数) | NaN(非数) |
関数呼出しの指定と,結果の例を次に示します。
項番 | 関数呼出し | 結果(括弧内はXQueryデータ型) | 説明 |
---|---|---|---|
1 | fn:round(2.5) | 3. (xs:decimal) | 2.5に最も近い整数2,3のうち大きい方である3を返します。 |
2 | fn:round(2.4999) | 2. (xs:decimal) | 2.4999に最も近い整数2を返します。 |
3 | fn:round(-2.5) | -2. (xs:decimal) | -2.5に最も近い整数-2,-3のうち大きい方である-2を返します。 |
4 | fn:round(-4.5E-1) | 負の0 (xs:double) | -4.5E-1は0未満かつ-0.5以上であるため,負の0を返します。 |
時刻印から秒の部分だけを抽出して返します。
fn:seconds-from-dateTime ( 引数 ) |
表1-149 fn:seconds-from-dateTime関数のパラメタ
項番 | 対応する引数 | パラメタ | XQueryデータ型 | 説明 |
---|---|---|---|---|
1 | 引数 | dtm | xs:dateTime型 (空のXQueryシーケンスを含む) |
抽出元の時刻印 |
関数呼出しの指定と,結果の例を次に示します。
項番 | 関数呼出し | 結果 (xs:decimal型) |
説明 |
---|---|---|---|
1 | fn:seconds-from-dateTime(xs:dateTime("2006-09-26T18:44:58.153")) | 58.153 | パラメタdtmの値の秒の部分である58.153を返します。 |
時刻から秒の部分だけを抽出して返します。
fn:seconds-from-time ( 引数 ) |
表1-150 fn:seconds-from-time関数のパラメタ
項番 | 対応する引数 | パラメタ | XQueryデータ型 | 説明 |
---|---|---|---|---|
1 | 引数 | tim | xs:time型 (空のXQueryシーケンスを含む) |
抽出元の時刻 |
関数呼出しの指定と,結果の例を次に示します。
項番 | 関数呼出し | 結果 (xs:decimal型) |
説明 |
---|---|---|---|
1 | fn:seconds-from-time(xs:time("18:44:58")) | 58 | パラメタtimの値の秒の部分である58を返します。 |
引数1で指定した文字列が引数2で指定した文字列で開始するかどうかを返します。
fn:starts-with ( 引数1, 引数2 ) |
表1-151 fn:starts-with関数のパラメタ
項番 | 対応する引数 | パラメタ | XQueryデータ型 | 説明 |
---|---|---|---|---|
1 | 引数1 | str1 | xs:string型 (空のXQueryシーケンスを含む) |
部分文字列で開始するか検査する文字列 |
2 | 引数2 | str2 | xs:string型 (空のXQueryシーケンスを含む) |
パラメタstr1の文字列の最初にあるか検査する部分文字列 |
関数呼出しの指定と,結果の例を次の表に示します。
項番 | 関数呼出し | 結果(xs:boolean型) | 説明 |
---|---|---|---|
1 | fn:starts-with("abcdefg", "abc") | 真 | "abcdefg"は"abc"で開始しているため,真を返します。 |
2 | fn:starts-with("abcdefg", "cde") | 偽 | "abcdefg"は"cde"で開始していないため,偽を返します。 |
3 | fn:starts-with((), "") | 真 | パラメタstr2の値が長さ0の文字列であるため,真を返します。 |
4 | fn:starts-with((), "a") | 偽 | パラメタstr1の値が空のXQueryシーケンスであり,パラメタstr2の値が長さ1以上の文字列であるため,偽を返します。 |
5 | fn:starts-with("abcdefg", ()) | 真 | パラメタstr2の値が空のXQueryシーケンスであるため,真を返します。 |
XQuery項目の値を文字列表現した値をxs:string型の値として返します。
fn:string ( 〔 引数 〕 ) |
表1-152 fn:string関数のパラメタ
項番 | 対応する引数 | パラメタ | XQueryデータ型 | 説明 |
---|---|---|---|---|
1 | 引数 | item | 任意のXQuery項目 (空のXQueryシーケンスを含む) |
入力となるXQuery項目 |
表1-153 パラメタitemの値がノードである場合,得られる結果
項番 | ノード種別 | string関数が返す値 |
---|---|---|
1 | 文書ノード | 文字列値プロパティの値 |
2 | 要素ノード | 文字列値プロパティの値 |
3 | 属性ノード | 文字列値プロパティの値 |
4 | 処理命令ノード | 内容プロパティの値 |
5 | コメントノード | 内容プロパティの値 |
6 | テキストノード | 内容プロパティの値 |
関数呼出しの指定と,結果の例を次の表に示します。
項番 | 関数呼出し | 結果 (xs:string型) |
説明 |
---|---|---|---|
1 | fn:string(()) | "" (長さ0の文字列) | パラメタitemの値が空のXQueryシーケンスであるため,長さ0の文字列を返します。 |
2 | fn:string("abcde") | "abcde" | 文字列"abcde"をそのまま返します。 |
3 | fn:string(1.234E4) | "12340" | xs:decimal型の値1.234E4をxs:string型に変換した値"12340"を返します。 |
4 | fn:string(0.1234E10) | "1.234E9" | xs:decimal型の値0.1234E10をxs:string型に変換した値"1.234E9"を返します。 |
5 | fn:string(fn:true()) | "true" | xs:boolean型の値である真をxs:string型に変換した値"true"を返します。 |
文字列の長さ(文字数)を返します。
fn:string-length ( 〔 引数 〕 ) |
表1-154 fn:string-length関数のパラメタ
項番 | 対応する引数 | パラメタ | XQueryデータ型 | 説明 |
---|---|---|---|---|
1 | 引数 | str | xs:string型 (空のXQueryシーケンスを含む) |
入力となる文字列 |
関数呼出しの指定と,結果の例を次の表に示します。
項番 | 関数呼出し | 結果(xs:int型) | 説明 |
---|---|---|---|
1 | fn:string-length(()) | 0 | パラメタstrの値が空のXQueryシーケンスであるため,0を返します。 |
2 | fn:string-length("abcde") | 5 | "abcde"の長さ5を返します。 |
3 | fn:string-length("あいうえお") | 5 | "あいうえお"の長さ5を返します。 |
XQueryシーケンスの部分XQueryシーケンスを返却します。
fn:subsequence ( 引数1, 引数2〔, 引数3〕 ) |
表1-155 fn:subsequence関数のパラメタ
項番 | 対応する引数 | パラメタ | XQueryデータ型 | 説明 |
---|---|---|---|---|
1 | 引数1 | seq | 0個以上のXQuery項目から構成されるXQueryシーケンス | 部分XQueryシーケンスを取り出すXQueryシーケンス |
2 | 引数2 | pos | xs:double型 | 部分XQueryシーケンスの取り出し開始位置 |
3 | 引数3 | len | xs:double型 | 取り出すXQuery項目数 |
関数呼出しの指定と,結果の例を次の表に示します。
項番 | 関数呼出し | 結果 | 説明 |
---|---|---|---|
1 | fn:subsequence( ("a","b","c","d","e","f","g"), 5) |
("e","f","g") | パラメタseqのXQueryシーケンス中の5番目から末尾までのXQuery項目から成るXQueryシーケンスを返します。 |
2 | fn:subsequence( ("a","b","c","d","e","f","g"), 2, 2.5) |
("b","c","d") | 2.5に対してfn:round関数を評価した結果が3となるため,パラメタseqのXQueryシーケンス中の2番目から三つ分のXQuery項目から成るXQueryシーケンスを返します。 |
3 | fn:subsequence((), 10) | 空のXQueryシーケンス | パラメタseqが空のXQueryシーケンスであるため,空のXQueryシーケンスを返します。 |
4 | fn:subsequence (("a","b","c","d","e","f","g"), -10, 10) |
("a","b","c","d", "e","f","g") |
パラメタposの値が負であるため先頭位置から取り出します。また,パラメタlenの値がパラメタseqの先頭位置から末尾までのXQuery項目数より大きいため,末尾まで取り出します。 |
文字列の部分文字列を返します。
fn:substring ( 引数1, 引数2〔, 引数3〕 ) |
表1-156 fn:substring関数のパラメタ
項番 | 対応する引数 | パラメタ | XQueryデータ型 | 説明 |
---|---|---|---|---|
1 | 引数1 | str | xs:string型 (空のXQueryシーケンスを含む) |
部分文字列を取り出す文字列 |
2 | 引数2 | pos | xs:double型 | 部分文字列の取り出し開始位置 |
3 | 引数3 | len | xs:double型 | 取り出す部分文字列の長さ(文字数) |
関数呼出しの指定と,結果の例を次の表に示します。
項番 | 関数呼出し | 結果(xs:string型) | 説明 |
---|---|---|---|
1 | fn:substring ("abcdefg", 5) | "efg" | "abcdefg"の5文字目から末尾までの部分文字列を返します。 |
2 | fn:substring("abcdefg", 2, 2.5) | "bcd" | 2.5に対してfn:round関数を評価した結果が3となるため,"abcdefg"の2文字目から3文字分の部分文字列を返します。 |
3 | fn:substring((), 10) | "" (長さ0の文字列) | パラメタstrの値が空のXQueryシーケンスであるため,長さ0の文字列を返します。 |
4 | fn:substring ("abcdefg",-10, 10) | "abcdefg" | パラメタposの値が負であるため先頭位置から取り出します。また,パラメタlenの値が"abcdefg"の先頭位置から末尾までの長さより大きいため,末尾まで取り出します。 |
引数1で指定した文字列中の,引数2で指定した文字列が最初に出現する位置より後の部分文字列を返します。
fn:substring-after ( 引数1, 引数2 ) |
表1-157 fn:substring-after関数のパラメタ
項番 | 対応する引数 | パラメタ | XQueryデータ型 | 説明 |
---|---|---|---|---|
1 | 引数1 | str1 | xs:string型 (空のXQueryシーケンスを含む) |
部分文字列を検索する文字列 |
2 | 引数2 | str2 | xs:string型 (空のXQueryシーケンスを含む) |
パラメタstr1の文字列中を検索する部分文字列 |
関数呼出しの指定と,結果の例を次の表に示します。
項番 | 関数呼出し | 結果(xs:string型) | 説明 |
---|---|---|---|
1 | fn:substring-after("abcdefg", "efg") | "" (長さ0の文字列) | "abcdefg"中の"efg"が出現する位置より後の部分文字列を返します。 |
2 | fn:substring-after("abcdefgcde", "cde") | "fgcde" | "abcdefgcde"中の"cde"が最初に出現する位置より後の部分文字列を返します。 |
3 | fn:substring-after((), "abc") | "" (長さ0の文字列) | パラメタstr1の値が空のXQueryシーケンスになるため,長さ0の文字列を返します。 |
4 | fn:substring-after("abcdefg", ()) | "abcdefg" | パラメタstr2の値が空のXQueryシーケンスになるため,"abcdefg"をそのまま返します。 |
引数1で指定した文字列中の,引数2で指定した文字列が最初に出現する位置より前の部分文字列を返します。
fn:substring-before ( 引数1, 引数2 ) |
表1-158 fn:substring-before関数のパラメタ
項番 | 対応する引数 | パラメタ | XQueryデータ型 | 説明 |
---|---|---|---|---|
1 | 引数1 | str1 | xs:string型 (空のXQueryシーケンスを含む) |
部分文字列を検索する文字列 |
2 | 引数2 | str2 | xs:string型 (空のXQueryシーケンスを含む) |
パラメタstr1の文字列中を検索する部分文字列 |
関数呼出しの指定と,結果の例を次の表に示します。
項番 | 関数呼出し | 結果(xs:string型) | 説明 |
---|---|---|---|
1 | fn:substring-before("abcdefg", "abc") | "" (長さ0の文字列) | "abcdefg"中の"abc"が出現する位置より前の部分文字列を返します。 |
2 | fn:substring-before("abcdefgdef", "def") | "abc" | "abcdefgdef"中の"def"が最初に出現する位置より前の部分文字列を返します。 |
3 | fn:substring-before((), "abc") | "" (長さ0の文字列) | パラメタstr1の値が空のXQueryシーケンスになるため,長さ0の文字列を返します。 |
4 | fn:substring-before("abcdefg", ()) | "abcdefg" | パラメタstr2の値が空のXQueryシーケンスになるため,"abcdefg"をそのまま返します。 |
XQueryシーケンスを構成する基本単位値の合計を返します。
fn:sum ( 引数 ) |
表1-159 fn:sum関数のパラメタ
項番 | 対応する引数 | パラメタ | XQueryデータ型 | 説明 |
---|---|---|---|---|
1 | 引数 | seq | 0個以上の数値データ型の値を持つXQueryシーケンス | 入力となるXQueryシーケンス |
表1-160 fn:sum関数の結果のXQueryデータ型
項番 | パラメタseqの値であるXQueryシーケンス中の 値のXQueryデータ型 |
結果のXQueryデータ型 | ||
---|---|---|---|---|
xs:double | xs:decimal | xs:int | ||
1 | × | × | × | xs:int |
2 | ○ | − | − | xs:double |
3 | × | ○ | − | xs:decimal |
4 | × | ○ | xs:int |
関数呼出しの指定と,結果の例を次に示します。
項番 | 関数呼出し | 結果(括弧内はXQueryデータ型) | 説明 |
---|---|---|---|
1 | fn:sum((3,4,5)) | 12 (xs:int) | 3,4,5の合計値12を返します。 |
2 | fn:sum(()) | 0 (xs:int) | パラメタseqが空のXQueryシーケンスであるため,0を返します。 |
3 | fn:sum((1.0E2, 2.0E3)) | 2.1E3(xs:double) | 1.0E2,2.0E3の合計値2.1E3を返します。 |
引数1で指定した文字列中の引数2で指定した文字を,引数3で指定した文字に置換した結果を返します。
fn:translate ( 引数1, 引数2, 引数3 ) |
表1-161 fn:translate関数のパラメタ
項番 | 対応する引数 | パラメタ | XQueryデータ型 | 説明 |
---|---|---|---|---|
1 | 引数1 | str | xs:string型 (空のXQueryシーケンスを含む) |
入力となる文字列 |
2 | 引数2 | from | xs:string型 | 置換対象の文字から成る文字列 |
3 | 引数3 | to | xs:string型 | 置換文字から成る文字列 |
関数呼出しの指定と,結果の例を次の表に示します。
項番 | 関数呼出し | 結果(xs:string型) | 説明 |
---|---|---|---|
1 | fn:translate("abcdef", "ace", "ACE") | "AbCdEf" | "abcdef"中の"a","c","e"をそれぞれ"A","C","E"に置換した文字列を返します。 |
2 | fn:translate("abcdefg", "aceg", "ACE") | "AbCdEf" | "abcdef"中の"a","c","e"をそれぞれ"A","C","E"に置換し,"g"を除去した文字列を返します。 |
3 | fn:translate("abcdef", "acea", "ACEB") | "AbCdEf" | "abcdef"中の"a","c","e"をそれぞれ"A","C","E"に置換した文字列を返します。 |
日付から年の部分だけを抽出して返します。
fn:year-from-date ( 引数 ) |
表1-162 fn:year-from-date関数のパラメタ
項番 | 対応する引数 | パラメタ | XQueryデータ型 | 説明 |
---|---|---|---|---|
1 | 引数 | dat | xs:date型 (空のXQueryシーケンスを含む) |
抽出元の日付 |
関数呼出しの指定と,結果の例を次に示します。
項番 | 関数呼出し | 結果(xs:int型) | 説明 |
---|---|---|---|
1 | fn:year-from-date(xs:date("2006-09-26")) | 2006 | パラメタdatの値の年の部分である2006を返します。 |
時刻印から年の部分だけを抽出して返します。
fn:year-from-dateTime ( 引数 ) |
表1-163 fn:year-from-dateTime関数のパラメタ
項番 | 対応する引数 | パラメタ | XQueryデータ型 | 説明 |
---|---|---|---|---|
1 | 引数 | dtm | xs:dateTime型 (空のXQueryシーケンスを含む) |
抽出元の時刻印 |
関数呼出しの指定と,結果の例を次に示します。
項番 | 関数呼出し | 結果(xs:int型) | 説明 |
---|---|---|---|
1 | fn:year-from-dateTime(xs:dateTime("2006-09-26T18:44:58.153")) | 2006 | パラメタdtmの値の年の部分である2006を返します。 |
All Rights Reserved. Copyright (C) 2006, 2016, Hitachi, Ltd.