XPath、XQuery および XSLT 関数
- 前のページ XPath 総括
- 次のページ XPath チュートリアル
アクセス関数
名前 | 説明 |
---|---|
fn:node-name(node) | 引数ノードのノード名を返します。 |
fn:nilled(node) | 引数ノードを拒否するかどうかの布尔値を返します。 |
fn:data(item.item,...) | 項目シーケンスを受け入れ、原子値シーケンスを返します。 |
|
現在のノードまたは指定されたノードの base-uri 属性の値を返します。 |
fn:document-uri(node) | 指定されたノードの document-uri 属性の値を返します。 |
エラーやトレース関数
名前 | 説明 |
---|---|
|
例:error(fn:QName('http://example.com/test', 'err:toohigh'), 'Error: Price is too high') 結果:外部処理環境に http://example.com/test#toohigh と文字列 "Error: Price is too high" を返します。 |
fn:trace(value,label) | クエリのデバッグに使用されます。 |
数値関数に関する情報
名前 | 説明 |
---|---|
fn:number(arg) |
引数の数値を返します。引数はブール値、文字列、ノードセットができます。 例:number('100') 結果:100 |
fn:abs(num) |
引数の絶対値を返します。 例:abs(3.14) 結果:3.14 例:abs(-3.14) 結果:3.14 |
fn:ceiling(num) |
返却する数値の最小の整数を返します。 例:ceiling(3.14) 結果:4 |
fn:floor(num) |
num パラメータの最大の整数を返します。 例:floor(3.14) 結果:3 |
fn:round(num) |
num パラメータを最も近い整数に四捨五入します。 例:round(3.14) 結果:3 |
fn:round-half-to-even() |
例:round-half-to-even(0.5) 結果:0 例:round-half-to-even(1.5) 結果:2 例:round-half-to-even(2.5) 結果:2 |
文字列関数に関する情報
名前 | 説明 |
---|---|
fn:string(arg) |
引数の文字列値を返します。引数は数字、論理値、ノードセットができます。 例:string(314) 結果:"314" |
fn:codepoints-to-string(int,int,...) |
コードポイントシーケンスから文字列を返します。 例:codepoints-to-string(84, 104, 233, 114, 232, 115, 101) 結果:'Thérèse' |
fn:string-to-codepoints(string) |
文字列からコードポイントシーケンスを返します。 例:string-to-codepoints("Thérèse") 結果:84, 104, 233, 114, 232, 115, 101 |
fn:codepoint-equal(comp1,comp2) | Unicode 代码ポイント照合に基づいて、comp1 の値が comp2 の値と等しい場合には true を返します。(http://www.w3.org/2005/02/xpath-functions/collation/codepoint)、そうでない場合は false を返します。 |
|
comp1 が comp2 以下なら -1 を返します。comp1 が comp2 と等しいなら 0 を返します。comp1 が comp2 以下なら 1 を返します。(使用される照合規則に応じて)。 例:compare('ghi', 'ghi') 結果:0 |
fn:concat(string,string,...) |
文字列の結合を返します。 例:concat('XPath ','is ','FUN!') 結果:'XPath is FUN!' |
fn:string-join((string,string,...),sep) |
sep パラメータを使用して、string 引数を結合した文字列を返します。 例:string-join(('We', 'are', 'having', 'fun!'), ' ') 結果:' We are having fun! ' 例:string-join(('We', 'are', 'having', 'fun!')) 結果:'Wearehavingfun!' 例:string-join((), 'sep') 結果:'' |
|
start 位置から指定された長さのサブストリングを返します。最初の文字のインデックスは 1 です。len パラメータを省略した場合、start 位置から文字列の末尾までのサブストリングを返します。 例:substring('Beatles',1,4) 結果:'Beat' 例:substring('Beatles',2) 結果:'eatles' |
|
指定された文字列の長さを返します。string 引数が指定されていない場合、現在のノードの文字値の長さを返します。 例:string-length('Beatles') 結果:7 |
|
指定された文字列の先頭と末尾の空白を削除し、内部のすべての空白シーケンスを一つに置き換え、結果を返します。string 引数が指定されていない場合、現在のノードを処理します。 例:normalize-space(' The XML ') 結果:'The XML' |
fn:normalize-unicode() | Unicode 规格化を実行します。 |
fn:upper-case(string) |
string 引数を大文字に変換します。 例:upper-case('The XML') 結果:'THE XML' |
fn:lower-case(string) |
string 引数を小文字に変換します。 例:lower-case('The XML') 結果:'the xml' |
fn:translate(string1,string2,string3) |
string1 中の string2 を string3 で置き換えます。 例:translate('12:30','30','45') 結果:'12:45' 例:translate('12:30','03','54') 結果:'12:45' 例:translate('12:30','0123','abcd') 結果:'bc:da' |
fn:escape-uri(stringURI,esc-res) |
例:escape-uri("http://example.com/test#car", true()) 結果:"http%3A%2F%2Fexample.com%2Ftest#car" 例:escape-uri("http://example.com/test#car", false()) 結果:"http://example.com/test#car" 例:escape-uri ("http://example.com/~bébé", false()) 結果:"http://example.com/~b%C3%A9b%C3%A9" |
fn:contains(string1,string2) |
string1 が string2 を含む場合 true を返し、それ以外の場合 false を返します。 例:contains('XML','XM') 結果:true |
fn:starts-with(string1,string2) |
string1 が string2 で始まる場合 true を返し、それ以外の場合 false を返します。 例:starts-with('XML','X') 結果:true |
fn:ends-with(string1,string2) |
string1 が string2 で終わる場合 true を返し、それ以外の場合 false を返します。 例:ends-with('XML','X') 結果:false |
fn:substring-before(string1,string2) |
string1 中 string2 出现之前的子字符串を返します。 例:substring-before('12/10','/') 結果:'12' |
fn:substring-after(string1,string2) |
string1 中 string2 出现之后的子字符串を返します。 例:substring-after('12/10','/') 結果:'10' |
fn:matches(string,pattern) |
string パラメータが指定されたパターンに一致する場合、true を返し、そうでない場合は false を返す。 例:matches("Merano", "ran") 結果:true |
fn:replace(string,pattern,replace) |
指定されたパターンを replace パラメータで置き換え、結果を返す。 例:replace("Bella Italia", "l", "*") 結果:'Be**a Ita*ia' 例:replace("Bella Italia", "l", "") 結果:'Bea Itaia' |
fn:tokenize(string,pattern) |
例:tokenize("XPath is fun", "\s+") 結果:("XPath", "is", "fun") |
anyURI 関連の関数
名前 | 説明 |
---|---|
fn:resolve-uri(relative,base) |
布尔値に関する関数
名前 | 説明 |
---|---|
fn:boolean(arg) | 数字、文字列、ノードセットの布尔値を返す。 |
fn:not(arg) |
まず boolean() 関数を使って引数を布尔値に戻す。その布尔値が false であれば true を返し、そうでない場合は true を返す。 例:not(true()) 結果:false |
fn:true() |
布尔値 true を返す。 例:true() 結果:true |
fn:false() |
布尔値 false を返す。 例:false() 結果:false |
持続時間、日付、時間に関する関数
日付、時間、持続時間のコンポーネント抽出関数
名前 | 説明 |
---|---|
fn:dateTime(date,time) | 引数を日付と時間に変換する。 |
fn:years-from-duration(datetimedur) | 引数の値の年の部分の整数を標準語彙法で表現する。 |
fn:months-from-duration(datetimedur) | 引数の値の月の部分の整数を標準語彙法で表現する。 |
fn:days-from-duration(datetimedur) | 引数の値の日の部分の整数を標準語彙法で表現する。 |
fn:hours-from-duration(datetimedur) | パラメータの値の時間部分の整数を標準語彙法で表現。 |
fn:minutes-from-duration(datetimedur) | パラメータの値の分部分の整数を標準語彙法で表現。 |
fn:seconds-from-duration(datetimedur) | パラメータの値の分部分の10進数を標準語彙法で表現。 |
fn:year-from-dateTime(datetime) |
返却パラメータのローカル値の年部分の整数。 例:year-from-dateTime(xs:dateTime("2005-01-10T12:30-04:10")) 結果:2005 |
fn:month-from-dateTime(datetime) |
返却パラメータのローカル値の月部分の整数。 例:month-from-dateTime(xs:dateTime("2005-01-10T12:30-04:10")) 結果:01 |
fn:day-from-dateTime(datetime) |
返却パラメータのローカル値の日部分の整数。 例:day-from-dateTime(xs:dateTime("2005-01-10T12:30-04:10")) 結果:10 |
fn:hours-from-dateTime(datetime) |
返却パラメータのローカル値の時間部分の整数。 例:hours-from-dateTime(xs:dateTime("2005-01-10T12:30-04:10")) 結果:12 |
fn:minutes-from-dateTime(datetime) |
返却パラメータのローカル値の分部分の整数。 例:minutes-from-dateTime(xs:dateTime("2005-01-10T12:30-04:10")) 結果:30 |
fn:seconds-from-dateTime(datetime) |
返却パラメータのローカル値の秒部分の10進数。 例:seconds-from-dateTime(xs:dateTime("2005-01-10T12:30:00-04:10")) 結果:0 |
fn:timezone-from-dateTime(datetime) | 存在する場合には、パラメータの時区部分を返します。 |
fn:year-from-date(date) |
返却パラメータのローカル値を表す年の整数。 例:year-from-date(xs:date("2005-04-23")) 結果:2005 |
fn:month-from-date(date) |
パラメータのローカル値の月部分を表す整数を返します。 例:month-from-date(xs:date("2005-04-23")) 結果:4 |
fn:day-from-date(date) |
パラメータのローカル値の日部分を表す整数を返します。 例:day-from-date(xs:date("2005-04-23")) 結果:23 |
fn:timezone-from-date(date) | 存在する場合には、パラメータの時区部分を返します。 |
fn:hours-from-time(time) |
パラメータのローカル値の時間部分を表す整数を返します。 例:hours-from-time(xs:time("10:22:00")) 結果:10 |
fn:minutes-from-time(time) |
パラメータのローカル値の分部分を表す整数を返します。 例:minutes-from-time(xs:time("10:22:00")) 結果:22 |
fn:seconds-from-time(time) |
パラメータのローカル値の秒部分を表す整数を返します。 例:seconds-from-time(xs:time("10:22:00")) 結果:0 |
fn:timezone-from-time(time) | 存在する場合には、パラメータの時区部分を返します。 |
fn:adjust-dateTime-to-timezone(datetime,timezone) | timezone パラメータが空の場合は、時区のない dateTime を返します。それ以外の場合は、時区を含む dateTime を返します。 |
fn:adjust-date-to-timezone(date,timezone) | timezone パラメータが空の場合は、時区のない date を返します。それ以外の場合は、時区を含む date を返します。 |
fn:adjust-time-to-timezone(time,timezone) | timezone パラメータが空の場合は、時区のない time を返します。それ以外の場合は、時区を含む time を返します。 |
QNames に関連する関数
名前 | 説明 |
---|---|
fn:QName() | |
fn:local-name-from-QName() | |
fn:namespace-uri-from-QName() | |
fn:namespace-uri-for-prefix() | |
fn:in-scope-prefixes() | |
fn:resolve-QName() |
ノードに関する関数
名前 | 説明 |
---|---|
|
現在のノードの名前または指定されたノードセットの最初のノードを返します。 |
|
現在のノードの名前または指定されたノードセットの最初のノードを返します。命名空間接頭辞は含まれません。 |
|
現在のノードまたは指定されたノードセットの最初のノードの命名空間 URI を返します。 |
fn:lang(lang) |
現在のノードの言語が指定された言語に一致する場合、true を返します。 例:Lang("en") は、以下のために true です <p xml:lang="en">...</p> 例:Lang("de") は、以下のために false です <p xml:lang="en">...</p> |
|
現在のノードまたは指定されたノードのノードツリーのルートノードを返します。通常はドキュメントノードです。 |
シーケンスに関する関数
一般的な関数
名前 | 説明 |
---|---|
fn:index-of((item,item,...),searchitem) |
searchitem パラメータに等しい項目がシーケンス内にある位置を返します。 例:index-of ((15, 40, 25, 40, 10), 40) 結果:(2, 4) 例:index-of (("a", "dog", "and", "a", "duck"), "a") 結果:(1, 4) 例:index-of ((15, 40, 25, 40, 10), 18) 結果:() |
fn:remove((item,item,...),position) |
item パラメータで構成された新しいシーケンスを返し、position パラメータで指定された項目を削除します。 例:remove(("ab", "cd", "ef"), 0) 結果:("ab", "cd", "ef") 例:remove(("ab", "cd", "ef"), 1) 結果:("cd", "ef") 例:remove(("ab", "cd", "ef"), 4) 結果:("ab", "cd", "ef") |
fn:empty(item,item,...) |
パラメータの値が空シーケンスの場合は true を返し、それ以外の場合は false を返します。 例:empty(remove(("ab", "cd"), 1)) 結果:false |
fn:exists(item,item,...) |
パラメータの値が空シーケンスでない場合、trueを返し、それ以外の場合falseを返します。 例:exists(remove(("ab"), 1)) 結果:false |
fn:distinct-values((item,item,...),collation) |
ユニークな値を返します。 例:distinct-values((1, 2, 3, 1, 2)) 結果:(1, 2, 3) |
fn:insert-before((item,item,...),pos,inserts) |
itemパラメータで構築された新しいシーケンスを返し、posパラメータで指定された位置にinsertsパラメータの値を挿入します。 例:insert-before(("ab", "cd"), 0, "gh") 結果:("gh", "ab", "cd") 例:insert-before(("ab", "cd"), 1, "gh") 結果:("gh", "ab", "cd") 例:insert-before(("ab", "cd"), 2, "gh") 結果:("ab", "gh", "cd") 例:insert-before(("ab", "cd"), 5, "gh") 結果:("ab", "cd", "gh") |
fn:reverse((item,item,...)) |
指定されたプロジェクトの逆順を返します。 例:reverse(("ab", "cd", "ef")) 結果:("ef", "cd", "ab") 例:reverse(("ab")) 結果:("ab") |
fn:subsequence((item,item,...),start,len) |
startパラメータで指定された位置から、lenパラメータで指定された長さのプロジェクトシーケンスを返します。最初のプロジェクトの位置は1です。 例:subsequence(($item1, $item2, $item3,...), 3) 結果:($item3, ...) 例:subsequence(($item1, $item2, $item3, ...), 2, 2) 結果:($item2, $item3) |
fn:unordered((item,item,...)) | 実装に応じて決定される順序でプロジェクトを返します。 |
テストシーケンスの容量の関数
名前 | 説明 |
---|---|
fn:zero-or-one(item,item,...) | パラメータに0つまたは1つの項目が含まれている場合、パラメータを返し、それ以外の場合はエラーを生成します。 |
fn:one-or-more(item,item,...) | パラメータに1つ以上の項目が含まれている場合、パラメータを返し、それ以外の場合はエラーを生成します。 |
fn:exactly-one(item,item,...) | パラメータに項目が含まれている場合、パラメータを返し、それ以外の場合はエラーを生成します。 |
Equals, Union, Intersection and Except
名前 | 説明 |
---|---|
fn:deep-equal(param1,param2,collation) | param1 と param2 が深い意味で等しい場合(deep-equal)、true を返し、それ以外の場合は false を返します。 |
合計関数
名前 | 説明 |
---|---|
fn:count((item,item,...)) | ノードの数を返します。 |
fn:avg((arg,arg,...)) |
パラメータの値の平均を返します。 例:avg((1,2,3)) 結果:2 |
fn:max((arg,arg,...)) |
他のパラメータよりも大きなパラメータを返します。 例:max((1,2,3)) 結果:3 例:max(('a', 'k')) 結果:'k' |
fn:min((arg,arg,...)) |
他のパラメータよりも小さいパラメータを返します。 例:min((1,2,3)) 結果:1 例:min(('a', 'k')) 結果:'a' |
fn:sum(arg,arg,...) | 指定されたノード集中各ノードの値の合計を返します。 |
シーケンスを生成する関数
名前 | 説明 |
---|---|
fn:id((string,string,...),node) | 指定の文字列引数で指定された値のいずれかと等しいID値を持つ要素ノードのシーケンスを返します。 |
fn:idref((string,string,...),node) | 指定の文字列引数で指定された値のいずれかと等しいIDREF値を持つ要素や属性ノードのシーケンスを返します。 |
fn:doc(URI) | |
fn:doc-available(URI) | doc() 関数がドキュメントノードを返す場合 true を返し、それ以外の場合 false を返します。 |
|
コンテキスト関数
名前 | 説明 |
---|---|
fn:position() |
現在処理されているノードの index 位置を返します。 例://book[position()<=3] 結果:最初の 3 つの book 要素を選択 |
fn:last() |
処理されているノードリスト内の要素数を返します。 例://book[last()] 結果:最後の book 要素を選択 |
fn:current-dateTime() | 現在の dateTime(時区付き)を返します。 |
fn:current-date() | 現在の日付(時区付き)を返します。 |
fn:current-time() | 現在の時間(時区付き)を返します。 |
fn:implicit-timezone() | 暗黙のタイムゾーンの値を返します。 |
fn:default-collation() | デフォルトの照合の値を返します。 |
fn:static-base-uri() | base-uri の値に戻ります。 |
- 前のページ XPath 総括
- 次のページ XPath チュートリアル