ヘッダーをスキップ
Oracle Fusion Middleware Oracle SOA Suite開発者ガイド
11g リリース1(11.1.1)
B56238-01
  目次
目次
索引
索引

戻る
戻る
 
次へ
次へ
 

B XPath拡張関数

この付録では、XPath拡張関数について説明します。 Oracleには、新しい関数を追加するためにOracle SOA SuiteおよびXPath標準に組み込まれた機能を使用する、XPath関数が用意されています。

項目は次のとおりです。

XPath関数の詳細は、次のURLを参照してください。

http://www.w3.org

B.1 SOA XPath拡張関数

この項では、次のSOA XPath拡張関数について説明します。

B.1.1 データベース関数

この項では、次のデータベース関数について説明します。

B.1.1.1 lookup-table

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

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

SELECT outputColumn FROM table WHERE inputColumn = key

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

例: oraext:lookup-table('employee','id','1234','last_name','jdbc:oracle:thin:xyz/xyz@localhost:1521:ORCL')

シグネチャ:

oraext:lookup-table(table, inputColumn, key, outputColumn, data source)

引数:

  • table: データの抽出元の表

  • inputColumn: 表内の列

  • key: 入力列のキーの値

  • outputColumn: データを出力する列

  • data source: データのソース

プロパティID:

  • namespace-uri: http://www.oracle.com/XSL/Transform/java/oracle.tip.pc.services.functions.ExtFunc

  • namespace-prefix: oraext

B.1.1.2 query-database

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

シグネチャ:

oraext:query-database(sqlquery as string, rowset as boolean, row as boolean, data source as string)

引数:

  • sqlquery: 実行するSQL問合せ。

  • rowset: 行を要素で囲むかどうかを指定します。

  • row: 各行を要素で囲むかどうかを指定します。

  • data source: データベースのJDBC接続文字列(jdbc:oracle:thin:username/password@host:port:sid)またはJNDI名。

プロパティID:

  • namespace-uri: http://www.oracle.com/XSL/Transform/java/oracle.tip.pc.services.functions.ExtFunc

  • namespace-prefix: oraext

B.1.1.3 sequence-next-val

この関数は、Oracleの順序の次の値を返します。

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

SELECT sequence.nextval FROM dual

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

例: oraext:sequence-next-val('employee_id_sequence','jdbc:oracle:thin:xyz/xyz@localhost:1521:ORCL')

シグネチャ:

oraext:sequence-next-val(sequence as string, data source as string)

引数:

  • sequence: データベース内の順序番号

  • data source: JDBC接続文字列またはデータソースJNDI識別子

プロパティID:

  • namespace-uri: http://www.oracle.com/XSL/Transform/java/oracle.tip.pc.services.functions.ExtFunc

  • namespace-prefix: oraext

B.1.2 日付関数

この項では、次の関数について説明します。

B.1.2.1 add-dayTimeDuration-to-dateTime

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

期間の値が負の場合、返される値はdateTimeより前の日時になります。

シグネチャ:

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

引数:

  • dateTime as string: 期間を加算するdateTime(文字列書式)

  • duration as string: dateTimeに加算する期間、または期間が負の場合は減算する期間(文字列書式)

プロパティID:

  • namespace-uri: http://www.oracle.com/XSL/Transform/java/oracle.tip.pc.services.functions.Xpath20

  • namespace-prefix: xpath20

B.1.2.2 current-date

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

シグネチャ:

xpath20:current-date(object)

引数:

  • Object: 標準書式の時間

プロパティID:

  • namespace-uri: http://www.oracle.com/XSL/Transform/java/oracle.tip.pc.services.functions.Xpath20

  • namespace-prefix: xpath20

B.1.2.3 current-dateTime

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

シグネチャ:

xpath20:current-dateTime(object)

引数:

  • object: 標準書式の時間

プロパティID:

  • namespace-uri: http://www.oracle.com/XSL/Transform/java/oracle.tip.pc.services.functions.Xpath20

  • namespace-prefix: xpath20

B.1.2.4 current-time

この関数は、現在の時間をISO書式で返します。書式はhh:mm:ssTZDです。

シグネチャ:

xpath20:current-time(object)

引数:

  • object: 標準書式の時間

プロパティID:

  • namespace-uri: http://www.oracle.com/XSL/Transform/java/oracle.tip.pc.services.functions.Xpath20

  • namespace-prefix: xpath20

B.1.2.5 day-from-dateTime

この関数は、dateTimeから日を返します。デフォルトの日は1です。

シグネチャ:

xpath20:day-from-dateTime(object)

引数:

  • object: 文字列としての標準書式の時間

プロパティID:

  • namespace-uri: http://www.oracle.com/XSL/Transform/java/oracle.tip.pc.services.functions.Xpath20

  • namespace-prefix: xpath20

B.1.2.6 format-dateTime

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

シグネチャ:

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

引数:

  • dateTime: 書式設定の対象となるdateTime

  • format: 出力の書式

プロパティID:

  • namespace-uri: http://www.oracle.com/XSL/Transform/java/oracle.tip.pc.services.functions.Xpath20

  • namespace-prefix: xpath20

B.1.2.7 hours-from-dateTime

この関数は、dateTimeから時間を返します。デフォルトの時間は0です。

シグネチャ:

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

引数:

  • dateTime: 日時の文字列

プロパティID:

  • namespace-uri: http://www.oracle.com/XSL/Transform/java/oracle.tip.pc.services.functions.Xpath20

  • namespace-prefix: xpath20

B.1.2.8 implicit-timezone

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

シグネチャ:

xpath20:implicit-timezone(object)

引数:

  • object: 標準書式の時間

プロパティID:

  • namespace-uri: http://www.oracle.com/XSL/Transform/java/oracle.tip.pc.services.functions.Xpath20

  • namespace-prefix: xpath20

B.1.2.9 minutes-from-dateTime

この関数は、dateTimeから分を返します。デフォルトの分は0です。

シグネチャ:

xpath20:minutes-from-dateTime(dateTime as string)

引数:

  • dateTime as string: 日時

プロパティID:

  • namespace-uri: http://www.oracle.com/XSL/Transform/java/oracle.tip.pc.services.functions.Xpath20

  • namespace-prefix: xpath20

B.1.2.10 month-from-dateTime

この関数は、dateTimeから月を返します。デフォルトの月は1(1月)です。

シグネチャ:

xpath20:month-from-dateTime(dateTime as string)

引数:

  • dateTime as string: 書式設定の対象となるdateTime

プロパティID:

  • namespace-uri: http://www.oracle.com/XSL/Transform/java/oracle.tip.pc.services.functions.Xpath20

  • namespace-prefix: xpath20

B.1.2.11 seconds-from-dateTime

この関数は、dateTimeから秒を返します。デフォルトの秒は0です。

シグネチャ:

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

引数:

  • dateTime as a string: 文字列としてのdateTime

プロパティID:

  • namespace-uri: http://www.oracle.com/XSL/Transform/java/oracle.tip.pc.services.functions.Xpath20

  • namespace-prefix: xpath20

B.1.2.12 subtract-dayTimeDuration-from-dateTime

この関数は、dateTimeから期間を減算して、新規のdateTimeを返します。

期間の値が負の場合、返されるdateTime値は指定したinput-dateTimeより後の日時になります。

シグネチャ:

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

引数:

  • dateTime as string: 期間を減算するdateTime(文字列書式)

  • duration as string: dateTimeから減算する期間、または期間が負の場合は加算する期間(文字列書式)

プロパティID:

  • namespace-uri: http://www.oracle.com/XSL/Transform/java/oracle.tip.pc.services.functions.Xpath20

  • namespace-prefix: xp20

B.1.2.13 timezone-from-dateTime

この関数は、dateTimeからタイムゾーンを返します。 デフォルトのタイムゾーンはGMT+00:00です。

シグネチャ:

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

引数:

  • dateTime as string: タイムゾーンを返す対象となるdateTime

プロパティID:

  • namespace-uri: http://www.oracle.com/XSL/Transform/java/oracle.tip.pc.services.functions.Xpath20

  • namespace-prefix: xpath20

B.1.2.14 year-from-dateTime

この関数は、dateTimeから年を返します。

シグネチャ:

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

引数:

  • dateTime: 文字列としてのdateTime

プロパティID:

  • namespace-uri: http://www.oracle.com/XSL/Transform/java/oracle.tip.pc.services.functions.Xpath20

  • namespace-prefix: xpath20

B.1.3 算術関数

この項では、次の関数について説明します。

B.1.3.1 abs

この関数は、inputNumberの絶対値を返します。inputNumberが負でない場合は、inputNumberを返します。 inputNumberが負の場合は、inputNumberからマイナス符号をとった値を返します。

例: abs(-1)1を返します。

シグネチャ:

xpath20:abs(inputNumber as number)

引数:

  • inputNumber as number: 絶対値を返す対象となる数値

プロパティID:

  • namespace-uri: http://www.oracle.com/XSL/Transform/java/oracle.tip.pc.services.functions.Xpath20

  • namespace-prefix: xpath20

B.1.4 文字列関数

この項では、文字列関数について説明します。

B.1.4.1 compare

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

inputStringcompareStringより辞書的に前にある場合は、-1を返します。

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

inputStringcompareStringより辞書的に後にある場合は、1を返します。

例: xpath20:compare('Audi', 'BMW')-1を返します。

シグネチャ:

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

引数:

  • variableName: データのソース変数

  • propertyName: プロパティの修飾名(QName)

プロパティID:

  • namespace-uri: http://www.oracle.com/XSL/Transform/java/oracle.tip.pc.services.functions.Xpath20

  • namespace-prefix: xpath20

B.1.4.2 compare-ignore-case

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

inputStringcompareStringより辞書的に前にある場合は、-1を返します。

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

inputStringcompareStringより辞書的に後にある場合は、1を返します。

例: xpath20:compare-ignore-case('Audi','bmw')-1を返します。

シグネチャ:

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

引数:

  • inputString: 検索されるデータの文字列

  • CompareString: 入力文字列と比較される文字列

プロパティID:

  • namespace-uri: http://www.oracle.com/XSL/Transform/java/oracle.tip.pc.services.functions.Xpath20

  • namespace-prefix: xpath20

B.1.4.3 create-delimited-string

この関数は、nodeSetから作成されたデリミタ付き文字列を返します。

シグネチャ:

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

引数:

  • nodeSet: デリミタ付き文字列に変換するノードセット

  • delimiter: 出力文字列の項目を区切る文字(例: カンマ、セミコロン)

プロパティID:

  • namespace-uri: http://www.oracle.com/XSL/Transform/java/oracle.tip.pc.services.functions.ExtFunc

  • namespace-prefix: oraext

B.1.4.4 ends-with

この関数は、inputStringsearchStringで終わる場合にtrueを返します。

例: xpath20:ends-with('XSL Map','Map')は、trueを返します。

シグネチャ:

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

引数:

  • inputString: 検索されるデータの文字列

  • searchString: 検索する文字列

プロパティID:

  • namespace-uri: http://www.oracle.com/XSL/Transform/java/oracle.tip.pc.services.functions.Xpath20

  • namespace-prefix: xpath20

B.1.4.5 format-string

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

例: oraext:format-string('{0} + {1} = {2}','2','2','4')は、'2 + 2 = 4'を返します。

シグネチャ:

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

引数:

  • string: 書式設定された出力に使用する文字列の1つ

プロパティID:

  • namespace-uri: http://www.oracle.com/XSL/Transform/java/oracle.tip.pc.services.functions.ExtFunc

  • namespace-prefix: oraext

B.1.4.6 get-content-as-string

この関数は、入力要素のXML表現を返します。

シグネチャ:

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

引数:

  • element as node-set: XML表現として返される入力要素

プロパティID:

  • namespace-uri: http://www.oracle.com/XSL/Transform/java/oracle.tip.pc.services.functions.ExtFunc

  • namespace-prefix: oraext

B.1.4.7 get-content-from-file-function

この関数は、ファイルのコンテンツを返します。

シグネチャ:

oraext:get-content-from-file-function(object)

引数:

  • object:

プロパティID:

  • namespace-uri: http://www.oracle.com/XSL/Transform/java/oracle.tip.pc.services.functions.ExtFunc

  • namespace-prefix: oraext

B.1.4.8 get-localized-string

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

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

使用方法: oraext: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)

例: oraext:get-localized-string('file:/c:/','','MyResourceBundle','en','US','','MSG_KEY')は、C:\ディレクトリにあるリソース・バンドル'MyResourceBundle'からロケール固有の文字列を返します。

シグネチャ:

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

引数:

  • resourceURL: リソースのURL

  • resourceLocation: リソースのサブディレクトリの場所

  • resourceBundleName: リソース・バンドルが含まれるZIPファイルの名前

  • language: ローカライズされる出力の言語

  • country: ローカライズされる出力の国

  • variant: ローカライズされる出力の言語変数

  • messageKey: リソース・バンドルのメッセージ・キー

