ヘッダーをスキップ
Oracle Enterprise Service Bus 開発者ガイド
10g (10.1.3.4.0)
B50869-02
  目次
目次
索引
索引

戻る
戻る
 
次へ
次へ
 

A XPath拡張関数

Oracleには、ビルトインのESB機能とXPath標準を使用するXPath拡張関数が用意されています。この章では、各XPath拡張関数の説明、シグネチャ、引数の説明およびプロパティID情報を提供します。

項目は次のとおりです。

add-dayTimeDuration-to-dateTime

この関数では、指定された期間にdateTimeを加算した新しい日時の値が返されます。

期間の値が負の場合、結果の値はdateTimeより前の日時になります。

シグネチャ:

xp20:add-dayTimeDuration-from-dateTime(dateTime as string, duration as string)

引数:

プロパティID:

compare

この関数では、inputStringcompareStringの各文字のUnicode値が比較され、これらの文字列間の辞書的な差異が返されます。

inputStringが辞書的にcompareStringより前にある場合は、-1が返されます。

inputStringcompareStringが等しい場合は、0が返されます。

inputStringが辞書的にcompareStringより後にある場合は、1が返されます。

例:

xp20:compare('Audi', 'BMW')の場合は、-1が返されます。

シグネチャ:

xp20:compare(inputString as string, compareString as string)

引数:

プロパティID:

compare-ignore-case

この関数では、大/小文字を無視してinputStringcompareStringの各文字のUnicode値が比較され、これらの文字列間の辞書的な差異が返されます。

inputStringが辞書的にcompareStringより前にある場合は、-1が返されます。

inputStringcompareStringが等しい場合は、0が返されます。

inputStringが辞書的にcompareStringより後にある場合は、1が返されます。

例:

xp20:compare-ignore-case('Audi','bmw')の場合は、-1が返されます。

シグネチャ:

orcl:compare-ignore-case(inputString as string, compareString as string)

引数:

プロパティID:

create-delimited-string

この関数では、nodeSetから作成され、デリミタで区切られた文字列が返されます。

シグネチャ:

orcl:create-delimited-string(nodeSet as node-set, delimiter as string)

引数:

プロパティID:

current-date

この関数では、現在の日付がISO書式YYYY-MM-DDで返されます。

シグネチャ:

xp20:current-date(object)

引数:

プロパティID:

current-dateTime

この関数では、現在の日時がISO書式CCYY-MM-DDThh:mm:ssTZDで返されます。

シグネチャ:

xp20:current-dateTime(object)

引数:

プロパティID:

current-time

この関数では、現在の時刻がISO書式で返されます。この書式はhh:mm:ssTZDです。

シグネチャ:

xp20:current-time(object)

引数:

プロパティID:

day-from-dateTime

この関数では、dateTimeに含まれる日の情報が返されます。デフォルトの日は1です。

シグネチャ:

xp20:day-from-dateTime(object)

引数:

プロパティID:

doc

この関数では、XMLファイルのコンテンツが返されます。

シグネチャ:

ora:doc('fileName','xpath'?)

引数:

プロパティID:

ends-with

この関数では、inputStringsearchStringで終わる場合、trueが返されます。

例:

xp20:ends-with('XSL Map','Map')の場合は、trueが返されます。

シグネチャ:

xp20:ends-with(inputString as string, searchString as string)

引数:

プロパティID:

format-dateTime

この関数では、指定した書式を使用して書式設定されたdateTimeの文字列が返されます。

シグネチャ:

xp20:format-dateTime(dateTime as string, format as string)

引数:

プロパティID:

format-string

この関数では、渡した引数を使用して書式設定されたメッセージが返されます。少なくとも1つの引数が必要であり、最大10の引数がサポートされます。

例:

orcl:format-string('{0} + {1} = {2}','2','2','4')の場合は、'2 + 2 = 4'が返されます。

シグネチャ:

orcl:format-string(string,string,string...)

引数:

プロパティID:

generate-guid

この関数では、一意のGUIDが生成されます。

シグネチャ:

orcl:generate-guid()

引数:

プロパティID:

get-content-as-string

この関数では、入力要素のXML表現が返されます。

シグネチャ:

orcl:get-content-as-string(element as node-set)

引数:

プロパティID:

get-localized-string

この関数では、キーに対するロケール固有の文字列が返されます。言語、国、変数およびリソース・バンドルを使用して、正しいリソース・バンドルが識別されます。

