サポートされる ESQL および XPath 式

XPath 式、関数、およびデータ・モデルについては、www.w3.org/TR/xpath を参照してください。 XPath の完全なチュートリアルは、www.w3schools.com/xpath にあります。

注: ここで説明する ESQL 関数はメッセージ・マッピング・エディターによってサポートされますが、ここ記載された形式に限られるわけではありません。正確な構文について詳しくは、メッセージ・マッピング・エディター 内容アシスト を参照してください。
ESQL 固有関数   ESQL 等価
esql:date($arg)   CAST($arg AS DATE)
esql:time($arg)   CAST($arg AS TIME)
esql:timestamp($arg)   CAST($arg AS TIMESTAMP)
esql:gmttime($arg)   CAST($arg AS GMTTIME)
esql:gmttimestamp($arg)   CAST($arg AS GMTTIMESTAMP)
esql:interval-year($arg)   CAST($arg AS INTERVAL YEAR)
esql:interval-year-to-month($arg)   CAST($arg AS INTERVAL YEAR TO MONTH)
esql:interval-month($arg)   CAST($arg AS INTERVAL MONTH)
esql:interval-day-to-hour($arg)   CAST($arg AS INTERVAL DAY TO HOUR)
esql:interval-day-to-second($arg)   CAST($arg AS INTERVAL DAY TO SECOND)
esql:interval-hour-to-minute($arg)   CAST($arg AS INTERVAL HOUR TO MINUTE)
esql:interval-hour-to-second($arg)   CAST($arg AS INTERVAL HOUR TO SECOND)
esql:interval-minute($arg)   CAST($arg AS INTERVAL MINUTE)
esql:interval-minute-to-second($arg)   CAST($arg AS INTERVAL MINUTE TO SECOND)
esql:interval-second($arg)   CAST($arg AS INTERVAL SECOND)
注: 1. $arg は任意の ESQL 式
   
     
esql:current-date   CURRENT_DATE
esql:current-gmtdate   CURRENT_GMTDATE
esql:current-gmttime   CURRENT_GMTTIME
esql:current-gmttimestamp   CURRENT_GMTTIMESTAMP
esql:current-time   CURRENT_TIME
esql:current-timestamp   CURRENT_TIMESTAMP
esql:local-timezone   LOCAL_TIMEZONE
     
esql:like($string, $pattern)   $string LIKE $pattern
esql:like($string, $pattern, $escape)   $string LIKE $pattern ESCAPE $escape
注: 2. $pattern は任意の ESQL 正規表現。
   
esql:position(string $search, string $source)   POSITION($search IN $source)
esql:position(string $search, string $source, integer $from)   POSITION($search IN $source FROM $from)
esql:position(string $search, string $source, integer $from, integer $repeat)   POSITION($search IN $source FROM $from REPEAT $repeat)
esql:trim-both(string $from)   TRIM(BOTH FROM $from)
esql:trim-both(string $token, string $from)   TRIM(BOTH $token FROM $from)
esql:trim-leading(string $from)   TRIM(LEADING FROM $from)
esql:trim-leading(string $token, string $from)   TRIM(LEADING $token FROM $from)
esql:trim-trailing(string $from)   TRIM(TRAILING FROM $from)
     
注: 3. 他のすべての esql 関数は、接頭部 esql を使用して現状のまま呼び出せる。
   
     
fn:false() as xs:boolean   FALSE
fn:sum($arg as xdt:anyAtomicType*) as xdt:anyAtomicType   XPath 仕様書を参照のこと。 XPath シーケンス表記はサポートされないので、入力はソース参照パスに限定される。
fn:concat($arg1 as xdt:anyAtomicType?, $arg2 as xdt:anyAtomicType?) as xs:string   $arg1 || $arg2。 XPath は n 個の引数をサポートするが、ここでは、n 個の引数の振る舞いを複製するネスティング関数のオプションによって 2 つの引数に限定されている。fn:concat(fn:concat($arg1, $arg2), $arg3))
fn:empty($arg as item()*) as xs:boolean   $arg IS NULL
     