プロパティID:

  • namespace-uri: http://www.oracle.com/XSL/Transform/java/oracle.tip.pc.services.functions.ExtFunc

  • namespace-prefix: oraext

B.1.4.9 index-within-string

この関数は、inputString内で最初に出現するsearchStringのゼロから始まる索引を返します。

searchStringが見つからない場合は-1を返します。

例: oraext:index-within-string('ABCABC, 'B')1を返します。

シグネチャ:

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

引数:

  • inputString: 検索されるデータの文字列

  • searchString: inputString内で検索する文字列

プロパティID:

  • namespace-uri: http://www.oracle.com/XSL/Transform/java/oracle.tip.pc.services.functions.ExtFunc

  • namespace-prefix: oraext

B.1.4.10 last-index-within-string

この関数は、inputString内で最後に出現するsearchStringのゼロから始まる索引を返します。

searchStringが見つからない場合は-1を返します。

例: oraext:last-index-within-string('ABCABC', 'B')4を返します。

シグネチャ:

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

引数:

  • inputString: 検索されるデータの文字列

  • searchString: inputString内で検索する文字列

プロパティID:

  • namespace-uri: http://www.oracle.com/XSL/Transform/java/oracle.tip.pc.services.functions.ExtFunc

  • namespace-prefix: oraext

B.1.4.11 left-trim

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

例: oraext:left-trim(' account ')は、'account 'を返します。

シグネチャ:

oraext:left-trim(inputString)

引数:

  • inputString: 先頭の空白を削除する文字列

プロパティID:

  • namespace-uri: http://www.oracle.com/XSL/Transform/java/oracle.tip.pc.services.functions.ExtFunc

  • namespace-prefix: oraext

B.1.4.12 lower-case

この関数は、inputStringのすべての文字を対応する小文字に変換した値を返します。

例: xpath20:lower-case('ABc!D')は、'abc!d'を返します。

シグネチャ:

xpath20:lower-case(inputString)

引数:

  • inputString: 小文字にするデータの文字列

プロパティID:

  • namespace-uri: http://www.oracle.com/XSL/Transform/java/oracle.tip.pc.services.functions.Xpath20

  • namespace-prefix: xpath20

B.1.4.13 matches

この関数は、intputStringが正規表現パターンregexPatternに一致する場合にtrueを返します。

: xpath20:matches('abracadabra', '^a.*a$')は、trueを返します。

シグネチャ:

xpath20:matches(intputString, regexPattern)

引数:

  • inputString: 一致する必要のあるデータの文字列

  • regexPattern: 正規表現パターン

プロパティID:

  • namespace-uri: http://www.oracle.com/XSL/Transform/java/oracle.tip.pc.services.functions.Xpath20

  • namespace-prefix: xpath20

B.1.4.14 right-trim

この関数は、inputStringから末尾の空白文字をすべて削除した値を返します。

例: oraext:right-trim(' account ')は、' account'を返します。

シグネチャ:

oraext:right-trim(inputString as string)

引数:

  • inputString: 末尾の空白を削除する入力文字列

プロパティID:

  • namespace-uri: http://www.oracle.com/XSL/Transform/java/oracle.tip.pc.services.functions.ExtFunc

  • namespace-prefix: oraext

B.1.4.15 upper-case

この関数は、inputStringのすべての文字を対応する大文字に変換した値を返します。

例: xpath20:upper-case('abCd0')は、'ABCD0'を返します。

シグネチャ:

xpath20:upper-case(inputString as string)

引数:

  • inputString: 大文字にするデータの文字列

プロパティID:

  • namespace-uri: http://www.oracle.com/XSL/Transform/java/oracle.tip.pc.services.functions.Xpath20

  • namespace-prefix: xpath20

B.2 BPEL XPath拡張関数

この項では、次のBPEL XPath拡張関数について説明します。

B.2.1 addQuotes

この関数は、stringの内容を一重引用符で囲んで返します。

シグネチャ:

ora:addQuotes(string)

引数:

  • string: 引用符を追加する文字列

プロパティID:

  • namespace-uri: http://schemas.oracle.com/xpath/extension

  • namespace-prefix: ora

B.2.2 appendToList


注意:

appendToList関数は非推奨です。ノード・リストにデータを追加する場合は、assignアクティビティのbpelx:copyList拡張を使用することをお薦めします。

この関数はノード・リストに追加します。NULLまたは空のノード・リストは追加先にできません。

シグネチャ:

ora:appendToList('variableName', 'partName'?, 'locationPath'?, Object)

引数:

  • variableName: データのソース変数。

  • partName: 変数から選択するパート(オプション)。

  • locationPath: 絶対ロケーション・パスを指定して(/は、パート全体を表す文書フラグメントのルートを意味する)、パートを表す文書フラグメント内のサブツリーのルートを識別します(オプション)。

  • Object: リストまたは単一のアイテムを指定できます。リストを指定した場合は、リスト内の各アイテムが追加されます。追加される各アイテムは、要素、または作成されるノードの文字列値を持つ要素です。

プロパティID:

  • deprecated

    リストに追加するには、bpelx:copyListまたはbpelx:append拡張アクティビティを使用してください。

  • namespace-uri: http://schemas.oracle.com/xpath/extension

  • namespace-prefix: ora

B.2.3 copyList


注意:

copyList関数を引き続き使用することもできますが、ノード・リストまたはノードのコピーにはbpelx:copyList拡張を使用することをお薦めします。

この関数は、ノード・リストまたはノードをコピーします。NULLまたは空のノード・リストはコピー先にできません。

シグネチャ:

ora:copyList('variableName', 'partName'?, 'locationPath'?, Object)

引数:

  • variableName: データのソース変数。

  • partName: 変数から選択するパート(オプション)。

  • locationPath: 絶対ロケーション・パスを指定して(/は、パート全体を表す文書フラグメントのルートを意味する)、パートを表す文書フラグメント内のサブツリーのルートを識別します(オプション)。

  • Object: リストまたは単一のアイテムを指定できます。リストを指定した場合は、リスト内の各アイテムがコピーされます。コピーされる各アイテムは、要素、または作成されるノードの文字列値を持つ要素です。

プロパティID:

  • deprecated

    リストに追加するには、bpelx:copyList拡張アクティビティを使用してください。

  • namespace-uri: http://schemas.oracle.com/xpath/extension

  • namespace-prefix: ora

B.2.4 countNodes


注意:

countNodes関数を引き続き使用することもできますが、要素のサイズを整数として返すには、バージョン1.0のXPath count()関数を使用することをお薦めします。

この関数は、要素のサイズを整数として返します。

シグネチャ:

ora:countNodes('variableName', 'partName'?, 'locationPath'?)

引数:

  • variableName: データのソース変数。

  • partName: 変数から選択するパート(オプション)。

  • locationPath: 絶対ロケーション・パスを指定して(/は、パート全体を表す文書フラグメントのルートを意味する)、パートを表す文書フラグメント内のサブツリーのルートを識別します(オプション)。

プロパティID:

  • namespace-uri: http://schemas.oracle.com/xpath/extension

  • namespace-prefix: ora

B.2.5 doc

この関数は、XMLファイルのコンテンツを返します。

シグネチャ:

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

引数:

  • fileName: XMLファイルの名前

  • xpath: ファイルへのパス

プロパティID:

  • namespace-uri: http://schemas.oracle.com/xpath/extension

  • namespace-prefix: ora

B.2.6 doStreamingTranslate

この関数は、ストリーミングXPath APIを使用して変換します。 この関数は、バッチ処理と呼ばれる固有の概念を使用し、トランスフォーメーション・エンジンによってトランスフォーメーションの結果がメモリーにマテリアライズされないようにします。この結果、ギガバイト単位の大規模なペイロードを任意に処理できるようになります。 ただし、処理できるのは、for-eachなど、順方向のみのXSLコンストラクトのみです。 targetTypeには、SDOMまたはATTACHMENTを指定できます。

シグネチャ:

ora:doStreamingTranslate('input SDOM or attachment element', 'streaming xpath context', 'SDOM or ATTACHMENT', 'attachment element?')

引数:

  • input SDOM or attachment element

  • streaming xpath context

  • SDOM or ATTACHMENT

  • attachment element

プロパティID:

  • namespace-uri: http://schemas.oracle.com/xpath/extension

  • namespace-prefix: ora

B.2.7 doTranslateFromNative

この関数は、入力データをXMLに変換します。入力データには、Base64エンコード・データが含まれる文字列、添付ファイルまたは要素を指定できます。 targetTypeには、DOMATTACHMENTまたはSDOMを指定できます。

シグネチャ:

ora:doTranslateFromNative('input','nxsdTemplate','nxsdRoot','targetType','attachment element?')

引数:

  • input: XPath関数の入力データ。

  • nxsdTemplate: 入力データからXMLフォーマットへの変換に使用するNXSDスキーマ。

  • nxsdRoot: NXSDスキーマのルート要素。

  • targetType: XPath関数がネイティブ・データをXMLに変換する方法を指定します。

  • attachment element: 返されるXMLの添付ファイルです。 このパラメータはオプションです。

プロパティID:

  • namespace-uri: http://schemas.oracle.com/xpath/extension

  • namespace-prefix: ora

B.2.8 doTranslateToNative

この関数は、入力のDOMを文字列または添付ファイルに変換します。 targetTypeには、STRINGまたはATTACHMENTを指定できます。

シグネチャ:

ora:doTranslateToNative('input','nxsdTemplate','nxsdRoot','targetType','attachment element?')

引数:

  • input: XPath関数の入力データ。

  • nxsdTemplate: 入力データからXMLフォーマットへの変換に使用するNXSDスキーマ。

  • nxsdRoot: NXSDスキーマのルート要素。

  • targetType: XPath関数がネイティブ・データをXMLに変換する方法を指定します。

  • attachment element: 返されるXMLの添付ファイルです。 このパラメータはオプションです。

プロパティID:

  • namespace-uri: http://schemas.oracle.com/xpath/extension

  • namespace-prefix: ora

B.2.9 doXSLTransform

この関数は、XSLTの複数パラメータをサポートするWS-BPEL 2.0のdoXSLTransform機能を実装します。 この関数を使用する場合は、XSL template matchをルート(/)に設定しないでください。 ルート要素に設定する必要があります。

シグネチャ:

ora:doXSLTransform('url_to_xslt',input,['paramQname',paramValue]*)

引数:

  • url_to_xslt: XSLスタイルシートのURLを指定します。

  • input: 入力変数名を指定します。

  • paramQname: パラメータQNameを指定します。

  • paramValue: パラメータ値を指定します。

プロパティID:

  • namespace-uri: http://schemas.oracle.com/xpath/extension

  • namespace-prefix: ora

B.2.10 doXSLTransformForDoc

この関数は、doXSLTransform()の補完XPath関数です。 この関数の目的は、XSLTテンプレートがドキュメントに一致したときにトランスフォーメーションを実行することです。

シグネチャ:

ora:doXSLTransformForDoc('url_to_xslt',input,['paramQname',paramValue]*)

引数:

  • url_to_xslt: XSLスタイルシートのURLを指定します。

  • input: 入力変数名を指定します。

  • paramQname: パラメータQNameを指定します。

  • paramValue: パラメータ値を指定します。

プロパティID:

  • namespace-uri: http://schemas.oracle.com/xpath/extension

  • namespace-prefix: ora

B.2.11 formatDate

この関数は、標準XSD日付書式を出力に適した文字に変換します。

シグネチャ:

ora:formatDate('dateTime', 'format')

引数:

  • dateTime: 日付関連の値をXSD形式で指定します。引数が文字列でない場合、この関数は、string()関数が適用された場合と同じように動作します。引数が日付でない場合、出力は空の文字列になります。引数が有効なXSD日付で、フィールドの一部が空の場合は、未指定のフィールドの充填が試みられます。たとえば、2003-06-10T15:56:00のようになります。

  • format: java.text.SimpleDateFormat書式に従って書式設定された文字列を指定します。

プロパティID:

  • namespace-uri: http://schemas.oracle.com/xpath/extension

  • namespace-prefix: ora

B.2.12 generateGUID

一意のGUIDを生成します。

シグネチャ:

ora:generateGUID()

引数: この関数には引数がありません。

プロパティID:

  • namespace-uri: http://schemas.oracle.com/xpath/extension

  • namespace-prefix: ora

B.2.13 getApplicationName

この関数は、アプリケーション名を返します。

シグネチャ:

ora:getApplicationName()

引数: この関数には引数がありません。

プロパティID:

  • namespace-uri: http://schemas.oracle.com/xpath/extension

  • namespace-prefix: ora

B.2.14 getAttachmentContent

この関数は、href関数から添付ファイルのコンテンツを取得します。

シグネチャ:

ora:getAttachmentContent(varName[, partName[, query]])

引数:

  • varName: データのソース変数を指定します。

  • partName: 変数から選択するパートを指定します(オプション)。

  • query: 絶対ロケーション・パスを指定して(/は、パート全体を表す文書フラグメントのルートを意味する)、パートを表す文書フラグメント内のサブツリーのルートを識別します(オプション)。

プロパティID:

  • namespace-uri: http://schemas.oracle.com/xpath/extension

  • namespace-prefix: ora

B.2.15 getComponentName

この関数は、コンポーネント名を返します。

シグネチャ:

ora:getComponentName()

引数: この関数には引数がありません。

プロパティID:

  • namespace-uri: http://schemas.oracle.com/xpath/extension

  • namespace-prefix: ora

B.2.16 getComponentInstanceID

この関数は、コンポーネント・インスタンスIDを返します。

シグネチャ:

ora:getComponentInstanceID()

引数: この関数には引数がありません。

プロパティID:

  • namespace-uri: http://schemas.oracle.com/xpath/extension

  • namespace-prefix: ora

B.2.17 getCompositeName

この関数は、コンポジット名を返します。

シグネチャ:

ora:getCompositeName()

引数: この関数には引数がありません。

プロパティID:

  • namespace-uri: http://schemas.oracle.com/xpath/extension

  • namespace-prefix: ora

B.2.18 getCompositeInstanceID

この関数は、BPELプロセスのコンポジット・インスタンスIDを返します。

シグネチャ:

ora:getCompositeInstanceID()

引数: この関数には引数がありません。

プロパティID:

  • namespace-uri: http://schemas.oracle.com/xpath/extension

  • namespace-prefix: ora

B.2.19 getCompositeURL

この関数は、コンポジットURLを返します。

シグネチャ:

ora:getCompositeURL()

引数: この関数には引数がありません。

プロパティID:

  • namespace-uri: http://schemas.oracle.com/xpath/extension

  • namespace-prefix: ora

B.2.20 getContentAsString

この関数は、要素のコンテンツをXML文字列として返します。

シグネチャ:

ora:getContentAsString(element elementAsNodeList)

引数:

  • element: 要素(データのソース)

  • elementAsNodeList: ノード・リストとしての要素

プロパティID:

  • namespace-uri: http://schemas.oracle.com/xpath/extension

  • namespace-prefix: ora

B.2.21 getConversationId

この関数は、対話IDを返します。

シグネチャ:

ora:getConversationId()

引数: この関数には引数がありません。

プロパティID:

  • namespace-uri: http://schemas.oracle.com/xpath/extension

  • namespace-prefix: ora

B.2.22 getCreator

この関数は、インスタンスの作成者を返します。

シグネチャ:

ora:getCreator()

引数: この関数には引数がありません。

プロパティID:

  • namespace-uri: http://schemas.oracle.com/xpath/extension

  • namespace-prefix: ora

B.2.23 getCurrentDate

この関数は、現在の日付を文字列として返します。

シグネチャ:

ora:getCurrentDate('format'?)

引数:

  • format: java.text.SimpleDateFormat書式に従って書式設定された文字列を指定します(オプション)。

プロパティID:

  • namespace-uri: http://schemas.oracle.com/xpath/extension

  • namespace-prefix: ora

B.2.24 getCurrentDateTime

この関数は、現在の日時を文字列として返します。

シグネチャ:

ora:getCurrentDateTime('format'?)

引数:

  • format: java.text.SimpleDateFormat書式に従って書式設定された文字列を指定します(オプション)。

プロパティID:

  • namespace-uri: http://schemas.oracle.com/xpath/extension

  • namespace-prefix: ora

B.2.25 getCurrentTime

この関数は、現在の時間を文字列として返します。

シグネチャ:

ora:getCurrentTime('format'?)

引数:

  • format: java.text.SimpleDateFormat書式に従って書式設定された文字列を指定します(オプション)。

プロパティID:

  • namespace-uri: http://schemas.oracle.com/xpath/extension

  • namespace-prefix: ora

B.2.26 getDomainId

この関数は、現在のドメインIDを返します。

シグネチャ:

ora:getDomainId()

引数: この関数には引数がありません。

プロパティID:

  • namespace-uri: http://schemas.oracle.com/xpath/extension

  • namespace-prefix: ora

B.2.27 getECID

この関数はECIDを返します。

シグネチャ:

ora:getECID()

引数: この関数には引数がありません。

プロパティID:

  • namespace-uri: http://schemas.oracle.com/xpath/extension

  • namespace-prefix: ora

B.2.28 getElement

この関数は、要素の配列から、indexを使用して要素を返します。

シグネチャ:

ora:getElement('variableName', 'partName', 'locationPath', index)

引数:

  • variableName: データのソース変数。

  • partName: 変数から選択するパート(必須)。

  • locationPath: 絶対ロケーション・パスを指定して(/は、パート全体を表す文書フラグメントのルートを意味する)、パートを表す文書フラグメント内のサブツリーのルートを識別します(必須)。

  • index: 動的索引値。最初のノードの索引は1です。

プロパティID:

  • namespace-uri: http://schemas.oracle.com/xpath/extension

  • namespace-prefix: ora

B.2.29 getFaultAsString

この関数は、フォルトを文字列値として返します。

シグネチャ:

ora:getFaultAsString()

引数: この関数には引数がありません。

プロパティID:

  • namespace-uri: http://schemas.oracle.com/xpath/extension

  • namespace-prefix: ora

B.2.30 getFaultName

この関数は、フォルト名を返します。

シグネチャ:

ora:getFaultName()

引数: この関数には引数がありません。

プロパティID:

  • namespace-uri: http://schemas.oracle.com/xpath/extension

  • namespace-prefix: ora

B.2.31 getGroupIdsFromGroupAlias

この関数は、BPELスーツケース・ディスクリプタのTaskServiceAliasesセクションで指定されているグループ・エイリアスのユーザーIDのListを返します。

シグネチャ:

ora:getGroupIdsFromGroupAlias(String aliasName)

引数:

  • aliasName: ユーザーまたはグループのリストのエイリアス

プロパティID:

  • namespace-uri: http://schemas.oracle.com/xpath/extension

  • namespace-prefix: ora

B.2.32 getInstanceId

この関数は、インスタンスIDを返します。

シグネチャ:

ora:getInstanceId()

引数: この関数には引数がありません。

プロパティID:

  • namespace-uri: http://schemas.oracle.com/xpath/extension

  • namespace-prefix: ora

B.2.33 getNodeValue

この関数は、DOMノードの値を文字列として返します。

シグネチャ:

ora:getNodeValue(node)

引数:

  • node: DOMノード

プロパティID:

  • namespace-uri: http://schemas.oracle.com/xpath/extension

  • namespace-prefix: ora

B.2.34 getNodes

この関数は、ノード・リストを取得します。これは、ノード・リストを返さないbpws:getVariableDataの代用として実装されます。

シグネチャ:

ora:getNodes('variableName', 'partName'?, 'locationPath'?)

引数:

  • variableName: データのソース変数。

  • partName: 変数から選択するパート(オプション)。

  • locationPath: 絶対ロケーション・パスを指定して(/は、パート全体を表す文書フラグメントのルートを意味する)、パートを表す文書フラグメント内のサブツリーのルートを識別します(オプション)。

プロパティID:

  • namespace-uri: http://schemas.oracle.com/xpath/extension

  • namespace-prefix: ora

B.2.35 getOwnerDocument

この関数は、ノードに関連付けられているドキュメント・オブジェクトを返します。

シグネチャ:

ora:getOwnerDocument(node)

引数:

  • node: XMLノードを指定します。

プロパティID:

  • namespace-uri: http://schemas.oracle.com/xpath/extension

  • namespace-prefix: ora

B.2.36 getParentComponentInstanceID

この関数は、BPELプロセス・インスタンスの親コンポーネント・インスタンスIDを返します。

シグネチャ:

ora:getParentComponentInstanceID()

引数: この関数には引数がありません。

プロパティID:

  • namespace-uri: http://schemas.oracle.com/xpath/extension

  • namespace-prefix: ora

B.2.37 getPreference

この関数は、BPELスーツケース・ディスクリプタのpreferencesセクションで指定されているプロパティの値を返します。

シグネチャ:

ora:getPreference(preferenceName)

引数:

  • preferenceName: BPELスーツケース・ディスクリプタで指定されているプリファレンスの名前

プロパティID:

  • namespace-uri: http://schemas.oracle.com/xpath/extension

  • namespace-prefix: ora

B.2.38 getProcessId

この関数は、現在のBPELプロセスのIDを返します。

シグネチャ:

ora:getProcessId()

引数: この関数には引数がありません。

プロパティID:

  • namespace-uri: http://schemas.oracle.com/xpath/extension

  • namespace-prefix: ora

B.2.39 getProcessOwnerId

この関数は、プロセスの所有者であるユーザーがBPELスーツケース・ディスクリプタのTaskServiceAliasesセクションで指定されている場合に、そのユーザーのIDを返します。

シグネチャ:

ora:getProcessOwnerId()

引数: この関数には引数がありません。

プロパティID:

  • namespace-uri: http://schemas.oracle.com/xpath/extension

  • namespace-prefix: ora

B.2.40 getProcessURL

この関数は、現在のBPELプロセスのルートURLを返します。

シグネチャ:

ora:getProcessURL()

引数: この関数には引数がありません。

プロパティID:

  • namespace-uri: http://schemas.oracle.com/xpath/extension

  • namespace-prefix: ora

B.2.41 getProcessVersion

この関数は、現在のプロセス・バージョンを返します。

シグネチャ:

ora:getProcessVersion()

引数: この関数には引数がありません。

プロパティID:

  • namespace-uri: http://schemas.oracle.com/xpath/extension

  • namespace-prefix: ora

B.2.42 getUserAliasId

この関数は、BPELスーツケース・ディスクリプタのTaskServiceAliasesセクションで指定されているエイリアスのユーザーIDを返します。

シグネチャ:

ora:getUserAliasId (String aliasName)

引数:

  • aliasName: ユーザーまたはグループのリストのエイリアス

プロパティID:

  • namespace-uri: http://schemas.oracle.com/xpath/extension

  • namespace-prefix: ora

B.2.43 getUserIdsFromGroupAlias

この関数は、BPELスーツケース・ディスクリプタのTaskServiceAliasesセクションで指定されているグループ・エイリアスのユーザーIDのListを返します。

シグネチャ:

ora:getUserIdsFromGroupAlias( String aliasName )

引数:

  • aliasName: グループのエイリアス名

プロパティID:

  • namespace-uri: http://schemas.oracle.com/xpath/extension

  • namespace-prefix: ora

B.2.44 setCompositeInstanceTitle

この関数は、タイトルをコンポジット・インスタンスに設定します。このタイトルは、後でインスタンスの検索時に基準の1つとして使用できます。 この関数は、引数として渡される文字列と同じ文字列を返します。

シグネチャ:

med:setCompositeInstanceTitle(title)

引数:

  • title: コンポジット・インスタンスのタイトルを指定します。 このタイトルは、XPath式としてメッセージ・ペイロードに指定できます。

プロパティID:

  • namespace-uri: http://schemas.oracle.com/xpath/extension

  • namespace-prefix: ora

B.2.45 instanceOf

この関数は、BPEL変数から任意の値を抽出します。

シグネチャ:

ora:instanceOf(an_xpath_expression, 'typeQName')

引数:

  • an_xpath_expression: 要素を返すXPath式

  • typeQName: グローバル宣言済XSDタイプのQName

プロパティID:

  • namespace-uri: http://schemas.oracle.com/xpath/extension

  • namespace-prefix: ora

B.2.46 integer

この関数は、ノードのコンテンツを整数として返します。

シグネチャ:

ora:integer(node)

引数:

  • node: 入力ノード

プロパティID:

  • namespace-uri: http://schemas.oracle.com/xpath/extension

  • namespace-prefix: ora

B.2.47 parseEscapedXML

この関数は、文字列をDOMに解析します。

シグネチャ:

ora:parseEscapedXML(contentString)

引数:

  • contentString: DOMに解析する文字列

プロパティID:

  • namespace-uri: http://schemas.oracle.com/xpath/extension

  • namespace-prefix: ora

B.2.48 parseXML

この関数は、文字列をDOMに解析します。

シグネチャ:

ora:parseXML(contentString)

引数:

  • contentString: DOMに解析する文字列

プロパティID:

  • namespace-uri: http://schemas.oracle.com/xpath/extension

  • namespace-prefix: ora

B.2.49 processXQuery

この関数は、XQueryトランスフォーメーションの結果を返します。

シグネチャ:

ora: ry('template','context'?)

引数:

  • template: XSLTテンプレート

  • input: 変換する入力データ

  • properties: bpel.xmlファイルに定義されているプロパティ

プロパティID:

  • namespace-uri: http://schemas.oracle.com/xpath/extension

  • namespace-prefix: ora

B.2.50 processXSLT

この関数は、Oracle XDK XSLTプロセッサを使用してXSLTトランスフォーメーションの結果を返します。

シグネチャ:

xdk:processXSLT('template','input','properties'?)

引数:

  • template: XSLTテンプレート

  • input: 変換する入力データ

  • properties: bpel.xmlファイルに定義されているプロパティ

プロパティID:

  • namespace-uri: http://schemas.oracle.com/xpath/extension

  • namespace-prefix: xdk

B.2.51 processXSLTAttachment

この関数は、Oracle XDK XSLTプロセッサを使用してXSLTトランスフォーメーションの結果を返します。この関数は、XML添付ファイルとの間のトランスフォーメーションもサポートします。

シグネチャ:

ora:processXSLTAttachment('template','input','href'?,'properties'?)

引数:

  • template: XSLTテンプレート

  • input: 変換する入力データ

  • href: 実際のデータの場所

  • properties: bpel.xmlファイルに定義されているプロパティ

プロパティID:

  • namespace-uri: http://schemas.oracle.com/xpath/extension

  • namespace-prefix: ora

B.2.52 processXSQL

この関数は、XSQLリクエストの結果を返します。

シグネチャ:

ora:processXSQL('template','input','properties'?)

引数:

  • template: XSLTテンプレート

  • input: 変換する入力データ

  • properties: bpel.xmlファイルに定義されているプロパティ

プロパティID:

  • namespace-uri: http://schemas.oracle.com/xpath/extension

  • namespace-prefix: ora

B.2.53 readBinaryFromFile

この関数は、ファイルからデータを読み取ります。

シグネチャ:

ora:readBinaryFromFile(fileName)

引数:

  • fileName: データの読取り元のファイル名

プロパティID:

  • namespace-uri: http://schemas.oracle.com/xpath/extension

  • namespace-prefix: ora

B.2.54 readFile

この関数は、ファイルのコンテンツを返します。

シグネチャ:

ora:readFile('fileName','nxsdTemplate'?,'nxsdRoot'?)

引数:

  • fileName: ファイルの名前。または、HTTP URLも指定できます。

    この関数では、デフォルトで、プロセス用のスーツケースJARファイルからの相対パスでファイルが読み取られます。読み取るファイルが別のディレクトリ・パスにある場合は、絶対パスであることを示す追加のディレクトリのスラッシュ(/)を指定する必要があります。次に例を示します。

    ora:readFile('file:///c:/temp/test.doc')
    

    ディレクトリのスラッシュの指定が2つのみ(//)の場合は、次のようなエラーを受け取ります。

    XPath expression failed to execute.
    Error while processing xpath expression,
    the expression is "ora:readFile("file://c:/temp/test.doc")",
    the reason is c. Verify the xpath query.
    
  • nxsdTemplate: 出力のNXSDテンプレート。

  • nxsdRoot: NXSDルート。

プロパティID:

  • namespace-uri: http://schemas.oracle.com/xpath/extension

  • namespace-prefix: ora


注意:

現在、readFile関数では、認可が必要なWebサーバーのファイルにアクセスする機能がサポートされていません。 そのようなファイルへのアクセスを試行すると、次のエラーを受け取ります。

java.io.IOException: Server returned HTTP response code: 401 for URL


B.2.55 writeBinaryToFile

この関数は、変数(または変数のパート)のバイナリ・バイトを指定のファイル名のファイルに書き込みます。

シグネチャ:

ora:writeBinaryToFile(varName[, partName[, query]])

引数:

  • varName: 変数の名前

  • partName: messageType変数のパートの名前

  • query: ルート要素の子に対する問合せ文字列

プロパティID:

  • namespace-uri: http://schemas.oracle.com/xpath/extension

  • namespace-prefix: ora

B.2.56 BPEL拡張関数

この項では、BPEL拡張関数について説明します。

B.2.56.1 getLinkStatus

この関数は、リンクのステータスを示すブール値を返します。リンクのステータスが正の場合、値はtrueです。それ以外の場合、値はfalseです。この関数はjoin条件でのみ使用できます。

linkName引数は、結合条件に関連付けられたアクティビティの着信リンクの名前を表します。

シグネチャ:

bpws:getLinkStatus ('linkName')

引数:

  • variableName: データのソース変数

  • propertyName: プロパティのQName

プロパティID:

  • namespace-uri: http://schemas.xmlsoap.org/ws/2003/03/business-process/

  • namespace-prefix: bpws

B.2.56.2 getVariableData

この関数は、BPEL変数から任意の値を抽出します。

第1引数のみが指定されている場合は、変数の値を抽出しますが、この場合、変数はXMLスキーマの単純型または要素を使用して定義されている必要があります。それ以外の場合、この関数の戻り値は、メッセージ・タイプのパート全体(第2引数が指定され、第3引数が指定されない場合)、またはlocationPathに基づく選択の結果(オプションの引数が両方とも指定されている場合)を表す単一ノードが含まれるノードセットです。指定されたlocationPathによって選択されるノードセットのサイズが実行時に選択されるノードセットのサイズと異なる場合は、標準のフォルトbpws:selectionFailureがスローされます。

シグネチャ:

bpws:getVariableData ('variableName', 'partName'?, 'locationPath'?)

引数:

  • variableName: データのソース変数。

  • partName: 変数から選択するパート(オプション)。

  • locationPath: 絶対ロケーション・パスを指定して(/は、パート全体を表す文書フラグメントのルートを意味する)、パートを表す文書フラグメント内のサブツリーのルートを識別します(オプション)。

プロパティID:

  • namespace-uri: http://schemas.xmlsoap.org/ws/2003/03/business-process/

  • namespace-prefix: bpws

B.2.56.3 getVariableProperty

この関数は、BPEL変数から任意の値を抽出します。

指定されたプロパティによって選択されるノードセットのサイズが実行時に選択されるノードセットのサイズと異なる場合は、標準のフォルトbpws:selectionFailureがスローされます。

シグネチャ:

bpws:getVariableProperty ('variableName', 'propertyname')

引数:

  • variableName: データのソース変数。

  • propertyName: プロパティのQName。

  • locationPath: 絶対ロケーション・パスを指定して(/は、パート全体を表す文書フラグメントのルートを意味する)、パートを表す文書フラグメント内のサブツリーのルートを識別します(オプション)。

プロパティID:

  • namespace-uri: http://schemas.xmlsoap.org/ws/2003/03/business-process/

  • namespace-prefix: bpws

B.2.57 ユーティリティ関数

この項では、ユーティリティ関数について説明します。

B.2.57.1 batchProcessActive

この関数は、バッチ内のアクティブ・プロセス数を返します。

シグネチャ:

ora:batchProcessActive(String batchId, String processId)

引数:

  • batchId: バッチのID

  • processId: プロセスのID

プロパティID:

  • namespace-uri: http://schemas.oracle.com/xpath/extension

  • namespace-prefix: ora

B.2.57.2 batchProcessCompleted

この関数は、バッチ内の完了プロセス数を返します。

シグネチャ:

ora:batchProcessCompleted(String batchId, String processId)

引数:

  • batchId: バッチのID

  • processId: プロセスのID

プロパティID:

  • namespace-uri: http://schemas.oracle.com/xpath/extension

  • namespace-prefix: ora

B.2.57.3 format

この関数は、Javaのメッセージ書式を使用してメッセージを書式設定します。

シグネチャ:

ora:format(formatStrings, args+)

引数:

  • formatStrings: 書式設定するデータの文字列。

  • args+: 書式文字列の書式指定子によって参照される引数。 引数が書式指定子よりも多い場合、余分な引数は無視されます。 引数の数は変数で、0(ゼロ)の場合があります。

プロパティID:

  • namespace-uri: http://schemas.oracle.com/xpath/extension

  • namespace-prefix: ora

B.2.57.4 genEmptyElem

この関数は、指定されたQNameに対する空要素のリストを生成します。

シグネチャ:

ora:genEmptyElem('ElemQName',size?, 'TypeQName'?, xsiNil?)

引数:

  • ElemQName: 最初の引数は、空要素のQNameです。

  • size: 2番目の引数は整数型で、空要素の数を示します(オプション)。指定されていない場合、デフォルトのサイズは1です。

  • TypeQName: 3番目の引数は、生成される空の名前のxsi:typeとなるQNameです(オプション)。このxsi:typeパターンは、SOAPENC:Arrayに相当します。指定されていないか、空の文字列である場合、xsi:type属性は生成されません。

  • xsiNil: 4番目の引数はブール型で、生成される空の要素において、XSD-nillableがtrueの場合に、XSI - nilをtrueにするかどうかを指定します(オプション)。デフォルトはfalseです。指定されていないか、falseである場合、xsi:nilは生成されません。

プロパティID:

  • namespace-uri: http://schemas.oracle.com/xpath/extension

  • namespace-prefix: ora

B.2.57.5 getChildElement

この関数は、指定された要素の子要素を取得します。

シグネチャ:

ora:getChildElement(element, index)

引数:

  • element: データのソース

  • index: 子要素の索引の整数値

プロパティID:

  • namespace-uri: http://schemas.oracle.com/xpath/extension

  • namespace-prefix: ora

B.2.57.6 getMessage

この関数は、引数に基づいてメッセージを取得します。

シグネチャ:

ora:getMessage(locale, relativeLocation, resourceName, resourceKey, resourceLocation?)

引数:

  • locale: メッセージのロケール

  • relativeLocation: メッセージのサブディレクトリ

  • resourceName: メッセージ・リソースの名前

  • resourceKey: リソースのキー

  • resourceLocation: リソースの場所

プロパティID:

  • namespace-uri: http://schemas.oracle.com/xpath/extension

  • namespace-prefix: ora

B.2.57.7 max-value-among-nodeset

この関数は、入力数値のリストであるノードセットinputNumberから最大値を返します。

ノードセットinputNumberには、テキスト・ノードの集合、またはテキスト・ノードが含まれる要素の集合を指定できます。

要素の場合、最初のテキスト・ノードの値が対象になります。

シグネチャ:

oraext:max-value-among-nodeset(inputNumber as node-set)

引数:

  • inputNumber: 入力数値のノードセット

プロパティID:

  • namespace-uri: http://www.oracle.com/XSL/Transform/java/oracle.tip.pc.services.functions.ExtFunc

  • namespace-prefix: oraext

B.2.57.8 min-value-among-nodeset

この関数は、入力数値のリストであるノードセットinputNumbersから最小値を返します。ノードセットには、テキスト・ノードの集合、またはテキスト・ノードが含まれる要素の集合を指定できます。要素の場合、最初のテキスト・ノードの値が対象になります。

シグネチャ:

oraext:min-value-among-nodeset(inputNumbers as node-set)

引数:

  • inputNumber: 入力数値のノードセット

プロパティID:

  • namespace-uri: http://www.oracle.com/XSL/Transform/java/oracle.tip.pc.services.functions.ExtFunc

  • namespace-prefix: oraext

B.2.57.9 square-root

この関数は、inputNumberの平方根を返します。

例: oraext:square-root(25)は、5を返します。

シグネチャ:

oraext:square-root(inputNumber as number)

引数:

  • inputNumber: 平方根を計算する入力数値

プロパティID:

  • namespace-uri: http://www.oracle.com/XSL/Transform/java/oracle.tip.pc.services.functions.ExtFunc

  • namespace-prefix: oraext

B.2.57.10 translateFromNative

この関数は、入力ストリームをXMLファイルに変換します。

シグネチャ:

ora:translateFromNative('string','nxsdTemplate'?,'nxsdRoot'?)

引数:

  • string: XMLファイルに変換するデータ

  • nxsdTemplate: トランスレーションの実行方法を定義するXSDファイル

  • nxsdRoot: XSDファイルに定義されているルート要素

プロパティID:

  • namespace-uri: http://schemas.oracle.com/xpath/extension

  • namespace-prefix: ora

B.2.57.11 translateToNative

XMLをネイティブ・データに変換します。

シグネチャ:

ora:translateFromNative('string','nxsdTemplate'?,'nxsdRoot'?)

引数:

  • string: 文字列に変換するXMLファイル

  • nxsdTemplate: トランスレーションの実行方法を定義するXSDファイル

  • nxsdRoot: XSDファイルに定義されているルート要素

プロパティID:

  • namespace-uri: http://schemas.oracle.com/xpath/extension

  • namespace-prefix: ora

B.2.57.12 translateFromNativeAttachment

この関数は、入力ストリームをXMLに変換します。

シグネチャ:

ora:translateFromNativeAttachment('string','nxsdTemplate'?,'nxsRoot'?)

引数:

  • string: XMLファイルに変換するデータ

  • nxsdTemplate: トランスレーションの実行方法を定義するXSDファイル

  • nxsdRoot: XSDファイルに定義されているルート要素

プロパティID:

  • namespace-uri: http://schemas.oracle.com/xpath/extension

  • namespace-prefix: ora

B.2.57.13 translateToNativeAttachment

この関数は、XMLをネイティブ・データに変換します。

シグネチャ:

ora:translateFromNativeAttachment('string','nxsdTemplate'?,'nxsRoot'?)

引数:

  • string: XMLファイルに変換するデータ

  • nxsdTemplate: トランスレーションの実行方法を定義するXSDファイル

  • nxsdRoot: XSDファイルに定義されているルート要素

プロパティID:

  • namespace-uri: http://schemas.oracle.com/xpath/extension

  • namespace-prefix: ora

B.3 メディエータXPath拡張関数

この項では、次の関数について説明します。

B.3.1 getComponentInstanceID

この関数は、コンポーネント・インスタンスIDを返します。

シグネチャ:

mdhr:getComponentInstanceId()

引数: この関数には引数がありません。

プロパティID:

  • namespace-uri: http://schemas.oracle.com/xpath/extension

  • namespace-prefix: mdhr

B.3.2 getComponentName

この関数は、コンポーネント名を返します。

シグネチャ:

mdhr:getComponentName()

引数: この関数には引数がありません。

プロパティID:

  • namespace-uri: http://schemas.oracle.com/xpath/extension

  • namespace-prefix: mdhr

B.3.3 getCompositeInstanceID

この関数は、コンポジット・インスタンスIDを返します。

シグネチャ:

mdhr:getComponentInstanceId()

引数: この関数には引数がありません。

プロパティID:

  • namespace-uri: http://schemas.oracle.com/xpath/extension

  • namespace-prefix: mdhr

B.3.4 getCompositeName

この関数は、コンポジット名を返します。

シグネチャ:

mdhr:getCompositeName()

引数: この関数には引数がありません。

プロパティID:

  • namespace-uri: http://schemas.oracle.com/xpath/extension

  • namespace-prefix: mdhr

B.3.5 getHeader

この関数は、メディエータ・メッセージ・ヘッダーからXPath式の値を返します。


注意:

getHeader関数は、2つのパラメータが指定された場合のみ機能します。

シグネチャ:

mdhr:getHeader(xpath as string, namespaces as string)

引数:

  • xpath: 横断するスキーマからのパスを表します。

  • namespaces: XPath式のコンテキストを格納する抽象コンテナを表します。 この引数は必須です。 ネームスペース宣言の形式は、次のとおりです。

    'prefix=namespace;
    

    ネームスペース宣言の後にセミコロンがあることに注意してください。次に例を示します。

    getHeader("in.header.ns9_name/ns9:name/ns9:first","ns9=http//exmaple.com;")
    

    Oracle JDeveloperのXSLTマッパーで、getHeader関数をマッパーにドラッグします。 「関数の編集 - getHeader」ダイアログで、「追加」をクリックします。 namespaces引数が追加されるため、ここで必須情報を入力します。

プロパティID:

  • namespace-uri: http://schemas.oracle.com/xpath/extension

  • namespace-prefix:mdhr

B.3.6 getECID

この関数はECIDを返します。

シグネチャ:

mdhr:getECID()

引数: この関数には引数がありません。

プロパティID:

  • namespace-uri: http://schemas.oracle.com/xpath/extension

  • namespace-prefix: mdhr

B.3.7 getParentComponentInstanceID

この関数は、メディエータ・インスタンスの親コンポーネント・インスタンスIDを返します。

シグネチャ:

mdhr:getParentComponentInstanceId()

引数: この関数には引数がありません。

プロパティID:

  • namespace-uri: http://schemas.oracle.com/xpath/extension

  • namespace-prefix: mdhr

B.3.8 setCompositeInstanceTitle

この関数は、タイトルをコンポジット・インスタンスに設定します。このタイトルは、後でインスタンスの検索時に基準の1つとして使用できます。 この関数は、引数として渡される文字列と同じ文字列を返します。

シグネチャ:

mdhr:setCompositeInstanceTitle(title)

引数:

  • title: コンポジット・インスタンスのタイトルを指定します。 このタイトルは、XPath式としてメッセージ・ペイロードに指定できます。

プロパティID:

  • namespace-uri: http://schemas.oracle.com/xpath/extension

  • namespace-prefix: mdhr

B.4 拡張関数

この項では、拡張関数について説明します。

B.4.1 create-nodeset-from-delimited-string

この関数は、デリミタ付き文字列を入力としてとり、nodeSetを返します。

シグネチャ:

oraext:create-nodeset-from-delimited-string(qname, delimited-string, delimiter)

引数:

  • qname: ノードセットの各ノードを作成する際の修飾名。QNameは、次の2つの形式で表現できます。

    • task:assignee

    • {http://mytask/task}assignee

  • delimited-string: デリミタで区切られた要素の文字列。

  • delimiter: 入力文字列の項目を区切る文字(例: カンマ、セミコロン)。

プロパティID:

  • namespace-uri: http://www.oracle.com/XSL/Transform/java/oracle.tip.pc.services.functions.ExtFunc

  • namespace-prefix: oraext

B.4.2 generate-guid

この関数は、一意のGUIDを生成します。

シグネチャ:

oraext:generate-guid()

引数: この関数には引数がありません。

プロパティID:

  • namespace-uri: http://www.oracle.com/XSL/Transform/java/oracle.tip.pc.services.functions.ExtFunc

  • namespace-prefix: oraext

B.4.3 lookupPopulatedColumns

この関数は、参照列の値に対応する単一または複数の値を相互参照列で参照するために使用します。

シグネチャ:

xref:lookupPopulatedColumns(tableName,columnName,value,needAnException)

引数:

  • xrefTableName: 参照表の名前。

  • xrefColumnName: 参照列の名前。

  • xrefValue: 参照列名に対応する値。

  • needAnException: 値がtrueに設定されると、参照列に値が見つからない場合に例外がスローされます。trueに設定されていない場合は、空のノードセットが返されます。

プロパティID:

  • namespace-uri:http://www.oracle.com/XSL/Transform/java/oracle.tip.xref.xpath.XRefXPathFunctions

  • namespace-prefix: xref

B.4.4 lookupValue

この関数は、ソース列に指定のソース値を含むドメイン値マップでターゲット列の値をルックアップすることにより、文字列を返します。

シグネチャ:

dvm:lookupValue(dvmLocation,sourceColumnName,sourceValue,targetColumnName,defaultValue)

引数:

  • dvmLocation: ドメイン値マップのURI。

  • sourceColumnName: ソース列名。

  • sourceValue: ソース値(XSLTトランスフォーメーションのソース文書にバインドされるXPath式)。

  • targetColumnName: ターゲット列名。

  • defaultValue: 値が見つからない場合は、デフォルト値が返されます。

  • QualifierSourceColumn: 修飾子列の名前。

  • QualifierSourceValue: 修飾子の値。

プロパティID:

  • namespace-uri: http://www.oracle.com/XSL/Transform/java/oracle.tip.dvm.LookupValue

  • namespace-prefix: dvm

B.4.5 lookupValue1M

この関数は、ソース列の値がソース値と等しいドメイン値マップの複数のターゲット列の値を格納する、XMLドキュメント・フラグメントを返します。

シグネチャ:

dvm:lookupValue1M(dvmLocation,sourceColumnName,sourceValue,targetColumnName1,targetColumnName2...)

引数:

  • dvmMetadataURI: ドメイン値マップのURI。

  • SourceColumnName: ソース列名。

  • SourceValue: ソース値(XSLTトランスフォーメーションのソース文書にバインドされるXPath式)。

  • TargetColumnName: ターゲット列名。1つ以上の列名を指定する必要があります。 疑問符記号(?)は複数のターゲット列名を指定できることを示します。

プロパティID:

  • namespace-uri: http://www.oracle.com/XSL/Transform/java/oracle.tip.dvm.LookupValue

  • namespace-prefix:dvm

B.4.6 lookupXRef

この関数は、参照列の値に対応する値を相互参照列で参照するために使用します。

シグネチャ:

xref:lookupXRef(tableName,referenceColumnName,referenceValue,columnName,needAnException)

引数:

  • xrefLocation: 相互参照URI。

  • xrefReferenceColumnName: 参照列の名前。

  • xrefReferenceValue: 参照列名に対応する値。

  • xrefColumnName: 値が参照される列の名前。

  • needAnException: 値がtrueに設定されると、値が見つからない場合に例外がスローされ、そうでない場合は空の値が返されます。

プロパティID:

  • namespace-uri:http://www.oracle.com/XSL/Transform/java/oracle.tip.xref.xpath.XRefXPathFunctions

  • namespace-prefix: xref

B.4.7 lookupXRef1M

この関数は、参照列の値に対応する複数の値を相互参照列で参照するために使用します。

シグネチャ:

xref:lookupXRef1M(tableName,referenceColumnName,referenceValue,columnName,needAnException)

引数:

  • xrefLocation: 相互参照URI。

  • xrefReferenceColumnName: 参照列の名前。

  • xrefReferenceValue: 参照列名に対応する値。

  • xrefColumnName: 値が参照される列の名前。

  • needAnException: 値がtrueに設定されると、参照値が見つからない場合に例外がスローされます。trueに設定されていない場合は、空のノードセットが返されます。

プロパティID:

  • namespace-uri:http://www.oracle.com/XSL/Transform/java/oracle.tip.xref.xpath.XRefXPathFunctions

  • namespace-prefix: xref

B.4.8 lookup-xml

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

例: oraext:lookup-xml('file:/d:/country_data.xml', '/Countries/Country', 'Abbreviation', 'FullName', 'UK')は、ファイルD:\country_data.xmlで、Abbreviation = 'UK'である/Countries/Countryの子要素FullNameの値を返します。

シグネチャ:

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

引数:

  • docURL: XMLファイル

  • parentXPath: 親XPath

  • keyXPath: キーXPath

  • lookupXPath: 参照XPath

  • key: キー値

プロパティID:

  • namespace-uri: http://www.oracle.com/XSL/Transform/java/oracle.tip.pc.services.functions.ExtFunc

  • namespace-prefix: oraext

B.4.9 markForDelete

この関数は、相互参照表の値を削除するために使用します。列の値には、削除済のマークが付きます。 この関数は、削除に成功した場合はtrue、それ以外の場合はfalseを返します。

シグネチャ:

xref:markForDelete(tableName,columnName,value)

引数:

  • xrefTableName: 相互参照表の名前

  • xrefColumnName: 値を削除する列の名前

  • xrefValueToDelete: 削除する値

プロパティID:

  • namespace-uri:http://www.oracle.com/XSL/Transform/java/oracle.tip.xref.xpath.XRefXPathFunctions

  • namespace-prefix: xref

B.4.10 populateXRefRow

この関数は、参照列に参照値がある相互参照表(XREF)に列名を移入します。

シグネチャ:

xref:populateXRefRow(tableName,referenceColumnName,referenceValue,columnName,value,mode)

引数:

  • xrefLocation: 相互参照URI

  • xrefReferenceColumnName: 参照列の名前

  • xrefReferenceValue: 参照列名に対応する値

  • xrefColumnName: 値が参照される列の名前

  • xrefvalue: 参照列名に対応する値

  • xrefmode: XREFの移入モードの名前

プロパティID:

  • namespace-uri:http://www.oracle.com/XSL/Transform/java/oracle.tip.xref.xpath.XRefXPathFunctions

  • namespace-prefix: xref

B.4.11 populateXRefRow1M

この関数は、参照列に参照値がある相互参照表(XREF)の参照列に複数の値を移入します。

シグネチャ:

xref:populateXRefRow1M(tableName,referenceColumnName,referenceValue,columnName,value,mode)

引数:

  • xrefLocation: 相互参照URI

  • xrefReferenceColumnName: 参照列の名前

  • xrefReferenceValue: 参照列名に対応する値

  • xrefColumnName: 値が参照される列の名前

  • xrefvalue: 参照列名に対応する値

  • xrefmode: XREFの移入モードの名前

プロパティID:

  • namespace-uri:http://www.oracle.com/XSL/Transform/java/oracle.tip.xref.xpath.XRefXPathFunctions

  • namespace-prefix: xref

B.5 ワークフロー・サービス関数

この項では、ワークフロー・サービス関数について説明します。

B.5.1 clearTaskAssignees

この関数は、現在のタスク割当て先を消去します。

シグネチャ:

hwf:clearTaskAssignees(taskID)

引数:

  • task: タスクのタスクID

プロパティID:

  • namespace-uri: http://xmlns.oracle.com/bpel/workflow/xpath

  • namespace-prefix: hwf

B.5.2 createWordMLDocument

この関数は、Microsoft Word ML文書をBase 64でエンコードされた文字列として作成します。

シグネチャ:

hwf:createWordMLDocument(node, xsltURI)

引数:

  • node: このノードは、トランスフォーメーションへの入力であるXMLノードです。

  • xsltURI: ノード(第1引数)からMicrosoft Word MLへの変換に使用されるXSLT。

プロパティID:

  • namespace-uri: http://xmlns.oracle.com/bpel/workflow/xpath

  • namespace-prefix: hwf

B.5.3 getNotificationProperty

この関数は、通知プロパティを取得します。 通知ごとに対応する値に評価されます。この関数は、通知コンテンツのXPath式でのみ使用してください。他の場所で使用すると、nullが返されます。

シグネチャ:

hwf:getNotificationProperty(propertyName)

引数:

  • propertyName: 通知プロパティの名前。次のいずれかの値です。

    • recipient: 通知の受信者

    • recipientDisplay: 受信者の表示名

    • taskAssignees: タスクの割当て先

    • taskAssigneesDisplay: タスク割当て先の表示名

    • locale: 受信者のロケール

    • taskId: 通知対象となるタスクのタスクID

    • taskNumber: 通知対象となるタスクのタスク番号

    • appLink: Oracle BPM Worklistのタスク詳細ページへのHTMLリンク

プロパティID:

  • namespace-uri: http://xmlns.oracle.com/bpel/workflow/xpath

  • namespace-prefix: hwf

B.5.4 getNumberOfTaskApprovals

この関数は、タスクが承認された回数を計算します。

シグネチャ:

hwf:getNumberOfTaskApprovals(taskId)

引数:

  • taskId: タスクのID

プロパティID:

  • namespace-uri: http://xmlns.oracle.com/bpel/workflow/xpath

  • namespace-prefix: hwf

B.5.5 getPreviousTaskApprover

この関数は、前のタスク承認者を取得します。

シグネチャ:

hwf:getPreviousTaskApprover(taskId)

引数:

  • taskId: タスクのID

プロパティID:

  • namespace-uri: http://xmlns.oracle.com/bpel/workflow/xpath

  • namespace-prefix: hwf

B.5.6 getTaskAttachmentByIndex

この関数は、指定された索引にあるタスクの添付ファイルを取得します。

シグネチャ:

hwf:getTaskAttachmentByIndex(taskId, attachmentIndex)

引数:

  • taskId: タスクのタスクID。

  • attachmentIndex: 添付ファイルの索引。索引は1から始まります。attachmentIndex引数には、値が索引番号の文字列として評価されるノードを指定できます(すべてのノード値は文字列です)。静的に指定する場合は、'1'として指定できます。

プロパティID:

  • namespace-uri: http://xmlns.oracle.com/bpel/workflow/xpath

  • namespace-prefix: hwf

B.5.7 getTaskAttachmentByName

この関数は、添付ファイル名でタスクの添付ファイルを取得します。

シグネチャ:

hwf:getTaskAttachmentByName(taskId, attachmentName)

引数:

  • taskId: タスクのタスクID

  • attachmentName: 添付ファイルの名前

プロパティID:

  • namespace-uri: http://xmlns.oracle.com/bpel/workflow/xpath

  • namespace-prefix: hwf

B.5.8 getTaskAttachmentContents

この関数は、添付ファイル名でタスクの添付ファイルのコンテンツを取得します。

シグネチャ:

hwf:getTaskAttachmentContents(taskId, attachmentName)

引数:

  • taskId: タスクのタスクID

  • attachmentName: 添付ファイルの名前

プロパティID:

  • namespace-uri: http://xmlns.oracle.com/bpel/workflow/xpath

  • namespace-prefix: hwf

B.5.9 getTaskAttachmentsCount

この関数は、タスクの添付ファイル数を取得します。

シグネチャ:

hwf:getTaskAttachmentsCount(taskId)

引数:

  • taskId: タスクのタスクID

プロパティID:

  • namespace-uri: http://xmlns.oracle.com/bpel/workflow/xpath

  • namespace-prefix: hwf

B.5.10 getTaskResourceBundleString

この関数は、タスク定義に関連付けられているリソース・バンドルから国際化されたリソース値を返します。

シグネチャ:

hwf:getTaskResourceBundleString(taskId, key, locale?)

引数:

  • taskId: タスクのタスクID。

  • key: リソースへのキー。

  • locale: ロケール(オプション)。この値は、デフォルトでシステム・ロケールに設定されます。この場合、ネームスペースhttp://xmlns.oracle.com/bpel/services/taskServiceresourceString XML要素が返されます。これにはリソース・バンドルからの文字列が含まれます。

プロパティID:

  • namespace-uri: http://xmlns.oracle.com/bpel/workflow/xpath

  • namespace-prefix: hwf

B.5.11 wfDynamicGroupAssign

この関数は、指定の割当てパターンに従って選択されたアイデンティティ・サービス・グループの名前を取得します。グループは、指定したグループの下位グループ(単一のグループ名を指定した場合)またはグループ・リスト(ユーザー名リストを指定した場合)から選択されます。アイデンティティ・サービスが複数のレルムで構成されている場合は、グループのレルム名も指定する必要があります。追加の割当てパターン固有のパラメータも指定できます。これらの追加パラメータは、使用する特定の割当てパターンの詳細によってはオプションです。

この関数には2つのシグネチャがあります。

シグネチャ1:

hwf:wfDynamicGroupAssign('patternName','groupName','realmName'?,'patternParam1'?,'patternParam2'?,...,'patternParamN'?)

引数1:

  • patternName: 割当てパターンの名前(例: ROUND_ROBIN

  • groupName: 下位グループの選択元となるグループの名前

  • realmName: グループが属しているアイデンティティ・サービス・レルムの名前

  • patternParam1...patternParamN: 割当てパターン実装に必要な追加パラメータ(パターンによってはオプション)

シグネチャ2:

hwf:wfDynamicGroupAssign('patternName','groupList','realmName'?,'patternParam1'?,'patternParam2'?,...,'patternParamN'?)

引数2:

  • patternName: 割当てパターンの名前(例: ROUND_ROBIN

  • groupList: グループの選択元となるグループ・リスト

  • realmName: グループが属しているアイデンティティ・サービス・レルムの名前

  • patternParam1...patternParamN: 割当てパターン実装に必要な追加パラメータ(パターンによってはオプション)

プロパティID:

  • namespace-uri: http://xmlns.oracle.com/bpel/workflow/xpath

  • namespace-prefix: hwf

B.5.12 wfDynamicUserAssign

この関数は、指定の割当てパターンに従って選択されたアイデンティティ・サービス・ユーザーの名前を返します。ユーザーは、指定したグループの下位ユーザー(単一のグループ名を指定した場合)またはユーザー・リスト(ユーザー名リストを指定した場合)から選択されます。アイデンティティ・サービスが複数のレルムで構成されている場合は、グループおよびユーザーのレルム名も指定する必要があります。追加の割当てパターン固有のパラメータも指定できます。これらの追加パラメータは、使用する特定の割当てパターンの詳細によってはオプションです。

この関数には2つのシグネチャがあります。

シグネチャ1:

hwf:wfDynamicUserAssign('patternName','groupName','realmName'?,'patternParam1'?,....,'patternParam2'?,...,'patternParamN'?)

引数1:

  • patternName: 割当てパターンの名前(例: ROUND_ROBIN

  • groupName: 下位ユーザーの選択元となるグループの名前

  • realmName: グループが属しているアイデンティティ・サービス・レルムの名前

  • patternParam1 ... patternParamN: 割当てパターン実装に必要な追加パラメータ(パターンによってはオプション)

シグネチャ2:

hwf:wfDynamicUserAssign(patternName,userList,realmName?,patternParam1?,patternParam2?,...,patternParamN?)

引数2:

  • patternName: 割当てパターンの名前(例: ROUND_ROBIN

  • userList: ユーザーの選択元となるユーザー・リスト

  • realmName: ユーザーが属しているアイデンティティ・サービス・レルムの名前

  • patternParam1...patternParamN: 割当てパターン実装に必要な追加パラメータ(パターンによってはオプション)

プロパティID:

  • namespace-uri: http://xmlns.oracle.com/bpel/workflow/xpath

  • namespace-prefix: hwf

B.5.13 アイデンティティ・サービス関数

この項では、アイデンティティ・サービス関数について説明します。

B.5.13.1 getDefaultRealmName

この関数は、デフォルトのレルム名を返します。

シグネチャ:

ids:getDefaultRealmName()

引数: この関数には引数がありません。

プロパティID:

  • namespace-uri: http://xmlns.oracle.com/bpel/services/IdentityService/xpath

  • namespace-prefix: ids

B.5.13.2 getGroupProperty

この関数は、指定したグループのプロパティ値を返します。グループまたは属性が存在しない場合は、nullを返します。

シグネチャ:

ids:getGroupProperty(groupName, attributeName, realmName)

引数:

  • groupName: 属性を取得するグループを含む文字列または要素。

  • attributeName: グループ属性の名前を含む文字列または要素。属性名は次のいずれかの値です。

    1. displayName

    2. email

    アイデンティティ・サービスでLDAP providerTypeまたはJAZN LDAPベースのプロバイダが使用される場合は、これらの属性で検索できるようにLDAPサーバーを構成します。

  • realmName: レルム名。この引数はオプションです。指定しない場合は、デフォルトのレルムが使用されます。

プロパティID:

  • namespace-uri: http://xmlns.oracle.com/bpel/services/IdentityService/xpath

  • namespace-prefix: ids

B.5.13.3 getManager

この関数は、指定したユーザーのマネージャを取得します。ユーザーが存在しない、またはこのユーザーにマネージャが存在しない場合は、nullを返します。

シグネチャ:

ids:getManager(userName, realmName)

引数:

  • userName: ユーザー名。

  • realmName: レルム名。この引数はオプションです。指定しない場合は、デフォルトのレルムが使用されます。

プロパティID:

  • namespace-uri: http://xmlns.oracle.com/bpel/services/IdentityService/xpath

  • namespace-prefix: ids

B.5.13.4 getReportees

この関数は、ユーザーの報告先を取得します。ユーザーが存在しない場合は、nullを返します。この関数はノードのリストを返します。リストの各ノードはuserです。

シグネチャ:

ids:getReportees(userName, upToLevel, realmName)

引数:

  • userName: ユーザー名。

  • upToLevel: 結果に含める間接報告先のレベル数を定義します。値が1の場合は、直接報告先のみが返されます。値が-1の場合は、全レベルの報告先が返されます。値xsd:numberを含む要素、または文字列(例: '1')のいずれかを指定できます。

  • realmName: レルム名。この引数はオプションで、指定しない場合はデフォルトのレルムが使用されます。

プロパティID:

  • namespace-uri: http://xmlns.oracle.com/bpel/services/IdentityService/xpath

  • namespace-prefix: ids

B.5.13.5 getSupportedRealmNames

この関数は、サポートされるレルム名を返します。

シグネチャ:

ids:getSupportedRealms()

プロパティID:

  • namespace-uri: http://xmlns.oracle.com/bpel/services/IdentityService/xpath

  • namespace-prefix: ids

B.5.13.6 getUserProperty

この関数は、ユーザーのプロパティを返します。ユーザーまたは属性が存在しない場合は、nullを返します。

シグネチャ:

ids:getUserProperty(userName, attributeName, realmName)

引数:

  • userName: 属性を取得するユーザーを含む文字列または要素。

  • attributeName: ユーザー属性の名前。属性名は次のいずれかの値です。

    1. givenName

    2. middleName

    3. sn

    4. displayName

    5. mail

    6. telephoneNumber

    7. homephone

    8. mobile

    9. facsimile

    10. pager

    11. preferredlanguage

    12. title

    13. manager

    アイデンティティ・サービスでLDAP providerTypeまたはJAZN LDAPベースのプロバイダが使用される場合は、これらの属性で検索できるようにLDAPサーバーを構成します。

  • realmName: レルム名。この引数はオプションです。指定しない場合は、デフォルトのレルム名が使用されます。

プロパティID:

  • namespace-uri: http://xmlns.oracle.com/bpel/services/IdentityService/xpath

  • namespace-prefix: ids

B.5.13.7 getUserRoles

この関数は、ユーザー・ロールを取得します。roleTypeに応じて、アプリケーション・ロールまたはグループのいずれかのオブジェクト・リストを返します。ユーザーまたはロールが存在しない場合は、nullを返します。

シグネチャ:

ids:getUserRoles(userName, roleType, direct)

引数:

  • userName: ロールを取得するユーザーを含む文字列または要素。

  • roleType: ロール・タイプ。3つの値ApplicationRoleEnterpriseRoleまたはAnyRoleのいずれかです。

  • direct: 直接ロールをフェッチするか間接ロールをフェッチするかを示す文字列または要素。この引数はオプションです。指定しない場合は、直接ロールのみがフェッチされます。xsd:booleanまたは文字列true/falseを指定します。

プロパティID:

  • namespace-uri:http://xmlns.oracle.com/bpel/services/IdentityService

  • namespace-prefix: ids

B.5.13.8 getUsersInGroup

この関数は、グループ内のユーザーを取得します。グループが存在しない場合は、nullを返します。この関数はノードのリストを返します。リストの各ノードはuserです。

シグネチャ:

ids:getUsersInGroup(groupName, direct, realmName)

引数:

  • groupName: グループ名。

  • direct: ブール・フラグ。trueの場合は、直接ユーザー権限受領者が返され、それ以外の場合はすべてのユーザー権限受領者が返されます。値xsd:booleanを含む要素、または文字列'true'/'false'のいずれかを指定できます。

  • realmName: レルム名。この引数はオプションです。指定しない場合は、デフォルトのレルム名が使用されます。

プロパティID:

  • namespace-uri: http://xmlns.oracle.com/bpel/services/IdentityService/xpath

  • namespace-prefix: ids

B.5.13.9 isUserInRole

この関数は、ユーザーに指定ロールがあるかどうかを検証します。

シグネチャ:

ids:isUserInRole(userID, roleName, realmName)

引数:

  • userID: ロールの付与を検証するユーザーを含む文字列または要素。

  • roleName: ロール名。

  • realmName: レルム名。この引数はオプションです。指定しない場合は、デフォルトのレルム名が使用されます。

プロパティID:

  • namespace-uri: http://xmlns.oracle.com/bpel/services/IdentityService/xpath

  • namespace-prefix: ids

B.5.13.10 lookupGroup

この関数は、グループを取得します。グループが存在しない場合は、nullを返します。

シグネチャ:

ids:lookupGroup(groupName, realmName)

引数:

  • groupName: グループ名。

  • realmName: レルム名。この引数はオプションです。指定しない場合は、デフォルトのレルム名が使用されます。

プロパティID:

  • namespace-uri: http://xmlns.oracle.com/bpel/services/IdentityService/xpath

  • namespace-prefix: ids

B.5.13.11 lookupUser

この関数は、ユーザー・オブジェクトを取得します。ユーザーが存在しない場合は、nullを返します。

シグネチャ:

ids:lookupUser(userName, realmName)

引数:

  • userName: ユーザー名。

  • realmName: レルム名。この引数はオプションです。指定しない場合は、デフォルトのレルム名が使用されます。

プロパティID:

  • namespace-uri: http://xmlns.oracle.com/bpel/services/IdentityService/xpath

  • namespace-prefix: ids

B.6 XPathビルディング・アシスタントの使用

XPathビルディング・アシスタントを使用してXPath式を作成できます。

B.6.1 XPathビルディング・アシスタントの説明

次のような様々なダイアログの様々な場所でXPath式を指定できます。

  • XPath式ビルダーの「式」フィールド

  • assignアクティビティの「コピー操作」タブで作成される操作の「式」フィールド

  • while、wait、switchおよびpick(onAlarmブランチ)アクティビティの「式」フィールド

  • XSLTマッパーの「XPath式の編集」および「関数の編集」ダイアログ

長い式および複雑な式を手動で指定できますが、非効率的で間違いやすいプロセスになる可能性があります。XPathビルディング・アシスタントには、このプロセスを簡素化する一連の機能が用意されています。

  • 次の項目に関する自動完了機能

    • 要素および属性

    • 関数

    • BPEL変数およびパート

  • 関数パラメータのツールのヒント

  • XPathの構文検証およびセマンティク検証

B.6.2 XPathビルディング・アシスタントの起動

XPathビルディング・アシスタントを起動するには、「式」フィールド内をクリックし、[Ctrl]キーを押しながら[Space]キーを押します。 XPathビルディング・アシスタントは、XPath式を入力する必要がある、Oracle JDeveloperおよびXSLTマッパーの関数ダイアログの全フィールド内で使用できます。

「コピー操作の作成」ダイアログが表示されています。
図xbuild2.gifの説明

B.6.3 Oracle JDeveloperでのXPathビルディング・アシスタントの使用: 手順の例

この項では、XPathビルディング・アシスタントを使用して、「コピー操作の作成」ダイアログの「式」フィールドの「From」セクションで式を作成する方法の例を示します。この例では、注文書内のOrderCommentsに文字列値を追加するXPath式をモデル化します。注文書要素は、使用可能ないずれかのBPEL変数のパートです。

  1. カーソルを「式」フィールド内に置きます。

    「式」フィールドが表示されています。
    図xba1.gifの説明

  2. [Ctrl]キーを押しながら[Space]キーを押して、式を作成するための値リストを表示します。

    XPath式
    図xba2.gifの説明

  3. 次のいずれかの方法でリストから値を選択します(この例では、「concat(String) as String」を選択)。

    • リストを下へスクロールして、「concat(String) as String」をダブルクリックします。

    • cを入力して、その文字で始まる項目のみを表示し、「concat(String) as String」をダブルクリックします。

    この値が「式」フィールドに追加されます。別のオプションのリストが再度自動的に表示され、XPath式の次の部分を入力するように求められます。

  4. 次の部分を選択してダブルクリックします(この例では、「bpws」の2番目のエントリを選択)。

    concat式
    図xba3.gifの説明

    この値が「式」フィールドに追加されます。リストが再度自動的に表示され、XPath式の次の部分を入力するように求められます。

  5. 「inputVariable」を選択してダブルクリックします。

    inputVariable
    図xba4.gifの説明

  6. このプロセスを続けて実行して、XPath式の残りの部分を作成します(この例では、表示順に「payload」「ns1:/PurchaseOrder」「ns1:/OrderInfo」「ns1:OrderComments」をそれぞれダブルクリック)。

    ペイロードの式
    図xba5.gifの説明

  7. 必要に応じてテキストを手動で追加します(この例では「,',Selected: Select Manufacturing'」を追加)。必要な場合は、論理演算子(><など)を手動で入力することもできます。

    式
    図xba6.gifの説明


注意:

XPathビルディング・アシスタントのポップアップでダブルクリックを使用するかわりに、[Enter]キーを押して選択することもできます。式の入力の完了後も情報の入力を求めるプロンプトが表示される場合は、[Esc]キーを押してください。この操作でリストが閉じます。

B.6.4 XSLTマッパーでのXPathビルディング・アシスタントの使用

この項では、XPathビルディング・アシスタントを使用して、XSLTマッパーの「XPath式の編集」ダイアログで式を作成する方法の例を示します。

  1. 「トランスフォーメーション」ダイアログに移動します。

  2. 「コンポーネント・パレット」リストから「Advanced Functions」を選択します。

  3. リストを下へスクロールして「xpath-expression」を見つけます。

  4. 「xpath-expression」を「トランスフォーメーション」ダイアログにドラッグ・アンド・ドロップします。

    XPath式
    図xbuild20.gifの説明

  5. 関数をダブルクリックして、「XPath式の編集」ダイアログを表示します。

  6. 「XPath式」フィールド内でカーソルをクリックします。

  7. [Ctrl]キーを押しながら[Space]キーを押して、式を作成するための値リストを表示します。

    XPath式の編集
    図xbuild21.gifの説明

  8. 次のいずれかの方法でリストから値を選択します(この例では、「concat(String) as String」を選択)。

    • リストを下へスクロールして、「concat(String) as String」をダブルクリックします。

    • cを入力して、その文字で始まる項目のみを表示し、「concat(String) as String」をダブルクリックします。

      「XPath式の編集」ダイアログ
      図xbuild21b.gifの説明

    この選択値が「XPath式」フィールドに追加されます。別のオプションのリストが再度自動的に表示され、XPath式の次の部分を入力するように求められます。

  9. このプロセスを続けて実行して、XPath式の残りの部分を作成します(この例では、表示順に「po:PurchaseOrder」「po:ShipTo」「po:Name」「po:First」をそれぞれダブルクリック)。

  10. このプロセスを続けて実行して、式の残りの部分を作成します。

  11. 完了後、「OK」をクリックして「XPath式の編集」ダイアログを閉じます。

B.6.5 関数パラメータのツールのヒント

関数パラメータのツールのヒントでは、選択したXPath関数の適切な引数が表示されます。たとえば、関数concatを手動で入力し、次に(を入力すると、パラメータのツールのヒントが表示され、concat関数の適切な引数が表示されます。関数の現在の引数名が太字でハイライト表示されます。

Stringパラメータ
図xbuild23.gifの説明

1つの引数の指定が終わり、カンマを入力して次の引数に進むと、ツールのヒントが更新されて2番目の引数名が太字でハイライト表示されます。以降も同様に処理されます。関数が含まれている既存のXPathの編集中に、パラメータのツールのヒントを再起動するには、関数内にカーソルを置き、[Ctrl]キーと[Shift]キーを押しながら[Space]キーを押します。

B.6.6 構文検証およびセマンティク検証

Oracle JDeveloper内では、XPath式は、XPath 1.0仕様に準拠している場合は構文的に有効であるとみなされます。XPathビルディング・アシスタントでは、構文的に誤りのあるXPath(例: カッコやアポストロフィの欠落)については、誤りのある部分に赤い下線が付けられて警告されます。この部分にマウス・ポインタを移動します。これにより、エラー・メッセージがツールのヒントとして表示されます。エラーを修正すると、赤い下線付きのエラー表示は表示されなくなります。

式
図xbuild12.gifの説明

構文的に有効なXPathがセマンティク的には無効な場合があります。この場合は、実行時に予期しないエラーが発生する可能性があります。たとえば、要素、変数、関数またはパートの名前の綴りが間違っていることがあります。XPathビルディング・アシスタントでは、セマンティク・エラーについては、誤りのある部分に青い下線が付けられて警告されます。この部分にマウス・ポインタを移動します。これにより、エラー・メッセージがツールのヒントとして表示されます。エラーを修正すると、青い下線付きのエラー表示は表示されなくなります。

XPath式
図xbuild24.gifの説明

B.6.7 フリー・フォーム・テキストおよびXPath式を使用した式の作成

一部のダイアログでは、フリー・フォーム・テキストとXPath式を組み合せて使用できます。

  1. フィールドにカーソルを置くと、この機能を説明するポップアップ・メッセージが表示されます。

    XPath式
    図xbuild16.gifの説明

  2. フリー・フォーム・テキストを入力します(この例では、'Hello, your telephone number')。

    XPath式
    図xbuild25.gifの説明

  3. XPathビルディング・アシスタントを起動する準備が整ったところで<%と入力します。

    XPath式
    図xbuild26.gifの説明

    赤い下線が表示されます。これは、追加情報の入力を求められていることを示します。

  4. [Ctrl]キーを押しながら[Space]キーを押して、XPathビルディング・アシスタントを起動します。

    XPath式
    図xbuild27.gifの説明

  5. リストを下へスクロールして、選択する値をダブルクリックします。

  6. このプロセスを続けて実行して、式の残りの部分を作成します。

B.7 ユーザー定義XPath拡張関数の作成

Oracle SOA Suiteで使用するためのユーザー定義(カスタム)XPath拡張関数を作成できます。これらの関数は、次のコンポーネントに対して作成できます。

Oracle SOA SuiteのXPath拡張関数は、次の標準に従います。

関数の作成に関する次の規則に従うことをお薦めします。

例B-1に、システム関数およびユーザー定義関数で使用される関数スキーマを示します。

例B-1 関数スキーマ

<?xml version="1.0" encoding="UTF-8"?>
<schema xmlns="http://www.w3.org/2001/XMLSchema"
 xmlns:tns="http://xmlns.oracle.com/soa/config/xpath"
 targetNamespace="http://xmlns.oracle.com/soa/config/xpath"
 elementFormDefault="qualified">
      <element name="soa-xpath-functions" type="tns:XpathFunctionsConfig"/>
      <element name="function" type="tns:XpathFunction"/>
      <complexType name="XpathFunctionsConfig">
            <sequence>
               <element ref="tns:function" minOccurs="1" maxOccurs="unbounded"/>
            </sequence>
            <attribute name="resourceBundle" type="string"/>
            <attribute name="version" type="string"/>
      </complexType>

      <complexType name="XpathFunction">
            <sequence>
                 <element name="className" type="string"/>
                 <element name="return">
                         <complexType>
                                 <attribute name="type" type="tns:XpathType"
                                     use="required"/>
                         </complexType>
                 </element>
                 <element name="params" type="tns:Params" minOccurs="0"
                         maxOccurs="1"/>
                 <element name="desc">
                         <complexType>
                                 <simpleContent>
                                         <extension base="string">
                                                 <attribute name="resourceKey"
                                                     type="string"/>
                                         </extension>
                                 </simpleContent>
                         </complexType>
                 </element>
                 <element name="detail" minOccurs="0">
                         <complexType>
                                 <simpleContent>
                                         <extension base="string">
                                                 <attribute name="resourceKey"
                                                      type="string"/>
                                         </extension>
                                 </simpleContent>
                         </complexType>
                 </element>
                 <element name="icon" minOccurs="0">
            <complexType>
                     <simpleContent>
                              <extension base="string">
                                    <attribute name="resourceKey"
                                       type="string"/>
                              </extension>
                     </simpleContent>
             </complexType>
        </element>
                      <element name="helpURL" minOccurs="0">
             <complexType>
                      <simpleContent>
                              <extension base="string">
                                    <attribute name="resourceKey"
                                       type="string"/>
                              </extension>
                      </simpleContent>
              </complexType>
        </element>
        <element name="group" minOccurs="0">
              <complexType>
                      <simpleContent>
                              <extension base="string">
                                   <attribute name="resourceKey" type="string"/>
                              </extension>
                      </simpleContent>
              </complexType>
        </element>
        <element name="wizardClass" type="string" minOccurs="0"/>
</sequence>
<attribute name="name" type="string" use="required"/>
               <attribute name="deprecated" type="boolean" use="optional"/>
</complexType>

      <complexType name="Params">
      <sequence>
              <element name="param" minOccurs="1" maxOccurs="unbounded">
                      <complexType>
                           <attribute name="name" type="string" use="required"/>
                           <attribute name="type" type="tns:XpathType"
                                 use="required"/>
                           <attribute name="minOccurs" type="string"
                                 default="1"/>
                           <attribute name="maxOccurs" type="string"
                                 default="1"/>
                           <attribute name="wizardEnabled" type="boolean"
                                 default="false"/>
                      </complexType>
              </element>
       </sequence>
  </complexType>
  <simpleType name="XpathType">
       <restriction base="string">
               <enumeration value="string"/>
               <enumeration value="boolean"/>
               <enumeration value="number"/>
               <enumeration value="node-set"/>
               <enumeration value="tree"/>
       </restriction>
  </simpleType>
</schema>

B.7.1 ユーザー定義XPath拡張関数の実装方法

この項では、Oracle SOA Suiteコンポーネントのユーザー定義XPath拡張関数を実装する方法を説明します。

B.7.1.1 XSLTマッパーに対する関数の実装方法

XSLTマッパーのユーザー定義XPath拡張関数の実装は、他のコンポーネントと次のように異なります。

  • 各XSLTマッパー関数に、public staticクラスの対応するpublic staticメソッドが必要です。関数名とメソッド名が一致する必要があります。

  • XSLTマッパー関数のネームスペースの形式はhttp://www.oracle.com/XSL/Transform/java/mypackage.MyFunctionClassである必要があります。mypackage.MyFunctionClassは、関数のpublic staticメソッドが含まれているpublic staticクラスの完全修飾クラス名です。

XSLTマッパーのユーザー定義XPath拡張関数の作成に関する詳細は、第45.3.4.4項「ユーザー定義関数のインポート」を参照してください。

B.7.1.2 他のすべてのコンポーネントに対する関数の実装方法

Oracle BPEL Process Manager、Oracle Mediatorおよびヒューマン・ワークフローの関数では、oracle.fabric.common.xml.xpath.IXPathFunctionインタフェース(fabric-runtime.jarファイルで定義)またはjavax.xml.xpath.XPathFunctionを実装する必要があります。

他のすべてのコンポーネントに対する関数を実装する手順は、次のとおりです。

  1. XPath関数用のoracle.fabric.common.xml.xpath.IXPathFunctionインタフェースを実装します。IXPathFunctionインタフェースには、call(context, args)という1つのメソッドがあります。このメソッドのシグネチャは次のとおりです。

     package oracle.fabric.common.xml.xpath;
     public interface IXPathFunction
     {
        /** Call this function.
        *
        *  @param context The context at the point in the
        *         expression when the function is called.
        *  @param args List of arguments provided during
        *         the call of the function.
        */
        public Object call(IXPathContext context, List args) throws
     XPathFunctionException;
     }
    

    内容は次のとおりです。

    • context: 関数をコールした時点の式内のコンテキスト

    • args: 関数のコール時に指定する引数のリスト

    次の例では、w3c nodeの値を取得するgetNodeValue(arg1)という関数が実装されます。

    package com.collaxa.cube.xml.xpath.dom.functions;
     import oracle.fabric.common.xml.xpath.IXPathFunction;
     import oracle.fabric.common.xml.xpath.IXPathFunction
     . . .
    
     public class GetNodeValue implements IXPathFunction {
        Object call(IXPathContext context, List args) throws XPathFunctionException
     {
            org.w3c.dom.Node node = (org.w3c.dom.Node) args.get(0);
            return node.getNodeValue()
        }
     }
    

B.7.2 ユーザー定義XPath拡張関数の構成方法

この項では、ユーザー定義XPath拡張関数の構成方法について説明します。

ユーザー定義XPath拡張関数を構成する手順は、次のとおりです。

  1. 関数を定義するXPath拡張構成ファイルを作成します。例B-2に、例B-1で示した関数スキーマに基づくサンプル構成ファイルを示します。この例では、mf:myFunction1mf:myFunction2の2つの関数が作成されます。

    例B-2 XML拡張構成ファイルのサンプル

    <?xml version="1.0" encoding="UTF-8"?>
    <soa-xpath-functions resourceBundle="myPackage.myResourceBundle"
     xmlns="http://xmlns.oracle.com/soa/config/xpath"
     xmlns:mf="http://www.my-functions.com">
      <function name="mf:myFunction1">
        <className>myPackage.myFunctionClass1</className>
        <return type="node-set"/>
        <params>
          <param name="p1" type="node-set" wizardEnabled="true"/>
          <param name="p2" type="string"/>
          <param name="p3" type="number" minOccurs="0"/>
          <param name="p4" type="boolean" minOccurs="0"  maxOccurs="3"/>
        </params>
        <desc resourceKey="func1-desc-key">this is my first function</desc>
        <detail resourceKey="func2-long-desc-key">my first function does ... </detail>
        <icon>myPackage/resource/image/myFunction1.png</icon>
        <group resourceKey="func-group-key">My Function Group</group>
        <wizardClass>myPackage.myWizardClass1</wizardClass>
      </function>
      <function name="mf:myFunction2">
        <className>myPackage.myFunctionClass2</className>
        <return type="string"/>
        <params>
          <param name="p1" type="node-set" wizardEnabled="true"/>
          <param name="p2" type="string"/>
          <param name="p3" type="number" minOccurs="0"/>
          <param name="p4" type="boolean" minOccurs="0"  maxOccurs="unbounded"/>
        </params>
        <desc resourceKey="func2-desc-key">this is my second function</desc>
        <detail resourceKey="func2-long-desc-key">my second function does ...</detail>
        <icon>myPackage/resource/image/myFunction2.png</icon>
        <group resourceKey="func-group-key">My Function Group</group>
        <wizardClass>myPackage.myWizardClass2</wizardClass>
      </function>
    </soa-xpath-functions>
    

    表B-1に、構成ファイルの要素を示します。各関数の構成ファイルで、そのルート要素としてsoa-xpath-functionsが使用されます。ルート要素にはオプションのresourceBundle属性があります。 resourceBundleの値は、すべての関数構成に対するNLSサポートを提供するリソース・バンドル・クラスの完全修飾クラス名です。

    表B-1 関数スキーマの要素

    要素 説明

    className

    関数実装クラスの完全修飾クラス名。

    return

    関数の戻り型。XPathおよびXSLTでサポートされているstring、number、boolean、node-setおよびtreeのいずれかを指定できます。

    params

    関数のパラメータ。関数にはパラメータがない場合があります。パラメータには次の属性があります。

    • name: パラメータの名前。

    • type: パラメータのタイプ。XPathおよびXSLTでサポートされているstring、number、boolean、node-setおよびtreeのいずれかを指定できます。

    • minOccurs: パラメータの最少繰返し数。0に設定した場合、パラメータはオプションです。1に設定した場合は必須です。現在の制限では、この属性に指定できる値は0または1のみで、オプションのパラメータは必須パラメータの後に定義する必要があります。この属性を指定しない場合、デフォルト値は1です。

    • maxOccurs: パラメータの最大繰返し数。unboundedに設定した場合、パラメータの繰返し数に制限はありません。このパラメータにより、無制限のパラメータを使用する可能性がある、XPath 1.0関数のconcat()などの関数をサポートできます。現在の制限では、関数の最終パラメータ以外のパラメータには、maxOccurs1より大きい値またはunboundedを指定できません。この属性を指定しない場合、デフォルト値は1です。

    • wizardEnabled: パラメータ値の入力にウィザードを使用可能にするかどうかを示します。この指定によって、パラメータ値を入力する必要があるユーザー・インタフェースがサポートされます。trueに設定すると、パラメータ値のフィールドの横にウィザード起動ボタンが表示されます。ウィザード起動ボタンを押すと、ユーザーがパラメータ値を簡単に入力できるポップアップ・ウィザードが起動されます。ウィザード・クラスを後で指定する必要があります。この属性を指定しない場合のデフォルト値はfalseで、デフォルトでは、パラメータに関するウィザードのサポートはありません。

    desc

    関数の説明(オプション)。resourceKeyを指定した場合、説明はルート要素で前に指定したリソース・バンドルから取得されます。

    detail

    関数の長い(詳細な)説明(オプション)。resourceKeyを指定した場合、説明はルート要素で前に指定したリソース・バンドルから取得されます。

    icon

    関数のアイコンのURL(オプション)。resourceKeyを指定した場合、アイコンのURLはルート要素で前に指定したリソース・バンドルから取得されます。関数を表示する必要があるユーザー・インタフェースをサポートするための要素です。

    helpURL

    関数のヘルプHTMLのURL(オプション)。resourceKeyを指定した場合、ヘルプのURLはルート要素で前に指定したリソース・バンドルから取得されます。関数のヘルプ・リンクを表示する必要があるユーザー・インタフェースをサポートするための要素です。

    group

    関数のグループ名(オプション)。resourceKeyを指定した場合、グループ名はルート要素で前に指定したリソース・バンドルから取得されます。関数をグループ化する必要があるユーザー・インタフェースをサポートするための要素です。グループ名を指定しない場合、関数は、ユーザー・インタフェースでグループ化される際に組込みの拡張関数に分類されます。

    wizardClass

    ウィザードを使用可能にしたすべてのパラメータに対するウィザード・クラスの完全修飾クラス名。パラメータ値を入力する必要があるユーザー・インタフェースをサポートするための要素です。このウィザード・クラスは、ウィザード起動ボタンを押すと起動され、ユーザーがパラメータ値を簡単に入力できるようにします。ウィザードを使用可能にするパラメータを指定していない場合、この要素は指定しないでください。

    注意: この要素は、ユーザー定義関数ではサポートされていません。この機能を現在サポートしているのはシステム関数のみです。


  2. 関数を使用するコンポーネント・タイプに基づいて、ユーザー定義のXPath拡張構成ファイルの名前を指定します。表B-2に、ユーザー定義構成ファイルに使用するネーミング規則を示します。

    表B-2 ユーザー定義構成ファイル

    関数を使用するコンポーネント 使用する構成ファイル名

    Oracle BPEL Process Manager


    ext-bpel-xpath-functions-config.xml

    Oracle Mediator

    ext-mediator-xpath-functions-config.xml

    XSLTマッパー

    ext-mapper-xpath-functions-config.xml

    ヒューマン・ワークフロー

    ext-wf-xpath-functions-config.xml

    すべてのコンポーネント

    ext-soa-xpath-functions-config.xml


  3. 構成ファイルをコンパイル済クラスとともにJARファイル内に配置します。JARファイル内で、構成ファイルはMETA-INFディレクトリに格納される必要があります。JARファイルは特定のディレクトリに存在する必要はありません。


    注意:

    customXpathFunction jarは、SOAコンポジットの一部ではないため、明示的に追加する必要があります。

  4. Oracle JDeveloperで、「ツール」「プリファレンス」「SOA」の順に選択します。

  5. 「追加」ボタンをクリックし、JARファイルを選択します。

  6. 変更を有効にするためにOracle JDeveloperを再起動します。

    JARファイルがJVMのクラスパスに自動的に追加され、使用可能になります。

B.7.3 ユーザー定義関数のランタイムへのデプロイ方法

ユーザー定義関数をランタイム環境にデプロイできます。

ユーザー定義関数をランタイムにデプロイする手順は、次のとおりです。

  1. ユーザー定義関数のJARファイルをBEA_Home/user_projects/domains/domain_name/libまたはlibのサブディレクトリにコピーします。

    domain_nameは、Oracle WebLogic Serverドメインの名前です(例: soainfra)。

  2. Oracle WebLogic Serverを再起動します。


    注意:

    別の方法として、BEA_Home/user_projects/domains/domain_name/libディレクトリをクラス・ローダーに追加できます。 これによって、Oracle WebLogic Serverを再起動する必要がなくなります。