XSLT 2.0、XPath 2.0の、とXQuery 1.0は、同じ機能のライブラリを共有しています。
関数リファレンス
関数の名前空間のデフォルトのプレフィックスはFNです。
関数の名前空間のURIは次のとおりです。http://www.w3.org/2005/xpath-functions
Tip:このようFNなどの接頭辞、::関数は、多くの場合、FNと呼ばれているstring() しかし、FN以来:名前空間のデフォルトの接頭辞である呼び出されたときに、関数名をプレフィックスとして追加する必要はありません。
アクセサ関数
名 | 説明 |
---|---|
fn:node- name( node ) | 引数ノードのノード名を返します。 |
fn: nilled( node ) | 引数ノードがnilledされているかどうかを示すブール値を返します。 |
fn: data( item.item,... ) | アイテムのシーケンスを取り、アトミック値のシーケンスを返します |
fn:base- uri() fn:base- uri( node ) | 現在または指定されたノードのベースURIプロパティの値を返します。 |
fn:document- uri( node ) | 指定されたノードの文書-uriプロパティの値を返します。 |
エラーおよびトレース機能
名 | 説明 |
---|---|
fn: error() fn: error( error ) fn: error( error,description ) fn: error( error,description,error-object ) | 例: error(fn:QName('http://example.com/test', 'err:toohigh') 'エラー:価格が高すぎます') 結果:戻り値http://example.com/test#toohighと文字列"Error: Price is too high"外部処理環境へ |
fn: trace( value,label ) | デバッグクエリに使用 |
数値に関数
名 | 説明 |
---|---|
fn: number( arg ) | 引数の数値を返します。 引数はブール値、文字列、またはノードセットすることができ 例: number('100') |
fn: abs( num ) | 引数の絶対値を返します。 例: abs(3.14) 例: abs(-3.14) |
fn: ceiling( num ) | 数引数より大きい最小の整数を返します。 例: ceiling(3.14) |
fn: floor( num ) | 数引数より大きくない最大の整数を返します。 例: floor(3.14) |
fn: round( num ) | 最も近い整数に数引数を丸め 例: round(3.14) |
fn:round-half-to- even() | 例:丸半対even(0.5) 結果:0 例:ラウンド半対even(1.5) 例:ラウンド半対even(2.5) |
文字列の機能
名 | 説明 |
---|---|
fn: string( arg ) | 引数の文字列値を返します。 引数は、数、ブール値、またはノードセットとすることができます 例: string(314) |
fn:codepoints-to- string(( int,int,... ) ) | Unicode標準コードポイントの配列から文字列を作成 例:コードポイント・ツー・string((84, 104, 233, 114, 232, 115, 101) |
fn:string-to- codepoints( string ) | 文字列からユニコード標準コードポイントのシーケンスを返します。 例:文字列・ツー・codepoints("Th r se") |
fn:codepoint- equal( comp1,comp2 ) | COMP1の値は、Unicodeコードポイント照合に従って、COMP2の値に等しい場合にtrueを返し(http://www.w3.org/2005/02/xpath-functions/collation/codepoint)それ以外の場合は偽を返し、 |
fn: compare( comp1,comp2 ) fn: compare( comp1,comp2,collation ) | COMP1はCOMP2より大きい場合COMP1はCOMP2、又は1に等しい場合COMP1はCOMP2、0未満である場合には-1を返す(使用される照合のルールに従って) 例: compare('ghi', 'ghi') |
fn: concat( string,string,... ) | 文字列の連結を返します。 例: concat('XPath ','is ','FUN!') |
fn:string- join( (string,string,...) ,sep) | 文字列引数を連結し、セパレータとして9月の引数を使用して作成した文字列を返します。 例:ストリング] join(('We', 'are', 'having', 'fun!') 「'、) 例:ストリング] join(('We', 'are', 'having', 'fun!') ) 例:ストリング] join(() 、 '9月に') |
fn: substring( string,start,len ) fn: substring( string,start ) | 指定された長さの開始位置から部分文字列を返します。 最初の文字のインデックスは1です。長さは、それが最後に開始位置から部分文字列を返す省略された場合 例: substring('Beatles',1,4) 例: substring('Beatles',2) |
fn:string- length( string ) fn:string- length() | 指定した文字列の長さを返します。 何文字列引数がない場合には、現在のノードの文字列値の長さを返します 例:はstring- length('Beatles') |
fn:normalize- space( string ) fn:normalize- space() | 指定された文字列から先頭と末尾のスペースを削除し、そして1と結果を返すと、ホワイトスペースのすべての内部シーケンスを置き換えます。 何の文字列引数がない場合には、現在のノードで同じことを行います 例:normalize- space(' The XML ') |
fn:normalize- unicode() | |
fn:upper- case( string ) | 文字列引数は、大文字に変換します 例:大文字case('The XML') |
fn:lower- case( string ) | 文字列引数は、小文字に変換します 例:小文字case('The XML') |
fn: translate( string1,string2,string3 ) | string3の文字とstring2の中の文字を置換することによって、文字列1を変換 例: translate('12:30','30','45') 例: translate('12:30','03','54') 例: translate('12:30','0123','abcd') |
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() 例:エスケープ-URI ("http://example.com/~b b ", false() |
fn: contains( string1,string2 ) | 文字列1が文字列2が含まれている場合、それ以外の場合はfalseを返し、trueを返します 例: contains('XML','XM') |
fn:starts- with( string1,string2 ) | 文字列1が文字列2で始まっている場合、それ以外の場合はfalseを返し、trueを返します 例:starts- with('XML','X') |
fn:ends- with( string1,string2 ) | 文字列1が文字列2で終了した場合、それ以外の場合はfalseを返し、trueを返します 例:ends- with('XML','X') |
fn:substring- before( string1,string2 ) | string2のがそれで発生する前に、文字列1の開始を返します。 例:substring- before('12/10','/') |
fn:substring- after( string1,string2 ) | string2のがそれで発生した後に文字列1の残りの部分を返します。 例:substring- after('12/10','/') |
fn: matches( string,pattern ) | 文字列引数がパターンに一致した場合、それ以外の場合はfalseを返し、trueを返します 例: matches("Merano", "ran") |
fn: replace( string,pattern,replace ) | 置き換える引数で指定したパターンに置き換えることによって作成された文字列を返します。 例: replace("Bella Italia", "l" , "*") 例: replace("Bella Italia", "l" , "") |
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()関数。 ブール値がtrueの場合ブール値がfalse、およびfalseの場合にtrueを返します 例: not(true() |
fn: true() | ブール値は、trueを返します 例: true() |
fn: 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 ) | 引数の値の正規字句表現の秒コンポーネントを表し、小数点を返します。 |
fn:year-from- dateTime( datetime ) | 引数のローカライズされた値で年コンポーネントを表す整数を返します。 例:年-from- dateTime(xs:dateTime("2005-01-10T12:30-04:10") |
fn:month-from- dateTime( datetime ) | 引数のローカライズされた値の月コンポーネントを表す整数を返します。 例:月-from- dateTime(xs:dateTime("2005-01-10T12:30-04:10") |
fn:day-from- dateTime( datetime ) | 引数のローカライズされた値で日コンポーネントを表す整数を返します。 例:1日-from- dateTime(xs:dateTime("2005-01-10T12:30-04:10") |
fn:hours-from- dateTime( datetime ) | 引数のローカライズされた値の時間コンポーネントを表す整数値を返します 例:時間-from- dateTime(xs:dateTime("2005-01-10T12:30-04:10") |
fn:minutes-from- dateTime( datetime ) | 引数のローカライズされた値の分コンポーネントを表す整数値を返します 例:分-from- dateTime(xs:dateTime("2005-01-10T12:30-04:10") |
fn:seconds-from- dateTime( datetime ) | 引数のローカライズされた値の秒コンポーネントを表し、小数点を返します。 例:秒-from- dateTime(xs:dateTime("2005-01-10T12:30:00-04:10") |
fn:timezone-from- dateTime( datetime ) | もしあれば、引数のタイムゾーンの部分を返します。 |
fn:year-from- date( date ) | 引数のローカライズされた値の年を表す整数を返します。 例:年-from- date(xs:date("2005-04-23") |
fn:month-from- date( date ) | 引数のローカライズされた値の月を表す整数を返します。 例:月-from- date(xs:date("2005-04-23") |
fn:day-from- date( date ) | 引数のローカライズされた値の日を表す整数を返します。 例:1日-from- date(xs:date("2005-04-23") |
fn:timezone-from- date( date ) | もしあれば、引数のタイムゾーンの部分を返します。 |
fn:hours-from- time( time ) | 引数のローカライズされた値の時間コンポーネントを表す整数値を返します 例:時間-from- time(xs:time("10:22:00") |
fn:minutes-from- time( time ) | 引数のローカライズされた値の分コンポーネントを表す整数値を返します 例:分-from- time(xs:time("10:22:00") |
fn:seconds-from- time( time ) | 引数のローカライズされた値の秒コンポーネントを表す整数を返します。 例:秒-from- time(xs:time("10:22:00") |
fn:timezone-from- time( time ) | もしあれば、引数のタイムゾーンの部分を返します。 |
fn:adjust-dateTime-to- timezone( datetime,timezone ) | タイムゾーンの引数が空の場合、それはタイムゾーンなしのdateTimeを返します。 それ以外の場合は、タイムゾーンでdateTimeのを返します。 |
fn:adjust-date-to- timezone( date ,timezone ) | タイムゾーンの引数が空の場合、それはタイムゾーンなしの日付を返します。 それ以外の場合は、タイムゾーンと日付を返します。 |
fn:adjust-time-to- timezone( time ,timezone ) | タイムゾーンの引数が空の場合、それはタイムゾーンなしで時間を返します。 それ以外の場合は、タイムゾーンとの時間を返します。 |
QNameに関連する関数
名 | 説明 |
---|---|
fn: QName() | |
fn:local-name-from- QName() | |
fn:namespace-uri-from- QName() | |
fn:namespace-uri-for- prefix() | |
fn:in-scope- prefixes() | |
fn:resolve- QName() |
ノードでの機能
名 | 説明 |
---|---|
fn: name() fn: name( nodeset ) | 指定されたノードセットの現在のノードまたは最初のノードの名前を返します。 |
fn:local- name() fn:local- name( nodeset ) | 現在のノードの名前または指定したノード集合内の最初のノードを返します - 名前空間接頭辞なし |
fn:namespace- uri() fn:namespace- uri( nodeset ) | 現在のノードまたは指定したノード集合内の最初のノードの名前空間URIを返します。 |
fn: lang( lang ) | 現在のノードの言語が指定した言語の言語と一致する場合はtrueを返します 例: Lang("en")のために真であります 例: Lang("de")のために偽であります |
fn: root() fn: root( node ) | 現在のノードまたは指定が属するツリーのルートを返します。 これは通常、ドキュメント・ノードになります |
配列に機能
シーケンス上の一般的な機能
名 | 説明 |
---|---|
fn:index- of( (item,item,...) ,searchitem) | searchitem引数に等しい項目のシーケンス内の位置を返します。 例:索引の((15, 40, 25, 40, 10) 、40) 例:索引の(("a", "dog" , "and" , "a" , "duck") "A") 例:索引の((15, 40, 25, 40, 10) 、18) |
fn: remove( (item,item,...) ,position) | 取り出し位置引数で指定された項目と - 項目引数の値から構築新しいシーケンスを返します。 例: remove(("ab", "cd" , "ef") 、0) 例: remove(("ab", "cd" , "ef") 、1) 例: remove(("ab", "cd" , "ef") 、4) |
fn: empty( item,item,... ) | 引数の値が空のシーケンスである場合に、それ以外の場合はfalseを返し、trueを返します 例: empty(remove(("ab", "cd") 、1)) |
fn: exists( item,item,... ) | 引数の値が空のシーケンスでない場合、それ以外の場合はfalseを返し、trueを返します 例: exists(remove(("ab") 、1)) |
fn:distinct- values( (item,item,...) ,collation) | 戻り値のみの異なる(different)値 例:distinct- values((1, 2, 3, 1, 2) |
fn:insert- before( (item,item,...) ,pos,inserts) | POS引数で指定された位置に挿入された挿入引数の値を持つ - 項目引数の値から構築新しいシーケンスを返します。 例:インサートbefore(("ab", "cd") 、0、 "GH") 例:インサートbefore(("ab", "cd") 、1、 "GH") 例:インサートbefore(("ab", "cd") 、2、 "GH") 例:インサートbefore(("ab", "cd") 、5、 "GH") |
fn: reverse( (item,item,...) ) | 指定された項目の逆の順序を返します。 例: reverse(("ab", "cd" , "ef") 例: reverse(("ab") |
fn: subsequence( (item,item,...) ,start,len) | start引数とlen引数で指定した項目の数を継続することにより、指定された位置から項目のシーケンスを返します。 最初の項目は、位置1に配置されています 例: subsequence(($item1, $item2, $item3,...) 、3) 例: subsequence(($item1, $item2, $item3, ...) 、2、2) |
fn: unordered( (item,item,...) ) | 実装に依存するためにアイテムを返します。 |
配列のカーディナリティをテストする関数
名 | 説明 |
---|---|
fn:zero-or- one( item,item,... ) | それは、ゼロまたは1つのアイテムが含まれている場合、それ以外の場合はエラーを発生させ、引数を返します。 |
fn:one-or- more( item,item,... ) | それは1つ以上の項目を含んでいる場合、それ以外の場合はエラーを発生させ、引数を返します。 |
fn:exactly- one( item,item,... ) | それは正確に一つの項目が含まれている場合、それ以外の場合はエラーを発生させ、引数を返します。 |
連合、交差点及び除き、等しいです
名 | 説明 |
---|---|
fn:deep- equal( param1,param2,collation ) | それ以外の場合はfalseを返し、PARAM1およびPARAM2が互いに深等しい場合はtrueを返します。 |
集計関数
名 | 説明 |
---|---|
fn: count( (item,item,...) ) | ノードの数を返します。 |
fn: avg( (arg,arg,...) ) | 引数の値の平均値を返します。 例: avg((1,2,3) |
fn: max( (arg,arg,...) ) | 他よりも大きい引数を返します。 例: max((1,2,3) 例: max(('a', 'k') |
fn: min( (arg,arg,...) ) | 他の人よりも少ない引数を返します。 例: min((1,2,3) 例: min(('a', 'k') |
fn: sum( arg,arg,... ) | 指定されたノード・セット内の各ノードの数値の合計を返します。 |
シーケンスを生成する機能
名 | 説明 |
---|---|
fn: id( (string,string,...) ,node) | 文字列引数で指定された値のうちの1つまたは複数の値に等しいID値を持つ要素ノードの配列を返します |
fn: idref( (string,string,...) ,node) | 文字列引数で指定された値のうちの1つまたは複数の値に等しいIDREF値を有する要素または属性ノードの配列を返します |
fn: doc( URI ) | |
fn:doc- available( URI ) | 場合にtrueを返しますdoc()関数は、ドキュメントのノードを返し、それ以外の場合はfalseを返し、 |
fn: collection() fn: collection( string ) |
コンテキスト機能
名 | 説明 |
---|---|
fn: position() | 現在処理されているノードのインデックス位置を返します。 例://ブック[ position() <= 3] |
fn: last() | 処理されたノードリスト内の項目数を返します。 例://ブック[ last() ] |
fn:current- dateTime() | 現在のDateTimeを返します(with timezone) |
fn:current- date() | 現在の日付を返します(with timezone) |
fn:current- time() | 現在の時刻を返します(with timezone) |
fn:implicit- timezone() | 暗黙のタイムゾーンの値を返します。 |
fn:default- collation() | デフォルト照合の値を返します。 |
fn:static-base- uri() | ベースURIの値を返します。 |
XSLT機能
また、内蔵のXSLT関数以下があります。
名 | 説明 |
---|---|
current() | 現在のノードを返します。 |
document() | 外部のXML文書内のノードにアクセスするために使用します |
element- available() | 指定された要素は、XSLTプロセッサによってサポートされているかどうかをテスト |
format- number() | 文字列に数値を変換 |
function- available() | 指定された機能は、XSLTプロセッサによってサポートされているかどうかをテスト |
generate- id() | 一意的に指定されたノードを識別する文字列値を返し |
key() | 指定されたインデックス用いてノードセットを返す<xsl:key>要素 |
system- property() | システムプロパティの値を返します。 |
unparsed-entity- uri() | 解析対象外実体のURIを返します。 |