XPath 抽出関数   ESQL EXTRACT 関数と等価
fn:year-from-dateTime   XPath 仕様書を参照のこと。
fn:month-from-dateTime   XPath 仕様書を参照のこと。
fn:day-from-dateTime   XPath 仕様書を参照のこと。
fn:hours-from-dateTime   XPath 仕様書を参照のこと。
fn:minutes-from-dateTime   XPath 仕様書を参照のこと。
fn:seconds-from-dateTime   XPath 仕様書を参照のこと。
fn:year-from-date   XPath 仕様書を参照のこと。
fn:month-from-date   XPath 仕様書を参照のこと。
fn:day-from-date   XPath 仕様書を参照のこと。
fn:hours-from-time   XPath 仕様書を参照のこと。
fn:minutes-from-time   XPath 仕様書を参照のこと。
fn:seconds-from-time   XPath 仕様書を参照のこと。
fn:years-from-duration   XPath 仕様書を参照のこと。
fn:months-from-duration   XPath 仕様書を参照のこと。
fn:days-from-duration   XPath 仕様書を参照のこと。
fn:hours-from-duration   XPath 仕様書を参照のこと。
fn:minutes-from-duration   XPath 仕様書を参照のこと。
fn:seconds-from-duration   XPath 仕様書を参照のこと。
     
XPath 型キャスト   これらは ESQL CAST 操作と等価。
xs:hexBinary    
xs:boolean    
xs:string    
xs:date   以下の注 4 を参照。 引数は、ストリング・リテラルまたはストリング・リテラルの参照でなければならない。
xs:time   以下の注 4 を参照。 引数は、ストリング・リテラルまたはストリング・リテラルの参照でなければならない。
xs:dateTime   以下の注 4 を参照。 引数は、ストリング・リテラルまたはストリング・リテラルの参照でなければならない。
xs:duration   以下の注 4 を参照。 引数は、ストリング・リテラルまたはストリング・リテラルの参照でなければならない。
xdt:yearMonthDuration   以下の注 4 を参照。 引数は、ストリング・リテラルまたはストリング・リテラルの参照でなければならない。
xdt:dayTimeDuration   以下の注 4 を参照。
xs:decimal    
xs:double    
xs:long    
注: 4. 注: 太字で強調表示された関数は、esql:date、 esql:time、esql:timeStamp、esql:interval* キャストと類似していますが、等価ではありません。 date/time/duration キャストの両クラスの使用法は限定されています。esql date/time/duration キャストは、MRM 構文解析された入力 (xs:date、xs:time、xs:duration など) および ESQL フォーマットに準拠するストリング・リテラルを処理できます。 XPath date/time/duration キャストは、ISO8601 ストリング・フォーマットをサポートするために提供されています。このストリング・フォーマットを ESQL CAST 関数は正常に処理しません。しかし、これはそれらのキャストがサポートできるただ一つのストリング・リテラルまたはストリング・リテラルへの参照です。
   
     
MsgMap 関数    
msgmap:occurrence($sourcePath) as xs:integer   現行ソース・インスタンスに戻る。
msgmap:exact-type($sourcePath, $nsLiteral, $typeLiteral) as xs:boolean   ソースの xsi:type が、指定されたネーム・スペースおよびタイプ・リテラルと等価である場合、true を戻す。

ESQL ストリング処理関数

関数 サポートされるか (はい/いいえ)
LEFT はい  
LENGTH はい  
LOWER/LCASE はい  
LTRIM はい  
OVERLAY はい 多重定義された関数でラップされる: esql:overlay(string $source_string, string $source_string2, integer $start_position) esql:overlay(string $source_string, string $source_string2, integer $start_position, integer $string_length)
POSITION はい (間接的に) 多重定義された関数でラップされる: esql:position(string $search, string $source) esql:position(string $search, string $source, integer $from) esql:position(string $search, string $source, integer $from, integer $repeat)
REPLACE はい  
REPLICATE はい  
RIGHT はい  
RTRIM はい  
SPACE はい  
SUBSTRING いいえ fn:substring によって置換される
TRANSLATE はい  
TRIM はい (間接的に) 多重定義された関数でラップされる: esql:trim-both(string $from) esql:trim-both(string $token, string $from) esql:trim-leading(string $from) esql:trim-leading(string $token, string $from) esql:trim-trailing(string $from) esql:trim-trailing(string $token, string $from)
UPPER/UCASE はい  

ESQL 数値関数

すべての ESQL 数字関数はサポートされています。

ESQL 日時関数

関数 サポートされるか (はい/いいえ)
EXTRACT いいえ xPath 抽出関数によってサポートされる
CURRENT_DATE はい (間接的に) 0 引数の関数によってラップされる: esql:current-date()
CURRENT_TIME はい (間接的に) 0 引数の関数によってラップされる: esql:current-time()
CURRENT_TIMESTAMP はい (間接的に) 0 引数の関数によってラップされる: esql:current-timestamp()
CURRENT_GMTDATE はい (間接的に) 0 引数の関数によってラップされる: esql:current-gmtdate()
CURRENT_GMTTIME はい (間接的に) 0 引数の関数によってラップされる: esql:current-gmttime()
CURRENT_GMTTIMESTAMP はい (間接的に) 0 引数の関数によってラップされる: esql:current-gmttimestamp()
LOCAL_TIMEZONE はい (間接的に) 0 引数の関数によってラップされる: esql:current-timezone()

ESQL フィールド関数

関数 サポートされるか (はい/いいえ)
ASBITSTREAM いいえ 文節は指定を必要とする。 サポートされる ESQL 定数 (FolderBitStream、RootBitStream、ValidateContentValue...)
BITSTREAM はい  
CARDINALITY いいえ 公開された ESQL 参照パス構文は fn:count() によって置換される。
FIELDNAME いいえ ESQL 固有パス式を制限 (つまり、FIELDNAME(InputRoot.*[<]))
FIELDNAMESPACE いいえ  
FIELDTYPE いいえ ESQL 定数が公開される (つまり、タイプは定数 NameValue、Name、XML.Attribute... が可能)
FIELDVALUE いいえ  
FOR いいえ メッセージ・マッピング・エディターでは for 文がすでに使用可能
LASTMOVE いいえ 条件を評価する MOVE 文が必要。
SAMEFIELD いいえ ESQL 参照はサポートされない。 パス参照は常に固有なので、$source1 と $source2 が同じ値を指すかどうかのテストは不要。

複合 ESQL 関数

関数 サポートされるか (はい/いいえ)
CASE いいえ パラメーター数は可変。 結果は Qualify/条件ステートメントを使用することによって得られる。
CAST いいえ 同等の関数が esql および xPath データ・タイプ構造に存在する。
SELECT いいえ Select ステートメントを介してサポートされる。
ROW いいえ 複数の子を作成する (これはメッセージ定義と一致しない場合がある)
LIST いいえ ターゲットは ESQL リスト

ESQL データベース状態関数

関数 サポートされるか (はい/いいえ)
SQLCODE はい (間接的に) 0 引数関数 esql:sqlcode() でラップすることが必要
SQLERRORTEXT はい (間接的に) 0 引数関数 esql:sqlerrortext() でラップすることが必要
SQLNATIVEERROR はい (間接的に) 0 引数関数 esql:sqlnativeerror() でラップすることが必要
SQLSTATE はい (間接的に) 0 引数関数 esql:sqlstate() でラップすることが必要

各種 ESQL 関数

関数 サポートされるか (はい/いいえ)
COALLESCE はい  
NULLIF はい  
PASSTHRU いいえ ESQL データベース・ステートメントの仕様が必要
UUIDASBLOB はい  
UUIDASCHAR はい  
関連タスク
メッセージ・マッピングの開発
内容アシスト
特記事項 | 商標 | ダウンロード | ライブラリー | サポート | フィードバック
Copyright IBM Corporation 1999, 2005 Last updated: 11/07/2005
ar25223_