リソース・バンドルは、resourceBaseURLに対してresourceLocationを解決することによって取得されます。URLは、/で終わる場合にかぎりディレクトリとみなされます。

使用方法:

orcl:get-localized-string(resourceBaseURL as string, resourceLocation as string, resource bundle as string, language as string, country as string, variant as string, key as string)

例: orcl:get-localized-string('file:/c:/','','MyResourceBundle','en','US','','MSG_KEY')の場合は、C:¥ディレクトリのリソース・バンドル'MyResourceBundle'からロケール固有の文字列が返されます。

シグネチャ:

orcl:get-localized-string(resourceURL,resourceLocation,resourceBundleName,language,country,variant,messageKey)

引数:

プロパティID:

getInboundResponseHeader

この関数では、インバウンド・レスポンス・ヘッダーから文字列値が取得されます。

シグネチャ:

ehdr:getInboundResponseHeader(headerXPath, namespaceDeclarations)

引数:

プロパティID:

getRequestHeader

この関数では、リクエスト・メッセージ・ヘッダーから文字列値が取得されます。

シグネチャ:

ehdr:getRequestHeader(headerXPath, namespaceDeclarations)

引数:

プロパティID:

hours-from-dateTime

この関数では、dateTimeに含まれる時間の情報が返されます。デフォルトの時間は0です。

シグネチャ:

xp20:hours-from-dateTime(dateTime as string)

引数:

プロパティID:

implicit-timezone

この関数では、現在のタイムゾーンが、UTC(協定世界時)からの偏差を示すISO書式+/- hh:mmで返されます。

シグネチャ:

xp20:implicit-timezone(object)

引数:

プロパティID:

index-within-string

この関数では、inputStringの中で最初に出現するsearchStringのゼロから始まる索引が返されます。

searchStringが見つからない場合は、-1が返されます。

例:

orcl:index-within-string('ABCABC, 'B')の場合は、1が返されます。

シグネチャ:

orcl:index-within-string(inputString as string, searchString as string)

引数:

プロパティID:

last-index-within-string

この関数では、inputStringの中で最後に出現するsearchStringのゼロから始まる索引が返されます。

searchStringが見つからない場合は、-1が返されます。

例:

orcl:last-index-within-string('ABCABC', 'B')の場合は、4が返されます。

シグネチャ:

orcl:last-index-within-string(inputString as string, searchString as string)

引数:

プロパティID:

left-trim

この関数では、inputStringから先頭の空白文字をすべて削除した値が返されます。

例:

orcl:left-trim(' account ')の場合は、'account 'が返されます。

シグネチャ:

orcl:left-trim(inputString)

引数:

プロパティID:

lookup-dvm

この関数では、ソース列の値がソースの値と等しいDVM内のターゲット列の値が検索され、文字列が返されます。ソースの値は、XSLTトランスフォーメーションのソース文書にバインドされるXPath式です。式はトランスフォーメーション中に評価され、結果の値がルックアップ用のソースの値として渡されます。この関数には5つのパラメータがあります。

例:

orcl:lookup-dvm ('StateCodes','Long',/inp1:Customer/Profile/AccountRep/Address/State,'Short',"")

シグネチャ:

orcl:lookup-dvm (dvmName as string, sourceColumn as string, sourceValue as xpath expression, targetColumnName as string, defaultValue as string)

引数:

プロパティID:

lookup-table

この関数では、パラメータから生成されたSQL問合せに基づいて文字列が返されます。

この文字列は、次の問合せを実行することによって取得されます。

SELECT outputColumn FROM table WHERE inputColumn = key

この問合せの対象は、JDBC接続文字列(jdbc:oracle:thin:username/password@host:port:sid)またはデータ・ソースJNDI識別子のいずれかのデータ・ソースです。JDBC接続文字列を使用する場合は、Oracle Thinドライバのみがサポートされます。

例:

orcl:lookup-table('employee','id','1234','last_name','jdbc:oracle:thin:scott/tiger@localhost:1521:ORCL')

シグネチャ:

orcl:lookup-table(table, inputColumn, key, outputColumn, datasource)

引数:

プロパティID:

lookup-xml

この関数では、XMLファイル(docURL)で、親XPath(parentXPath)、キーXPath(keyXPath)およびキー値(key)が指定されたlookupXPathで定義される要素の文字列値が返されます。

例:

orcl:lookup-xml('file:/d:/country_data.xml', '/Countries/Country', 'Abbreviation', 'FullName', 'UK')の場合は、ファイルD:¥country_data.xmlで、Abbreviation = 'UK'である/Countries/Countryの子要素FullNameの値が返されます。

シグネチャ:

orcl:lookup-xml(docURL, parentXPath, keyXPath, lookupXPath, key)

引数:

プロパティID:

lower-case

この関数では、inputStringの文字をすべて小文字に変換した値が返されます。

例:

xp20:lower-case('ABc!D')の場合は、'abc!d'が返されます。

シグネチャ:

xp20:lower-case(inputString)

引数:

プロパティID:

minutes-from-dateTime

この関数では、dateTimeに含まれる分の情報が返されます。デフォルトの分は0です。

シグネチャ:

xp20:minutes-from-dateTime(dateTime)

引数:

プロパティID:

month-from-dateTime

この関数では、dateTimeに含まれる月の情報が返されます。デフォルトの月は1(1月)です。

シグネチャ:

xp20:month-from-dateTime(dateTime)

引数:

プロパティID:

query-database

この関数では、指定されたデータベースに対してSQL問合せが実行され、ノードセットが返されます。

シグネチャ:

orcl:query-database(sqlquery as string, rowset as boolean, row as boolean, datasource as string)

引数:

プロパティID:

right-trim

この関数では、inputStringから後続の空白文字をすべて削除した値が返されます。

例:

orcl:right-trim(' account ')の場合は、' account'が返されます。

シグネチャ:

orcl:right-trim(inputString as string)

引数:

プロパティID:

seconds-from-dateTime

この関数では、dateTimeに含まれる秒の情報が返されます。デフォルトの秒は0です。

シグネチャ:

xp20:seconds-from-dateTime(dateTime as string)

引数:

プロパティID:

sequence-next-val

この関数では、Oracleの順序の次の値が返されます。

順序における次の値は、次の問合せを実行することによって取得されます。

SELECT sequence.nextval FROM dual

この問合せの対象は、JDBC接続文字列(jdbc:oracle:thin:username/password@host:port:sid)またはデータ・ソースJNDI識別子のいずれかのデータ・ソースです。JDBC接続文字列を使用する場合は、Oracle Thinドライバのみがサポートされます。

例:

orcl:sequence-next-val('employee_id_sequence','jdbc:oracle:thin:scott/tiger@localhost:1521:ORCL')

シグネチャ:

orcl:sequence-next-val(sequence as string, datasource as string)

引数:

プロパティID:

setOutboundHeader

この関数では、アウトバウンド・メッセージ・ヘッダー値が設定されます。

シグネチャ:

ehdr:set-outbound-header(headerXPath, value, namespaceDeclarations)

引数:

プロパティID:

setResponseHeader

この関数では、レスポンス・メッセージ・ヘッダー値が設定されます。

シグネチャ:

ehdr:set-response-header(headerXPath, value, namespaceDeclarations)

引数:

プロパティID:

square-root

この関数では、inputNumberの平方根が返されます。

例:

orcl:square-root(25)の場合は、5が返されます。

シグネチャ:

orcl:square-root(inputNumber as number)

引数:

プロパティID:

subtract-dayTimeDuration-from-dateTime

この関数では、dateTimeから期間が減算され、新規のdateTimeが返されます。

期間の値が負の場合、結果のdateTime値はinput-dateTimeより後の日時になります。

シグネチャ:

xp20:subtract-dayTimeDuration-from-dateTime(dateTime as string, duration as string)

引数:

プロパティID:

timezone-from-dateTime

この関数では、dateTimeに含まれるタイムゾーンの情報が返されます。デフォルトのタイムゾーンはGMT+00:00です。

シグネチャ:

xp20:timezone-from-dateTime(dateTime as string)

引数:

プロパティID:

upper-case

この関数では、inputStringの文字をすべて大文字に変換した値が返されます。

例:

xp20:upper-case('abCd0')の場合は、'ABCD0'が返されます。

シグネチャ:

xp20:upper-case(inputString as string)

引数:

プロパティID:

year-from-dateTime

この関数では、dateTimeに含まれる年の情報が返されます。

シグネチャ:

xp20:year-from-dateTime(dateTime as string)

引数:

プロパティID: