オラクル社では、組込みBPEL機能およびXPath標準を使用するその他のXPath拡張関数を提供しています。
この付録の内容は次のとおりです。
関連項目:
|
この項では、次の関数について説明します。
この関数は、デリミタ付き文字列を入力としてとり、nodeSet
を返します。
シグネチャ:
orcl: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
: orcl
一意のGUIDが生成されます。
シグネチャ:
orcl:generate-guid()
プロパティID:
namespace-uri:
http://www.oracle.com/XSL/Transform/java/oracle.tip.pc.services.functions.ExtFunc
namespace-prefix
: orcl
注意: lookup-dvm はOracle Enterprise Service Busでのみ使用します。Oracle BPEL Process Managerにおけるこの関数の使用は、現在サポートされていません。
|
この関数は、ドメイン値マップ(DVM)内でソース列の値がソース値と一致するターゲット列の値を検索して文字列を返します。ソース値は、XSLTトランスフォーメーションのソース文書にバインドされたXPath式です。式は変換中に評価され、結果値は検索のためにソース値として渡されます。
シグネチャ:
orcl:lookup-dvm(dvmName as string, sourceColumn as string, sourceValue as string, targetColumn as string, defaultValue as string)
引数:
dvmName: DVM名。
sourceColumn: ソース列名。
sourceValue: ソース値(XSLTトランスフォーメーションのソース文書にバインドされたXPath式)。
targetColumn: ターゲット列名。
defaultValue: 値がみつからない場合は、デフォルト値が返されます。
例:
アメリカ国内の州名を略称から完全名に変換するとします。
orcl:lookup-dvm('State Code','code','CA','state','Not Found')
この場合、略称CA
をCalifornia
という完全名に変換しようとします。デフォルト値は、Not Found
です。
プロパティID:
namespace-uri:
http://www.oracle.com/XSL/Transform/java/oracle.tip.pc.services.functions.ExtFunc
namespace-prefix
: orcl
この関数では、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)
引数:
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
: orcl
この項では、次の関数について説明します。
この関数では、リンクのステータスを示すブール値が返されます。リンクのステータスが正である場合、値はtrue
です。負の場合は、false
です。この関数は、結合
条件内でのみ使用できます。
linkName
引数は、結合条件に関連付けられたアクティビティの受信リンクの名前を参照します。
シグネチャ:
bpws:getLinkStatus ('linkName')
引数:
variableName
: データのソース変数
propertyName
: プロパティのQName
プロパティID:
namespace-uri
: http://schemas.xmlsoap.org/ws/2003/03/business-process/
namespace-prefix
: bpws
この関数では、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
関連項目: この関数の使用例は、次のドキュメントを参照してください。 |
この関数では、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
この項では、次の関数について説明します。
この関数では、一重引用符が追加されたstring
の内容が返されます。
シグネチャ:
ora:addQuotes(string)
引数:
string
: 引用符が追加される文字列
プロパティID:
namespace-uri
: http://schemas.oracle.com/xpath/extension
namespace-prefix
: ora
この関数では、ノード・リストへの追加が行われます。NULLまたは空のノード・リストを追加先とすることはできません。
シグネチャ:
ora:appendToList('variableName', 'partName'?, 'locationPath'?, Object)
引数:
variableName
: データのソース変数
partName
: 変数全体のうち、選択するパート(オプション)
locationPath
: パートを表すドキュメント・フラグメント内のサブツリーに対して、ルートを明確にした絶対ロケーション・パスを指定します(/
により、パート全体を表す、ドキュメント・フラグメントのルートを表します。オプションです)。
Object
: リストまたは単一の項目を指定できます。リストを指定した場合、リスト内の各項目が追加されます。追加される各項目は、要素、または作成するノードの文字列値を持つ要素です。
プロパティID:
deprecated
bpelx:copyList
またはbpelx:append
拡張アクティビティを使用して、リストへの追加を行います。この拡張アクティビティについては、サンプルSOA_Oracle_Home
¥bpel¥samples¥tutorials¥126.DataAggregator
を参照してください。
namespace-uri
: http://schemas.oracle.com/xpath/extension
namespace-prefix
: ora
この関数では、ノード・リストまたはノードがコピーされます。NULLまたは空のノード・リストをコピー先とすることはできません。
シグネチャ:
ora:copyList('variableName', 'partName'?, 'locationPath'?, Object)
引数:
variableName
: データのソース変数
partName
: 変数全体のうち、選択するパート(オプション)
locationPath
: パートを表すドキュメント・フラグメント内のサブツリーに対して、ルートを明確にした絶対ロケーション・パスを指定します(/
により、パート全体を表す、ドキュメント・フラグメントのルートを表します。オプションです)。
Object
: リストまたは単一の項目を指定できます。リストを指定した場合、リスト内の各項目がコピーされます。コピーされる各項目は、要素、または作成するノードの文字列値を持つ要素です。
プロパティID:
deprecated
bpelx:copyList
拡張アクティビティを使用して、リストへの追加を行います。この拡張アクティビティについては、サンプルSOA_Oracle_Home
¥bpel¥samples¥tutorials¥126.DataAggregator
を参照してください。
namespace-uri
: http://schemas.oracle.com/xpath/extension
namespace-prefix
: ora
注意: countNodes 関数を引き続き使用することもできますが、要素のサイズを整数として返すにはXPathのcount() 関数のバージョン1.0を使用することをお薦めします。
|
この関数では、要素のサイズが整数として返されます。
シグネチャ:
ora:countNodes('variableName', 'partName'?, 'locationPath'?)
引数:
variableName
: データのソース変数
partName
: 変数全体のうち、選択するパート(オプション)
locationPath
: パートを表すドキュメント・フラグメント内のサブツリーに対して、ルートを明確にした絶対ロケーション・パスを指定します(/
により、パート全体を表す、ドキュメント・フラグメントのルートを表します。オプションです)。
プロパティID:
namespace-uri
: http://schemas.oracle.com/xpath/extension
namespace-prefix
: ora
この関数では、XMLファイルのコンテンツが返されます。
シグネチャ:
ora:doc('fileName','xpath'?)
引数:
fileName
: XMLファイルの名前
xpath
: ファイルへのパス
プロパティID:
namespace-uri
: http://schemas.oracle.com/xpath/extension
namespace-prefix
: ora
この関数では、標準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
一意のGUIDが生成されます。
シグネチャ:
ora:generateGUID()
プロパティID:
namespace-uri
: http://schemas.oracle.com/xpath/extension
namespace-prefix
: ora
この関数では、要素のコンテンツがXML文字列として返されます。
シグネチャ:
ora:getContentAsString(NodeList elementAsNodeList)
引数:
NodeList
: ノード・リスト(データのソース)
elementAsNodeList: ノード・リストとしての要素
プロパティID:
namespace-uri
: http://schemas.oracle.com/xpath/extension
namespace-prefix
: ora
この関数では、対話IDが返されます。
シグネチャ:
ora:getConversationId()
プロパティID:
namespace-uri
: http://schemas.oracle.com/xpath/extension
namespace-prefix
: ora
この関数では、インスタンスの作成者が返されます。
シグネチャ:
ora:getCreator()
プロパティID:
namespace-uri
: http://schemas.oracle.com/xpath/extension
namespace-prefix
: ora
この関数では、現在の日付が文字列として返されます。
シグネチャ:
ora:getCurrentDate('format'?)
引数:
format
: (オプション)文字列を指定します。この文字列がjava.text.SimpleDateFormat
書式に従って書式設定されます。
プロパティID:
namespace-uri
: http://schemas.oracle.com/xpath/extension
namespace-prefix
: ora
この関数では、現在の日時が文字列として返されます。
シグネチャ:
ora:getCurrentDateTime('format'?)
引数:
format
: (オプション)文字列を指定します。この文字列がjava.text.SimpleDateFormat
書式に従って書式設定されます。
プロパティID:
namespace-uri
: http://schemas.oracle.com/xpath/extension
namespace-prefix
: ora
この関数では、現在の時刻が文字列として返されます。
シグネチャ:
ora:getCurrentTime('format'?)
引数:
format
: (オプション)文字列を指定します。この文字列がjava.text.SimpleDateFormat
書式に従って書式設定されます。
プロパティID:
namespace-uri
: http://schemas.oracle.com/xpath/extension
namespace-prefix
: ora
この関数では、現在のドメインIDが返されます。
シグネチャ:
ora:getDomainId()
プロパティID:
namespace-uri
: http://schemas.oracle.com/xpath/extension
namespace-prefix
: ora
この関数では、要素の配列から、index
を使用して要素が返されます。
シグネチャ:
ora:getElement('variableName', 'partName', 'locationPath', index)
引数:
variableName
: データのソース変数
partName
: 変数全体のうち、選択するパート(必須)
locationPath
: パートを表すドキュメント・フラグメント内のサブツリーに対して、ルートを明確にした絶対ロケーション・パスを指定します(/
により、パート全体を表す、ドキュメント・フラグメントのルートを表します。必須です)。
index
: 動的索引値。最初のノードの索引は1
です。
プロパティID:
namespace-uri
: http://schemas.oracle.com/xpath/extension
namespace-prefix
: ora
この関数では、BPELスーツケース・ディスクリプタのTaskServiceAliases
セクションに指定されたグループ・エイリアスに含まれている、ユーザーIDのリスト
が返されます。
シグネチャ:
ora:getGroupIdsFromGroupAlias(String aliasName)
引数:
aliasName
: bpel.xml
ファイルに定義されているユーザーまたはグループのリストのエイリアス
プロパティID:
namespace-uri
: http://schemas.oracle.com/xpath/extension
namespace-prefix
: ora
この関数では、インスタンスIDが返されます。
シグネチャ:
ora:getInstanceId()
プロパティID:
namespace-uri
: http://schemas.oracle.com/xpath/extension
namespace-prefix
: ora
この関数では、DOMノードの値が文字列として返されます。
シグネチャ:
ora:getNodeValue(node)
引数:
node
: DOMノード
プロパティID:
namespace-uri
: http://schemas.oracle.com/xpath/extension
namespace-prefix
: ora
この関数では、ノード・リストが取得されます。これは、ノード・リストが返されないbpws:getVariableData
にかわるものとして実装されました。
シグネチャ:
ora:getNodes('variableName', 'partName'?, 'locationPath'?)
引数:
variableName
: データのソース変数
partName: 変数全体のうち、選択するパート(オプション)
locationPath
: パートを表すドキュメント・フラグメント内のサブツリーに対して、ルートを明確にした絶対ロケーション・パスを指定します(/
により、パート全体を表す、ドキュメント・フラグメントのルートを表します。オプションです)。
プロパティID:
namespace-uri
: http://schemas.oracle.com/xpath/extension
namespace-prefix
: ora
この関数では、BPELスーツケース・ディスクリプタのpreferencesセクションで指定されているプロパティの値が返されます。
シグネチャ:
ora:getPreference(String preferenceName)
引数:
preferenceName
: BPELスーツケース・ディスクリプタで指定されているプリファレンスの名前
プロパティID:
namespace-uri
: http://schemas.oracle.com/xpath/extension
namespace-prefix
: ora
この関数では、現在のBPELプロセスのIDが返されます。
シグネチャ:
ora:getProcessId()
プロパティID:
namespace-uri
: http://schemas.oracle.com/xpath/extension
namespace-prefix
: ora
この関数では、プロセスの所有者であるユーザーがBPELスーツケース・ディスクリプタのTaskServiceAliases
セクションで指定されている場合に、そのユーザーのIDが返されます。
シグネチャ:
ora:getProcessOwnerId()
プロパティID:
namespace-uri
: http://schemas.oracle.com/xpath/extension
namespace-prefix
: ora
この関数では、現在のBPELプロセスのルートURLが返されます。
シグネチャ:
ora:getProcessURL()
プロパティID:
namespace-uri
: http://schemas.oracle.com/xpath/extension
namespace-prefix
: ora
この関数では、現在のプロセス・バージョンが返されます。
シグネチャ:
ora:getProcessVersion()
プロパティID:
namespace-uri
: http://schemas.oracle.com/xpath/extension
namespace-prefix
: ora
この関数では、BPELスーツケース・ディスクリプタのTaskServiceAliases
セクションで指定されているエイリアスのユーザーIDが返されます。
シグネチャ:
ora:getUserAliasId (String aliasName)
引数:
aliasName
: bpel.xml
ファイルに定義されているユーザーまたはグループのリストのエイリアス
プロパティID:
namespace-uri
: http://schemas.oracle.com/xpath/extension
namespace-prefix
: ora
この関数では、ノードの内容が整数として返されます。
シグネチャ:
ora:integer(node)
引数:
node
: 入力ノード
プロパティID:
namespace-uri
: http://schemas.oracle.com/xpath/extension
namespace-prefix
: ora
この関数では、文字列がDOMに解析されます。
シグネチャ:
ora:parseEscapedXML(contentString)
引数:
contentString
: DOMに解析する文字列
プロパティID:
namespace-uri
: http://schemas.oracle.com/xpath/extension
namespace-prefix
: ora
この関数では、XQueryトランスフォーメーションの結果が返されます。
シグネチャ:
ora:processXQuery('template','context'?)
引数:
template
: XSLTテンプレート
input
: 変換する入力データ
properties
: bpel.xml
ファイルに定義されているプロパティ
プロパティID:
namespace-uri
: http://schemas.oracle.com/xpath/extension
namespace-prefix
: ora
この関数では、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
関連項目:
|
この関数では、XSQLリクエストの結果が返されます。
シグネチャ:
ora:processXSQL('template','input','properties'?)
引数:
template
: XSLTテンプレート
input
: 変換する入力データ
properties
: bpel.xml
ファイルに定義されているプロパティ
プロパティID:
namespace-uri
: http://schemas.oracle.com/xpath/extension
namespace-prefix
: ora
この関数では、ファイルからデータが読み取られます。
シグネチャ:
ora:readBinaryFromFile(fileName)
引数:
fileName
: データの読取り元ファイル名
プロパティID:
namespace-uri
: http://schemas.oracle.com/xpath/extension
namespace-prefix
: ora
この関数では、ファイルのコンテンツが返されます。
シグネチャ:
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. Please verify the xpath query.
nxsdTemplate
: 出力のNXSDテンプレート
nxsdRoot
: NXSDルート
プロパティID:
namespace-uri
: http://schemas.oracle.com/xpath/extension
namespace-prefix
: ora
この関数では、変数(または変数のパート)のバイナリ・バイトが指定のファイル名を持つファイルに書き込まれます。
シグネチャ:
ora:writeBinaryToFile(varName[, partName][, query])
引数:
varName
: 変数名
partName
: messageType
変数の場合はパート名
query
: ルート要素の子に対する問合せ文字列
プロパティID:
namespace-uri
: http://schemas.oracle.com/xpath/extension
namespace-prefix
: ora
この項では、次の関数について説明します。
この関数では、パラメータから生成されたSQL問合せによる文字列が返されます。
この文字列は、次のSQL問合せを実行することによって取得されます。
SELECT outputColumn FROM table WHERE inputColumn = key
このSQL問合せの対象は、JDBC接続文字列(jdbc:oracle:thin:
username
/
password
@
host
:
port
:
sid
)またはデータソースJNDI識別子のいずれかのデータソースです。Oracle Thin Driverがサポートされるのは、JDBC接続文字列が使用される場合のみです。
例: orcl:lookup-table('employee','id','1234','last_name','jdbc:oracle:thin:scott/tiger@localhost:1521:ORCL')
シグネチャ:
orcl:lookup-table(table, inputColumn, key, outputColumn, datasource)
引数:
table
: データの抽出元となる表
inputColumn
: 表内の列
key
: キー
outputColumn
: データを出力する列
datasource
: データのソース
プロパティID:
namespace-uri:
http://www.oracle.com/XSL/Transform/java/oracle.tip.pc.services.functions.ExtFunc
namespace-prefix
: orcl
この関数では、指定されたデータベースに対してSQL問合せが実行され、ノードセットが返されます。
シグネチャ:
orcl:query-database(sqlquery as string, rowset as boolean, row as boolean, datasource as string)
引数:
sqlquery
: 実行するSQL問合せ。
rowset
: 行を要素で囲むかどうかを指定します。
row
: 各行を要素で囲むかどうかを指定します。
datasource
: データベースの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
: orcl
この関数では、Oracleの順序の次の値が返されます。
この、順序における次の値を取得するため、次が実行されます。
SELECT sequence.nextval FROM dual
この実行の対象は、JDBC接続文字列(jdbc:oracle:thin:
username
/
password
@
host
:
port
:
sid
)またはデータソースJNDI識別子のいずれかのデータソースです。Oracle Thin Driverがサポートされるのは、JDBC接続文字列が使用される場合のみです。
例: 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)
引数:
sequence
: データベース内の順序番号
datasource
: JDBCの接続文字列またはデータソースのJNDI識別子
プロパティID:
namespace-uri:
http://www.oracle.com/XSL/Transform/java/oracle.tip.pc.services.functions.ExtFunc
namespace-prefix
: orcl
この項では、次の関数について説明します。
この関数では、指定された期間にdateTime
を加算した新しい日時の値が返されます。
期間の値が負の場合、返される値はdateTime
より前の日時になります。
シグネチャ:
xp20:add-dayTimeDuration-from-dateTime(dateTime as string, duration as string)
引数:
dateTime as string
: 期間を加算するdateTime
(文字列書式)
duration as string
: dateTime
に加算する期間(期間が負の場合は、dateTime
から引く期間。文字列書式)
プロパティID:
namespace-uri
: http://www.oracle.com/XSL/Transform/java/oracle.tip.pc.services.functions.Xpath20
namespace-prefix
: xp20
この関数では、現在の日付がISO書式YYYY-MM-DD
で返されます。
シグネチャ:
xp20:current-date(object)
引数:
Object
: 標準書式の時刻
プロパティID:
namespace-uri
: http://www.oracle.com/XSL/Transform/java/oracle.tip.pc.services.functions.Xpath20
namespace-prefix
: xp20
この関数では、現在のdatetime-valueがISO書式CCYY-MM-DDThh:mm:ssTZD
で返されます。
シグネチャ:
xp20:current-dateTime(object)
引数:
object
: 標準書式の時刻
プロパティID:
namespace-uri
: http://www.oracle.com/XSL/Transform/java/oracle.tip.pc.services.functions.Xpath20
namespace-prefix
: xp20
この関数では、現在の時刻がISO書式で返されます。この書式はhh:mm:ssTZD
です。
シグネチャ:
xp20:current-time(object)
引数:
object
: 標準書式の時刻
プロパティID:
namespace-uri
: http://www.oracle.com/XSL/Transform/java/oracle.tip.pc.services.functions.Xpath20
namespace-prefix
: xp20
この関数では、dateTime
に含まれる日の情報が返されます。デフォルトの日は1
です。
シグネチャ:
xp20:day-from-dateTime(object)
引数:
object
: 文字列としての標準書式の時刻
プロパティID:
namespace-uri
: http://www.oracle.com/XSL/Transform/java/oracle.tip.pc.services.functions.Xpath20
namespace-prefix
: xp20
この関数では、指定した書式を使用して書式設定されたdateTime
の文字列が返されます。
シグネチャ:
xp20: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
: xp20
この関数では、dateTime
に含まれている時刻の時間情報が返されます。デフォルトの時間は0
です。
シグネチャ:
xp20:hours-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
: xp20
この関数では、現在のタイムゾーンが、協定世界時(UTC)からの偏差を示すISO書式+/- hh:mm
で返されます。
シグネチャ:
xp20:implicit-timezone(object)
引数:
object
: 標準書式の時刻
プロパティID:
namespace-uri
: http://www.oracle.com/XSL/Transform/java/oracle.tip.pc.services.functions.Xpath20
namespace-prefix
: xp20
この関数では、dateTime
に含まれる分情報が返されます。デフォルトの分は0
です。
シグネチャ:
xp20:minutes-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
: xp20
この関数では、dateTime
に含まれる月情報が返されます。デフォルトの月は1
(1月)です。
シグネチャ:
xp20: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
: xp20
この関数では、dateTime
に含まれる秒情報が返されます。デフォルトの秒は0
です。
シグネチャ:
xp20: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
: xp20
この関数では、dateTime
から期間を引いて、新規のdateTime
が返されます。
期間の値が負の場合、返されるdateTime
値は指定したinput-dateTime
より後の日時になります。
シグネチャ:
xp20:subtract-dayTimeDuration-from-dateTime(dateTime as string, duration as string)
引数:
dateTime as string
: 期間を引く対象となるdateTime
(文字列書式)
duration as string
: dateTime
から引く期間(期間が負の場合はdateTime
に加算する期間。文字列書式)
プロパティID:
namespace-uri
: http://www.oracle.com/XSL/Transform/java/oracle.tip.pc.services.functions.Xpath20
namespace-prefix
: xp20
この関数では、dateTime
に含まれるタイムゾーン情報が返されます。デフォルトのタイムゾーンはGMT+00:00
です。
シグネチャ:
xp20: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
: xp20
この項では、次の関数について説明します。
この関数では、inputNumber
の絶対値が返されます。inputNumber
が負でない場合は、inputNumber
自体が返されます。inputNumberが負である場合、inputNumberからマイナス符号をとった値が返されます。
例: abs(-1)
の場合、1
が返されます。
シグネチャ:
xp20: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
: xp20
この項では、次の関数について説明します。
この関数では、デフォルトのレルム名が返されます。
シグネチャ:
ids:getDefaultRealmName()
プロパティID:
namespace-uri
: http://xmlns.oracle.com/bpel/services/IdentityService/xpath
namespace-prefix
: ids
この関数では、指定したグループのプロパティ値が返されます。グループまたは属性が存在しない場合、NULL
が返されます。
シグネチャ:
ids:getGroupProperty(groupName, attributeName, realmName)
引数:
groupName
: グループ名。
attributeName
: グループ属性名。属性名の値は、次のいずれかになります。
name
displayName
description
email
アイデンティティ・サービスがLDAP providerType
またはJAZN LDAPベースのプロバイダを使用する場合は、属性で検索できるようにLDAPサーバーを構成します。
realmName
: レルム名。この引数はオプションです。指定しなければ、デフォルト・レルムとみなされます。
プロパティID:
namespace-uri
: http://xmlns.oracle.com/bpel/services/IdentityService/xpath
namespace-prefix
: ids
この関数では、指定したユーザーのマネージャが取得されます。ユーザーが存在しないか、ユーザーにマネージャがいない場合、NULL
が返されます。
シグネチャ:
ids:getManager(userName, realmName)
引数:
userName
: ユーザー名。
realmName
: レルム名。この引数はオプションです。指定しなければ、デフォルト・レルムとみなされます。
プロパティID:
namespace-uri
: http://xmlns.oracle.com/bpel/services/IdentityService/xpath
namespace-prefix
: ids
この関数では、ユーザーの報告先が取得されます。ユーザーが存在しない場合、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
この関数では、サポート対象のレルム名が返されます。
シグネチャ:
ids:getSupportedRealms()
プロパティID:
namespace-uri
: http://xmlns.oracle.com/bpel/services/IdentityService/xpath
namespace-prefix
: ids
この関数では、ユーザーのプロパティが返されます。ユーザーまたは属性が存在しない場合、NULL
が返されます。
シグネチャ:
ids:getUserProperty(userName, attributeName, realmName)
引数:
userName
: ユーザー名。
attributeName
: ユーザー属性名。属性名の値は、次のいずれかになります。
name
displayName
description
title
firstName
middleName
lastName
workPhone
homePhone
mobile
pager
fax
アイデンティティ・サービスがLDAP providerType
またはJAZN LDAPベースのプロバイダを使用する場合は、属性で検索できるようにLDAPサーバーを構成します。
realmName
: レルム名。この引数はオプションです。指定しなければ、デフォルト・レルム名とみなされます。
プロパティID:
namespace-uri
: http://xmlns.oracle.com/bpel/services/IdentityService/xpath
namespace-prefix
: ids
この関数は、ユーザー・ロールを取得する際に使用します。この関数では、roleType
に応じて、オブジェクト(アプリケーション・ロールまたはグループ)のリストが返されます。ユーザーまたはロールが存在しない場合、NULL
が返されます。
シグネチャ:
ids:getUserRoles(userName, roleType, direct)
引数:
userName
: ユーザー名。
roleType
: ロール・タイプ。3つの値(ApplicationRole
、EnterpriseRole
またはAnyRole
)のいずれかです。
direct
: 直接ロールをフェッチするか間接ロールをフェッチするかを示すブール・フラグ。この引数はオプションです。指定しなければ、直接ロールのみがフェッチされます。値xsd:boolean
または文字列'true'/'false'
を含む要素を使用できます。
プロパティID:
namespace-uri
:http://xmlns.oracle.com/bpel/services/IdentityService
namespace-prefix
: ids
この関数は、グループのユーザーを取得する際に使用します。グループが存在しない場合、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
この関数では、指定されたロールがユーザーに付与されているかどうかが検証され、ブール値true
またはfalse
が返されます。ユーザーが存在しない場合、NULL
が返されます。
シグネチャ:
ids:isUserInRole(userID, roleName, realmName)
引数:
userID
: ユーザー名。
roleName
: ロール名またはグループ名。
realmName
: レルム名。この引数はオプションです。指定しなければ、デフォルト・レルム名とみなされます。
プロパティID:
namespace-uri
: http://xmlns.oracle.com/bpel/services/IdentityService/xpath
namespace-prefix
: ids
この関数は、グループを取得する際に使用します。グループが存在しない場合、NULL
が返されます。
シグネチャ:
ids:lookupGroup(groupName, realmName)
引数:
groupName
: グループ名。
realmName
: レルム名。この引数はオプションです。指定しなければ、デフォルト・レルム名とみなされます。
プロパティID:
namespace-uri
: http://xmlns.oracle.com/bpel/services/IdentityService/xpath
namespace-prefix
: ids
この項では、次の関数について説明します。
この関数では、現在のタスク割当て先が消去されます。
シグネチャ:
hwf:clearTaskAssignees(taskID)
引数:
task
: タスクのID
プロパティID:
namespace-uri:
http://xmlns.oracle.com/bpel/workflow/xpath
namespace-prefix
: hwf
この関数では、Microsoft Word ML文書がbase 64でエンコードされた文字列として作成されます。
シグネチャ:
hwf:createWordMLDocument(node, xsltURI)
引数:
node
: ノード
xsltURI
: ノード(第1引数)からMicrosoft Word MLへの変換に使用されるXSLT
プロパティID:
namespace-uri: http://xmlns.oracle.com/bpel/workflow/xpath
namespace-prefix
: hwf
この関数は、通知プロパティを取得する際に使用します。この関数は、通知ごとに対応する値と評価されます。この関数は、通知コンテンツのXPath式でのみ使用してください。他の場所で使用すると、null
が返されます。
シグネチャ:
hwf:getNotificationProperty(propertyName)
引数:
propertyName
: 通知プロパティ名。次の値のいずれかです。
recipient
: 通知の受信者
recipientDisplay
: 受信者の表示名
taskAssignees
: タスク割当て先
taskAssigneesDisplay
: タスク割当て先の表示名
locale
: 受信者のロケール
taskId
: 通知対象となるタスクのタスクID
taskNumber
: 通知対象となるタスクのタスク番号
appLink
: Oracle BPEL Worklistアプリケーションのタスク詳細ページへのHTMLリンク
プロパティID:
namespace-uri: http://xmlns.oracle.com/bpel/workflow/xpath
namespace-prefix
: hwf
この関数では、タスクが承認された回数が計算されます。
シグネチャ:
hwf:getNumberOfTaskApprovals(taskId)
引数:
taskId
: タスクのID
プロパティID:
namespace-uri
: http://xmlns.oracle.com/bpel/workflow/xpath
namespace-prefix
: hwf
この関数では、タスクの前承認者が取得されます。
シグネチャ:
hwf:getPreviousTaskApprover(taskId)
引数:
taskId
: タスクのID
プロパティID:
namespace-uri
: http://xmlns.oracle.com/bpel/workflow/xpath
namespace-prefix
: hwf
この関数では、指定された索引にあるタスク添付が取得されます。
シグネチャ:
hwf:getTaskAttachmentByIndex(taskId, attachmentIndex)
引数:
taskId
: タスクのID。
attachmentIndex
: 添付の索引。索引は1
から始まります。attachmentIndex
引数には、値が索引番号の文字列として評価されるノードを使用できます(すべてのノード値は文字列です)。静的に指定する場合は、'1'
として指定できます。
プロパティID:
namespace-uri
: http://xmlns.oracle.com/bpel/workflow/xpath
namespace-prefix
: hwf
この関数では、添付名によってタスク添付が取得されます。
シグネチャ:
hwf:getTaskAttachmentByName(taskId, attachmentName)
引数:
taskId
: タスクのID
attachmentName
: 添付の名前
プロパティID:
namespace-uri
: http://xmlns.oracle.com/bpel/workflow/xpath
namespace-prefix
: hwf
この関数では、添付名によってタスクの添付コンテンツが取得されます。
シグネチャ:
hwf:getTaskAttachmentContents(taskId, attachmentName)
引数:
taskId
: タスクのID
attachmentName
: 添付の名前
プロパティID:
namespace-uri
: http://xmlns.oracle.com/bpel/workflow/xpath
namespace-prefix
: hwf
この関数では、タスク添付の数が取得されます。
シグネチャ:
hwf:getTaskAttachmentsCount(taskId)
引数:
taskId
: タスクID
プロパティID:
namespace-uri
: http://xmlns.oracle.com/bpel/workflow/xpath
namespace-prefix
: hwf
この関数では、タスク定義に関連付けられているリソース・バンドルから国際化されたリソース値が返されます。
シグネチャ:
hwf:getTaskResourceBundleString(taskId, key, locale?)
引数:
taskId
: タスクのID。
key
: リソースへのキー。
locale
: (オプション)ロケール。この値はデフォルトでシステム・ロケールに設定されます。この場合、リソース・バンドルからの文字列を含むネームスペースhttp://xmlns.oracle.com/bpel/services/taskService
内のresourceString
XML要素が返されます。
プロパティID:
namespace-uri: http:
//xmlns.oracle.com/bpel/workflow/xpath
namespace-prefix
: hwf
この関数は、指定の割当てパターンに従って選択されたアイデンティティ・サービス・グループの名前を取得する際に使用します。グループは、指定のグループの下位グループ(グループ名を1つ指定した場合)またはグループ・リスト(ユーザー名リストを指定した場合)から選択されます。アイデンティティ・サービスが複数レルムを使用するように構成されている場合は、グループのレルム名も指定する必要があります。さらに割当てパターン固有のパラメータも指定できます。これらの付加的パラメータはオプションで、使用する割当てパターンの詳細によって異なります。
この関数には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
この関数では、指定の割当てパターンに従って選択されたアイデンティティ・サービス・ユーザーの名前が返されます。ユーザーは、指定のグループの下位ユーザー(グループ名を1つ指定した場合)またはユーザー・リスト(ユーザー名リストを指定した場合)から選択されます。アイデンティティ・サービスが複数レルムを使用するように構成されている場合は、グループとユーザーのレルム名も指定する必要があります。さらに割当てパターン固有のパラメータも指定できます。これらの付加的パラメータはオプションで、使用する割当てパターンの詳細によって異なります。
この関数には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
この項では、次の関数について説明します。
この関数では、inputString
とcompareString
の両文字列の各文字のUnicode値が比較され、これらの文字列間の辞書的な差異が返されます。
inputString
が辞書的にcompareString
より前にある場合、-1
が返されます。
inputString
とcompareString
が等しい場合、0
が返されます。
inputString
が辞書的にcompareString
より後ろにある場合、1
が返されます。
例: xp20:compare('Audi', 'BMW')
の場合、-1
が返されます。
シグネチャ:
xp20: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
: xp20
この関数では、大/小文字を無視してinputString
とcompareString
の両文字列の各文字のUnicode値が比較され、これらの文字列間の辞書的な差異が返されます。
inputString
が辞書的にcompareString
より前にある場合、-1
が返されます。
inputString
とcompareString
が等しい場合、0
が返されます。
inputString
が辞書的にcompareString
より後ろにある場合、1
が返されます。
例: xp20:compare-ignore-case('Audi','bmw')
の場合、-1
が返されます。
シグネチャ:
xp:compare-ignore-case(inputString as string, compareString as string)
引数:
inputString as string
: 入力文字列
CompareString as string: 入力文字列と比較される文字列
プロパティID:
namespace-uri
: http://www.oracle.com/XSL/Transform/java/oracle.tip.pc.services.functions.Xpath20
namespace-prefix
: xp20
この関数では、nodeSet
を基に作成されたデリミタ区切りの文字列が返されます。
シグネチャ:
orcl: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
: orcl
この関数では、inputString
がsearchString
で終わる場合、trueが返されます。
例: xp20:ends-with('XSL Map','Map')
の場合、true
が返されます。
シグネチャ:
xp20: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
: xp20
この関数では、渡した引数を使用して書式設定されたメッセージが返されます。少なくとも1つの引数が必要であり、最大10の引数がサポートされます。
例: orcl:format-string('{0} + {1} = {2}','2','2','4')
の場合、2 + 2 = 4
が返されます。
シグネチャ:
orcl: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
: orcl
この関数では、入力要素のXML表現が返されます。
シグネチャ:
orcl: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
: orcl
この関数では、キーに対してロケール固有の文字列が返されます。この関数では、言語、国、変数およびリソース・バンドルを使用して、正しいリソース・バンドルが特定されます。
リソース・バンドルは、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)
引数:
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
: orcl
この関数では、inputString
の中に出現するsearchString
の、ゼロから始まる索引の最初の索引が返されます。
searchString
が見つからない場合は、-1
が返されます。
例: orcl:index-within-string('ABCABC, 'B')
の場合、1
が返されます。
シグネチャ:
orcl: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
: orcl
この関数では、inputString
の中に出現するsearchString
の、ゼロから始まる索引の最後の索引が返されます。
searchString
が見つからない場合は、-1
が返されます。
例: orcl:last-index-within-string('ABCABC', 'B')
の場合、4
が返されます。
シグネチャ:
orcl: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
: orcl
この関数では、inputString
から先頭の空白文字をすべて削除した値が返されます。
例: orcl:left-trim(' account ')
の場合、account
が返されます。
シグネチャ:
orcl:left-trim(inputString)
引数:
inputString
: 左側を切り捨てる文字列
プロパティID:
namespace-uri:
http://www.oracle.com/XSL/Transform/java/oracle.tip.pc.services.functions.ExtFunc
namespace-prefix
: orcl
この関数では、inputString
の文字をすべて小文字に変換した値が返されます。
例: xp20:lower-case('ABc!D')
の場合、abc!d
が返されます。
シグネチャ:
xp20:lower-case(inputString)
引数:
inputString
: 入力文字列
プロパティID:
namespace-uri
: http://www.oracle.com/XSL/Transform/java/oracle.tip.pc.services.functions.Xpath20
namespace-prefix
: xp20
この関数では、intputString
が正規表現パターンregexPattern
に一致する場合にtrue
が返されます。
例: xp20:matches('abracadabra', '^a.*a$')
の場合、true
が返されます。
シグネチャ:
xp20:matches(intputString, regexPattern)
引数:
inputString
: 入力文字列
regexPattern: 正規表現パターン
プロパティID:
namespace-uri
: http://www.oracle.com/XSL/Transform/java/oracle.tip.pc.services.functions.Xpath20
namespace-prefix
: xp20
この関数では、inputString
から末尾の空白文字をすべて削除した値が返されます。
例: orcl:right-trim(' account ')
の場合、account
が返されます。
シグネチャ:
orcl:right-trim(inputString as string)
引数:
inputString
: 右側を切り捨てる入力文字列
プロパティID:
namespace-uri:
http://www.oracle.com/XSL/Transform/java/oracle.tip.pc.services.functions.ExtFunc
namespace-prefix
: orcl
この関数では、inputString
の文字をすべて大文字に変換した値が返されます。
例: xp20:upper-case('abCd0')
の場合、ABCD0
が返されます。
シグネチャ:
xp20:upper-case(inputString as string)
引数:
inputString
: 入力文字列
プロパティID:
namespace-uri
: http://www.oracle.com/XSL/Transform/java/oracle.tip.pc.services.functions.Xpath20
namespace-prefix
: xp20
この項では、次の関数について説明します。
この関数では、Lightweight Directory Access Protocol(LDAP)ユーザーが認証され、true
またはfalse
が返されます。
シグネチャ:
ldap:authenticate('properties','userId','password')
引数:
properties
: directories.xml
ファイルに指定されたディレクトリの名前
userId
: LDAPユーザーのID
password
: LDAPユーザーのパスワード
プロパティID:
namespace-uri
:http://schemas.oracle.com/xpath/extension/ldap
namespace-prefix
: ldap
この関数では、バッチ内のアクティブ・プロセス数が返されます。
シグネチャ:
ora:batchProcessActive(String batchId, String processId)
引数:
batchId
: バッチのID
processId
: プロセスのID
プロパティID:
namespace-uri
: http://schemas.oracle.com/xpath/extension
namespace-prefix
: ora
この関数では、バッチ内の完了プロセス数が返されます。
シグネチャ:
ora:batchProcessCompleted(String batchId, String processId)
引数:
batchId
: バッチのID
processId
: プロセスのID
プロパティID:
namespace-uri
: http://schemas.oracle.com/xpath/extension
namespace-prefix
: ora
この関数では、Javaのメッセージ書式を使用してメッセージが書式設定されます。
シグネチャ:
ora:format(formatStrings, args+)
引数:
formatStrings
: 書式設定するデータの文字列
args+
:
プロパティID:
namespace-uri
: http://schemas.oracle.com/xpath/extension
namespace-prefix
: ora
この関数では、指定された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
この関数では、指定した要素の子要素が取得されます。
シグネチャ:
ora:getChildElement(element, index)
引数:
element
: データのソース
index
: 子要素の索引の整数値
プロパティID:
namespace-uri
: http://schemas.oracle.com/xpath/extension
namespace-prefix
: ora
この関数では、引数に基づいてメッセージが取得されます。
シグネチャ:
ora:getMessage(locale, relativeLocation, resourceName, resourceKey, resourceLocation?)
引数:
locale
: メッセージのロケール
relativeLocation
: メッセージのサブディレクトリ
resourceName
: メッセージ・リソースの名前
resourceKey
: リソースのキー
resourceLocation
: リソースの場所
プロパティID:
namespace-uri
: http://schemas.oracle.com/xpath/extension
namespace-prefix
: ora
この関数では、LDAPユーザーのリストが返されます。
シグネチャ:
ldap:listUsers('properties','filter')
引数:
properties
: directories.xml
ファイルに定義されているプロパティ名
filter
: LDAPフィルタ
プロパティID:
namespace-uri
: http://schemas.oracle.com/xpath/extension/ldap
namespace-prefix
: ldap
この関数では、ノードセットinputNumber
に含まれる入力数値のうちの最大値が返されます。
ノードセットinputNumber
には、テキスト・ノードの集合や、テキスト・ノードが含まれる要素の集合を指定できます。
要素の場合、最初のテキスト・ノードの値が対象になります。
シグネチャ:
orcl: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
: orcl
この関数では、ノードセットinputNumbers
に含まれる入力数値のうちの最小値が返されます。ノードセットには、テキスト・ノードの集合や、テキスト・ノードが含まれる要素の集合を指定できます。要素の場合、最初のテキスト・ノードの値が対象になります。
シグネチャ:
orcl: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
: orcl
この関数では、LDAPエントリのリストが返されます。
シグネチャ:
ldap:search('properties','filter','scope'?)
引数:
properties
: bpel.xml
ファイルに定義されているプロパティ名
filter
: エントリのフィルタ
scope
: 検索範囲
プロパティID:
namespace-uri
:http://schemas.oracle.com/xpath/extension/ldap
namespace-prefix
: ldap
この関数では、inputNumber
の平方根が返されます。
例: orcl:square-root(25)
の場合、5
が返されます。
シグネチャ:
orcl:square-root(inputNumber as number)
引数:
inputNumber
: 平方根を計算する入力数値
プロパティID:
namespace-uri:
http://www.oracle.com/XSL/Transform/java/oracle.tip.pc.services.functions.ExtFunc
namespace-prefix
: orcl
この関数では、入力ストリームがXMLファイルに変換されます。
シグネチャ:
ora:translateFromNative('string','nxsdTemplate'?,'nxsdRoot'?)
引数:
string
: XMLファイルに変換するデータ
nxsdTemplate
: トランスレーションの実行方法を定義するXSDファイル
nxsdRoot
: XSDファイルに定義されているルート要素
プロパティID:
namespace-uri
: http://schemas.oracle.com/xpath/extension
namespace-prefix
: ora
この関数では、XMLがネイティブ・データに変換されます。
シグネチャ:
ora:translateFromNative('string','nxsdTemplate'?,'nxsdRoot'?)
引数:
string
: 文字列に変換するXMLファイル
nxsdTemplate
: トランスレーションの実行方法を定義するXSDファイル
nxsdRoot
: XSDファイルに定義されているルート要素
プロパティID:
namespace-uri:
http://schemas.oracle.com/xpath/extension
namespace-prefix
: ora
この項では、独自のXPath関数を作成してOracle BPEL Process Managerに追加する方法について説明します。 この例では、getNodeValue(
arg1
)
という関数を作成します。
XPath関数用のcom.oracle.bpel.xml.xpath.IXPathFunction
インタフェースを実装します。 IXPathFunction
インタフェースには、メソッドが1つ(call(context, args)
)あります。 このメソッドのシグネチャは次のとおりです。
Object call(IXPathContext context, List args)
throws XPathFunctionException;
次の例では、getNodeValue(
arg1
)
という関数が実装され、値w3c
node
を取得します。
package com.collaxa.cube.xml.xpath.dom.functions;
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()
}
}
ここでgetNodeValue
XPath関数をOracle BPEL Serverに登録します。
次のファイルを開きます。
SOA_Oracle_Home¥bpel¥system¥config¥xpath-functions.xml
getNodeValue XPath関数を<bpel-xpath-functions>
セクションに追加します。
<function id="getNodeValue" arity=Ó1Ó> <classname>com.collaxa.cube.xml.xpath.dom.functions.GetNodeValueFunction </classname> <property id="namespace-uri"> <value>http://boo.com/xpath/function</value> <comment>Namespace URI for this function</comment> </property> <property id="namespace-prefix"> <value>boo</value> <comment>Namespace prefix for this function</comment> </property> </function>
次の関数構文詳細に注意してください。
<function>
の属性は、次のとおりです。
id
: XPath関数名を定義します。
arity
: 関数で受け入れ可能な必須引数の数を定義します(たとえば、関数が5
つの引数をとる場合に、最後の2
つの引数がオプションであれば、arity
の値は3
となります)。
<classname>
: XPath実装クラス名を定義します。
各関数について次の初期化プロパティを指定します。
namespace-uri
: 各XPathをネームスペースに関連付けます。
namespace-prefix
: このXPath関数のネームスペース接頭辞を指定します。
たとえば、Oracle BPEL Process ManagerからXPath関数をコールする必要があるとします。 その場合、namespace
uri
を<process>
セクションで次のように定義する必要があります。
<process name="XPathFunction" targetNamespace="http://samples.cxdn.com" suppressJoinFailure="yes" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:boo="http://boo.com/xpath/function" xmlns="http://schemas.xmlsoap.org/ws/2003/03/business-process/"> <copy> <from expression="boo:getNodeValue(bpws:getVariableData ('output','payload','/invoice/lineItems/item[3]/@sku'))"/> <to variable="mySKU"/> </copy> </process>
次のディレクトリに移動して、サンプルにおけるこの関数に使用方法を確認します。
SOA_Oracle_Home¥bpel¥samples¥references¥XPathFunction
このサンプルに付属するgetNodeValue()
XPath関数のコードを確認します。
package com.collaxa.cube.xml.xpath.dom.functions; import java.util.List; import com.oracle.bpel.xml.xpath.IXpathFunction; import com.oracle.bpel.xml.xpath.IXPathContext; import com.oracle.bpel.xml.xpath.XPathFunctionException; import org.w3c.dom.Node; /** * Returns the value of the dom node as String * * Usage: String ora:getNodeValue(Node node) * Node - dom node * */ public class GetNodeValueFunction implements IXPathFunction { public Object call(IXPathContext context, List args) throws XPathFunctionException { try { if (args.size() == 1) { return evaluate( args.get(0 ); } } catch(Exception e) { throw new XPathFunctionException (e.getMessage()); } throw new XPathFunctionException ("getNodeValue() requires one argument which is a dom node."); } public Object evaluate( Object node ) throws Exception { if (node != null) { if (node instanceof Node) return ((Node)node).getNodeValue(); else return String.valueOf(node); } return null; } }