XPath Extension Functions
XPath Extension Functions
View PDF
Previous Next
For additional information about XPath functions, visit the following URL:
http://www.w3.org
B.1.1.1 lookup-table
T his function returns a string based on the SQL query generated from the parameters.
against the data source that can be either a JDBC connect string
(jdbc:oracle:thin:username/password@host:port:sid) or a data source JNDI identifier. Only the
Oracle Thin Driver is supported if the JDBC connect string is used.
…oracle.com/docs/…/bp_appx_functs.htm 1/69
14/05/2010 XPath Extension Functions
Example: oraext:lookup-
table('employee','id','1234','last_name','jdbc:oracle:thin:xyz/xyz@localhost:1521:ORCL')
Signature:
Arguments:
Property IDs:
namespace-uri:
http://www.oracle.com/XSL/Transform/java/oracle.tip.pc.services.functions.ExtFunc
namespace-prefix: oraext
B.1.1.2 query-database
T his function returns a node set by executing the SQL query against the specified database.
Signature:
Arguments:
Property IDs:
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
Example: oraext:sequence-next-
val('employee_id_sequence','jdbc:oracle:thin:xyz/xyz@localhost:1521:ORCL')
Signature:
Arguments:
data source - Either a JDBC connect string or a data source JNDI identifier.
Property IDs:
namespace-uri:
http://www.oracle.com/XSL/Transform/java/oracle.tip.pc.services.functions.ExtFunc
namespace-prefix: oraext
B.1.2.1 add-dayTimeDuration-to-dateTime
T his function returns a new date time value adding dateTime to the given duration.
If the duration value is negative, then the resulting value precedes dateTime.
Signature:
Arguments:
dateTime as string - The dateTime to which the function adds the duration, in string format.
duration as string - The duration to add to the dateTime , or subtract if the duration is
negative, in string format.
Property IDs:
namespace-uri:
http://www.oracle.com/XSL/Transform/java/oracle.tip.pc.services.functions.Xpath20
namespace-prefix: xpath20
B.1.2.2 current-date
Signature:
xpath20:current-date(object)
Arguments:
Property IDs:
namespace-uri:
http://www.oracle.com/XSL/Transform/java/oracle.tip.pc.services.functions.Xpath20
namespace-prefix: xpath20
B.1.2.3 current-dateTime
T his function returns the current datetime value in ISO format CCYY-MM-DDThh:mm:ssTZD.
Signature:
xpath20:current-dateTime(object)
Arguments:
Property IDs:
namespace-uri:
http://www.oracle.com/XSL/Transform/java/oracle.tip.pc.services.functions.Xpath20
namespace-prefix: xpath20
B.1.2.4 current-time
T his function returns the current time in ISO format. The format is hh:mm:ssTZD.
Signature:
xpath20:current-time(object)
Arguments:
Property IDs:
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
T his function returns the day from dateTime. The default day is 1.
Signature:
xpath20:day-from-dateTime(object)
Arguments:
Property IDs:
namespace-uri:
…oracle.com/docs/…/bp_appx_functs.htm 4/69
14/05/2010 XPath Extension Functions
http://www.oracle.com/XSL/Transform/java/oracle.tip.pc.services.functions.Xpath20
namespace-prefix: xpath20
B.1.2.6 format-dateTime
T his function returns the formatted string of dateTime using the format provided.
Signature:
Arguments:
Property IDs:
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
T his function returns the hour from dateTime. The default hour is 0.
Signature:
xpath20:hours-from-dateTime(dateTime as string)
Arguments:
Property IDs:
namespace-uri:
http://www.oracle.com/XSL/Transform/java/oracle.tip.pc.services.functions.Xpath20
namespace-prefix: xpath20
B.1.2.8 implicit-timezone
T his function returns the current time zone in ISO format +/- hh:mm, indicating a deviation from UTC
(Coordinated Universal Timezone).
Signature:
xpath20:implicit-timezone(object)
Arguments:
Property IDs:
namespace-uri:
http://www.oracle.com/XSL/Transform/java/oracle.tip.pc.services.functions.Xpath20
…oracle.com/docs/…/bp_appx_functs.htm 5/69
14/05/2010 XPath Extension Functions
namespace-prefix: xpath20
B.1.2.9 minutes-from-dateTime
T his function returns the minute from dateTime. The default minute is 0.
Signature:
xpath20:minutes-from-dateTime(dateTime as string)
Arguments:
Property IDs:
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
T his function returns the month from dateTime. The default month is 1 (January).
Signature:
xpath20:month-from-dateTime(dateTime as string)
Arguments:
Property IDs:
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
T his function returns the second from dateTime. The default second is 0.
Signature:
xpath20:seconds-from-dateTime(dateTime as string)
Arguments:
Property IDs:
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
…oracle.com/docs/…/bp_appx_functs.htm 6/69
14/05/2010 XPath Extension Functions
T his function returns a new dateTime value after subtracting the duration from dateTime.
If the duration value is negative, then the resultant dateTime value follows input-dateTime value.
Signature:
Arguments:
dateTime as string - The dateTime from which the function subtracts the duration, in string
format.
duration as string - The duration to subtract to the dateTime , or to add if the duration is
negative, in string format.
Property IDs:
namespace-uri:
http://www.oracle.com/XSL/Transform/java/oracle.tip.pc.services.functions.Xpath20
namespace-prefix: x p20
B.1.2.13 timezone-from-dateTime
T his function returns the time zone from dateTime. T he default time zone is GMT+00:00.
Signature:
xpath20:timezone-from-dateTime(dateTime as string)
Arguments:
dateTime as string - The dateTime for which this function returns a time zone.
Property IDs:
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
Signature:
xpath20:year-from-dateTime(dateTime as string)
Arguments:
Property IDs:
namespace-uri:
http://www.oracle.com/XSL/Transform/java/oracle.tip.pc.services.functions.Xpath20
namespace-prefix: xpath20
…oracle.com/docs/…/bp_appx_functs.htm 7/69
14/05/2010 XPath Extension Functions
B.1.3 Mathematical Functions
B.1.3.1 abs
T his function returns the absolute value of inputNumber.If inputNumber is not negative, the
inputNumber is returned. If the inputNumber is negative, the negation of inputNumber is returned.
Signature:
xpath20:abs(inputNumber as number)
Arguments:
inputNumber as number - The number for which the function returns an absolute value.
Property IDs:
namespace-uri:
http://www.oracle.com/XSL/Transform/java/oracle.tip.pc.services.functions.Xpath20
namespace-prefix: xpath20
B.1.4.1 compare
T his function returns the lexicographical difference between inputString and compareString by
comparing the unicode value of each character of both the strings.
Signature:
Arguments:
Property IDs:
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
…oracle.com/docs/…/bp_appx_functs.htm 8/69
14/05/2010 XPath Extension Functions
T his function returns the lexicographical difference between inputString and compareString while
ignoring case and comparing the unicode value of each character of both the strings.
Signature:
Arguments:
Property IDs:
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
T his function returns a delimited string created from nodeSet delimited by delimiter.
Signature:
Arguments:
delimiter - T he character that separates the items in the output string; for example, a comma
or a semicolon.
Property IDs:
namespace-uri:
http://www.oracle.com/XSL/Transform/java/oracle.tip.pc.services.functions.ExtFunc
namespace-prefix: oraext
B.1.4.4 ends-with
Signature:
Arguments:
…oracle.com/docs/…/bp_appx_functs.htm 9/69
14/05/2010 XPath Extension Functions
inputString - The string of data to be searched.
Property IDs:
namespace-uri:
http://www.oracle.com/XSL/Transform/java/oracle.tip.pc.services.functions.Xpath20
namespace-prefix: xpath20
B.1.4.5 format-string
T his function returns the message formatted with the arguments passed. At least one argument is
required and supports up to a maximum of 10 arguments.
Signature:
oraext:format-string(string,string,string...)
Arguments:
Property IDs:
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
Signature:
oraext:get-content-as-string(element as node-set)
Arguments:
element as node-set - The input element that the function returns as an XML representation.
Property IDs:
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
Signature:
oraext:get-content-from-file-function(object)
Arguments:
…oracle.com/docs/…/bp_appx_functs.htm 10/69
14/05/2010 XPath Extension Functions
object:
Property IDs:
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
T his function returns the locale-specific string for the key. This function uses language, country, variant,
and resource bundle to identify the correct resource bundle.
Example: oraext:get-localized-
string('file:/c:/','','MyResourceBundle','en','US','','MSG_KEY') returns a locale-specific
string from a resource bundle 'MyResourceBundle' in the C:\ directory
Signature:
oraext:get-localized-
string(resourceURL,resourceLocation,resourceBundleName,language,country,variant,messageKey)
Arguments:
resourceBundleName - The name of the ZIP file containing the resource bundle.
Property IDs:
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
T his function returns the zero-based index of the first occurrence of searchString within the
inputString .
Signature:
Arguments:
Property IDs:
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
T his function returns the zero-based index of the last occurrence of searchString within
inputString .
Signature:
Arguments:
searchString - The string for which the function searches in the inputString.
Property IDs:
namespace-uri:
http://www.oracle.com/XSL/Transform/java/oracle.tip.pc.services.functions.ExtFunc
namespace-prefix: oraext
B.1.4.11 left-trim
T his function returns the value of inputString after removing all the leading white spaces.
Signature:
oraext:left-trim(inputString)
Arguments:
Property IDs:
namespace-uri:
http://www.oracle.com/XSL/Transform/java/oracle.tip.pc.services.functions.ExtFunc
…oracle.com/docs/…/bp_appx_functs.htm 12/69
14/05/2010 XPath Extension Functions
namespace-prefix: oraext
B.1.4.12 lower-case
T his function returns the value of inputString after translating every character to its lower-case
correspondent.
Signature:
xpath20:lower-case(inputString)
Arguments:
Property IDs:
namespace-uri:
http://www.oracle.com/XSL/Transform/java/oracle.tip.pc.services.functions.Xpath20
namespace-prefix: xpath20
B.1.4.13 matches
T his function returns true if intputString matches the regular expression pattern regexPattern.
Signature:
xpath20:matches(intputString, regexPattern)
Arguments:
Property IDs:
namespace-uri:
http://www.oracle.com/XSL/Transform/java/oracle.tip.pc.services.functions.Xpath20
namespace-prefix: xpath20
B.1.4.14 right-trim
T his function returns the value inputString after removing all the trailing white spaces.
Signature:
oraext:right-trim(inputString as string)
Arguments:
…oracle.com/docs/…/bp_appx_functs.htm 13/69
14/05/2010 XPath Extension Functions
Property IDs:
namespace-uri:
http://www.oracle.com/XSL/Transform/java/oracle.tip.pc.services.functions.ExtFunc
namespace-prefix: oraext
B.1.4.15 upper-case
T his function returns the value of inputString after translating every character to its uppercase
correspondent.
Signature:
xpath20:upper-case(inputString as string)
Arguments:
Property IDs:
namespace-uri:
http://www.oracle.com/XSL/Transform/java/oracle.tip.pc.services.functions.Xpath20
namespace-prefix: xpath20
B.2.1 addQuotes
T his function returns the content of a string with single quotes added.
Signature:
ora:addQuotes(string)
Arguments:
Property IDs:
namespace-uri: http://schemas.oracle.com/xpath/extension
namespace-prefix: ora
B.2.2 appendToList
Note:
The appendToList function is deprecated. Oracle recommends that you use the
bpelx:copyList extension of an assign activity to append data to a node list.
T his function appends to a node list. T he node list with which to append should not be null or empty.
…oracle.com/docs/…/bp_appx_functs.htm 14/69
14/05/2010 XPath Extension Functions
Signature:
Arguments:
locationPath - Provides an absolute location path (with / meaning the root of the document
fragment representing the entire part) to identify the root of a subtree within the document
fragment representing the part (optional).
Object - T he object can be either a list or a single item. If the object is a list, this function
appends each item in the list. Each appended item is either an element, or an element with the
string value of the node created.
Property IDs:
deprecated
namespace-uri: http://schemas.oracle.com/xpath/extension
namespace-prefix: ora
B.2.3 copyList
Note:
While the copyList function is still available for use, Oracle recommends that you
use the bpelx:copyList extension to copy a node list or a node.
T his function copies a node list or a node. The node list to be copied to should not be null or empty.
Signature:
Arguments:
locationPath - Provides an absolute location path (with / meaning the root of the document
fragment representing the entire part) to identify the root of a subtree within the document
fragment representing the part (optional).
Object - T he object can be either a list or a single item. If the object is a list, each item in the list
is copied. Each item to be copied is either an element, or an element with the string value of the
node created.
Property IDs:
deprecated
…oracle.com/docs/…/bp_appx_functs.htm 15/69
14/05/2010 XPath Extension Functions
namespace-uri: http://schemas.oracle.com/xpath/extension
namespace-prefix: ora
B.2.4 countNodes
Note:
While the countNodes function is still available for use, Oracle recommends that
you use version 1.0 of the XPath count() function to return the size of the
elements as an integer.
Signature:
Arguments:
locationPath - Provides an absolute location path (with / meaning the root of the document
fragment representing the entire part) to identify the root of a subtree within the document
fragment representing the part (optional).
Property IDs:
namespace-uri: http://schemas.oracle.com/xpath/extension
namespace-prefix: ora
B.2.5 doc
Signature:
ora:doc('fileName','xpath'?)
Arguments:
Property IDs:
namespace-uri: http://schemas.oracle.com/xpath/extension
namespace-prefix: ora
B.2.6 doStreamingTranslate
T his function translates using the streaming XPath APIs. It uses a unique concept called batching so
that the transformation engine does not materialize the result of transformation into memory.
T herefore, it can handle arbitrarily large payloads of the order of gigabytes. However, it can handle only
forward-only XSL constructs such as for-each. The targetType can be SDOM or ATTACHMENT.
…oracle.com/docs/…/bp_appx_functs.htm 16/69
14/05/2010 XPath Extension Functions
Signature:
Arguments:
SDOM or ATTACHMENT
attachment element
Property IDs:
namespace-uri: http://schemas.oracle.com/xpath/extension
namespace-prefix: ora
B.2.7 doTranslateFromNative
T his function translates the input data to XML, where the input can be a string, attachment, or element
that contains Base64-encoded data. The targetType can be DOM, ATTACHMENT or SDOM.
Signature:
ora:doTranslateFromNative('input','nxsdTemplate','nxsdRoot','targetType','attachment
element?')
Arguments:
nxsdTemplate - The NXSD schema to use to translate the input data to XML format.
targetType - Decides how the XPath function translates the native data into XML.
attachment element - This is the attachment for the returned XML. T his parameter is optional.
Property IDs:
namespace-uri: http://schemas.oracle.com/xpath/extension
namespace-prefix: ora
B.2.8 doTranslateToNative
T his function translates the input DOM to a string or attachment. The targetType can be STRING or
ATTACHMENT
Signature:
ora:doTranslateToNative('input','nxsdTemplate','nxsdRoot','targetType','attachment
element?')
Arguments:
…oracle.com/docs/…/bp_appx_functs.htm 17/69
14/05/2010 XPath Extension Functions
nxsdTemplate - The NXSD schema to use to translate the input data to XML format.
targetType - Decides how the XPath function translates the native data into XML.
attachment element - This is the attachment for the returned XML. T his parameter is optional.
Property IDs:
namespace-uri: http://schemas.oracle.com/xpath/extension
namespace-prefix: ora
B.2.9 doXSLTransform
T his function implements WS-BPEL 2.0's doXSLTransform function that supports multiple parameters of
XSLT. When using this function, the XSL template match must not be set to root (which is /). It must
be the root element.
Signature:
ora:doXSLTransform('url_to_xslt',input,['paramQname',paramValue]*)
Arguments:
Property IDs:
namespace-uri: http://schemas.oracle.com/xpath/extension
namespace-prefix: ora
B.2.10 doXSLTransformForDoc
Signature:
ora:doXSLTransformForDoc('url_to_xslt',input,['paramQname',paramValue]*)
Arguments:
Property IDs:
namespace-uri: http://schemas.oracle.com/xpath/extension
…oracle.com/docs/…/bp_appx_functs.htm 18/69
14/05/2010 XPath Extension Functions
namespace-prefix: ora
B.2.11 formatDate
T his function converts standard XSD date formats to characters suitable for output.
Signature:
ora:formatDate('dateTime','format')
Arguments:
dateTime - Contains a date-related value in XSD format. For nonstring arguments, this function
behaves as if a string() function were applied. If the argument is not a date, the output is an
empty string. If it is a valid XSD date and some fields are empty, this function attempts to fill
unspecified fields. For example, 2003-06-10T15:56:00.
Property IDs:
namespace-uri: http://schemas.oracle.com/xpath/extension
namespace-prefix: ora
B.2.12 generateGUID
Signature:
ora:generateGUID()
Property IDs:
namespace-uri: http://schemas.oracle.com/xpath/extension
namespace-prefix: ora
B.2.13 getApplicationName
Signature:
ora:getApplicationName()
Property IDs:
namespace-uri: http://schemas.oracle.com/xpath/extension
namespace-prefix: ora
B.2.14 getAttachmentContent
Signature:
…oracle.com/docs/…/bp_appx_functs.htm 19/69
14/05/2010 XPath Extension Functions
ora:getAttachmentContent(varName[, partName[, query]])
Arguments:
query - (Optional) Specifies an absolute location path (with / meaning the root of the document
fragment representing the entire part) to identify the root of a subtree within the document
fragment representing the part.
Property IDs:
namespace-uri: http://schemas.oracle.com/xpath/extension
namespace-prefix: ora
B.2.15 getComponentName
Signature:
ora:getComponentName()
Property IDs:
namespace-uri: http://schemas.oracle.com/xpath/extension
namespace-prefix: ora
B.2.16 getComponentInstanceID
Signature:
ora:getComponentInstanceID()
Property IDs:
namespace-uri: http://schemas.oracle.com/xpath/extension
namespace-prefix: ora
B.2.17 getCompositeName
Signature:
ora:getCompositeName()
Property IDs:
namespace-uri: http://schemas.oracle.com/xpath/extension
…oracle.com/docs/…/bp_appx_functs.htm 20/69
14/05/2010 XPath Extension Functions
namespace-prefix: ora
B.2.18 getCompositeInstanceID
Signature:
ora:getCompositeInstanceID()
Property IDs:
namespace-uri: http://schemas.oracle.com/xpath/extension
namespace-prefix: ora
B.2.19 getCompositeURL
Signature:
ora:getCompositeURL()
Property IDs:
namespace-uri: http://schemas.oracle.com/xpath/extension
namespace-prefix: ora
B.2.20 getContentAsString
Signature:
ora:getContentAsString(element elementAsNodeList)
Arguments:
Property IDs:
namespace-uri: http://schemas.oracle.com/xpath/extension
namespace-prefix: ora
B.2.21 getConversationId
Signature:
ora:getConversationId()
…oracle.com/docs/…/bp_appx_functs.htm 21/69
14/05/2010 XPath Extension Functions
Arguments: T here are no arguments for this function.
Property IDs:
namespace-uri: http://schemas.oracle.com/xpath/extension
namespace-prefix: ora
B.2.22 getCreator
Signature:
ora:getCreator()
Property IDs:
namespace-uri: http://schemas.oracle.com/xpath/extension
namespace-prefix: ora
B.2.23 getCurrentDate
Signature:
ora:getCurrentDate('format'?)
Argument:
Property IDs:
namespace-uri: http://schemas.oracle.com/xpath/extension
namespace-prefix: ora
B.2.24 getCurrentDateTime
Signature:
ora:getCurrentDateTime('format'?)
Argument:
Property IDs:
namespace-uri: http://schemas.oracle.com/xpath/extension
namespace-prefix: ora
B.2.25 getCurrentTime
…oracle.com/docs/…/bp_appx_functs.htm 22/69
14/05/2010 XPath Extension Functions
Signature:
ora:getCurrentTime('format'?)
Argument:
Property IDs:
namespace-uri: http://schemas.oracle.com/xpath/extension
namespace-prefix: ora
B.2.26 getDomainId
Signature:
ora:getDomainId()
Property IDs:
namespace-uri: http://schemas.oracle.com/xpath/extension
namespace-prefix: ora
B.2.27 getECID
Signature:
ora:getECID()
Property IDs:
namespace-uri: http://schemas.oracle.com/xpath/extension
namespace-prefix: ora
B.2.28 getElement
T his function returns an element using index from the array of elements.
Signature:
Arguments:
…oracle.com/docs/…/bp_appx_functs.htm 23/69
14/05/2010 XPath Extension Functions
locationPath - Provides an absolute location path (with / meaning the root of the document
fragment representing the entire part) to identify the root of a subtree within the document
fragment representing the part (required).
Property IDs:
namespace-uri: http://schemas.oracle.com/xpath/extension
namespace-prefix: ora
B.2.29 getFaultAsString
Signature:
ora:getFaultAsString()
Property IDs:
namespace-uri: http://schemas.oracle.com/xpath/extension
namespace-prefix: ora
B.2.30 getFaultName
Signature:
ora:getFaultName()
Property IDs:
namespace-uri: http://schemas.oracle.com/xpath/extension
namespace-prefix: ora
B.2.31 getGroupIdsFromGroupAlias
T his function returns a List of user Ids for a group alias specified in the TaskServiceAliases section
of the BPEL suitcase descriptor.
Signature:
ora:getGroupIdsFromGroupAlias(String aliasName)
Arguments:
Property IDs:
namespace-uri: http://schemas.oracle.com/xpath/extension
namespace-prefix: ora
…oracle.com/docs/…/bp_appx_functs.htm 24/69
14/05/2010 XPath Extension Functions
B.2.32 getInstanceId
Signature:
ora:getInstanceId()
Property IDs:
namespace-uri: http://schemas.oracle.com/xpath/extension
namespace-prefix: ora
B.2.33 getNodeValue
Signature:
ora:getNodeValue(node)
Arguments:
Property IDs:
namespace-uri: http://schemas.oracle.com/xpath/extension
namespace-prefix: ora
B.2.34 getNodes
T his function gets a node list. This is implemented as an alternate to bpws:getVariableData, which
does not return a node list.
Signature:
Arguments:
locationPath - Provides an absolute location path (with / meaning the root of the document
fragment representing the entire part) to identify the root of a subtree within the document
fragment representing the part (optional).
Property IDs:
namespace-uri: http://schemas.oracle.com/xpath/extension
namespace-prefix: ora
B.2.35 getOwnerDocument
T his function returns the document object associated with the node.
…oracle.com/docs/…/bp_appx_functs.htm 25/69
14/05/2010 XPath Extension Functions
Signature:
ora:getOwnerDocument(node)
Arguments:
Property IDs:
namespace-uri: http://schemas.oracle.com/xpath/extension
namespace-prefix: ora
B.2.36 getParentComponentInstanceID
T his function returns the BPEL process instance parent component instance ID.
Signature:
ora:getParentComponentInstanceID()
Property IDs:
namespace-uri: http://schemas.oracle.com/xpath/extension
namespace-prefix: ora
B.2.37 getPreference
T his function returns the value of a property specified in the preferences section of the BPEL suitcase
descriptor.
Signature:
ora:getPreference(preferenceName)
Arguments:
Property IDs:
namespace-uri: http://schemas.oracle.com/xpath/extension
namespace-prefix: ora
B.2.38 getProcessId
Signature:
ora:getProcessId()
Property IDs:
namespace-uri: http://schemas.oracle.com/xpath/extension
…oracle.com/docs/…/bp_appx_functs.htm 26/69
14/05/2010 XPath Extension Functions
namespace-prefix: ora
B.2.39 getProcessOwnerId
T his function returns the ID of the user who owns the process, if specified in the TaskServiceAliases
section of the BPEL suitcase descriptor.
Signature:
ora:getProcessOwnerId()
Property IDs:
namespace-uri: http://schemas.oracle.com/xpath/extension
namespace-prefix: ora
B.2.40 getProcessURL
T his function returns the root URL of the current BPEL process.
Signature:
ora:getProcessURL()
Property IDs:
namespace-uri: http://schemas.oracle.com/xpath/extension
namespace-prefix: ora
B.2.41 getProcessVersion
Signature:
ora:getProcessVersion()
Property IDs:
namespace-uri: http://schemas.oracle.com/xpath/extension
namespace-prefix: ora
B.2.42 getUserAliasId
T his function returns the user ID for an alias specified in the TaskServiceAliases section of the BPEL
suitcase descriptor.
Signature:
Arguments:
Property IDs:
namespace-uri: http://schemas.oracle.com/xpath/extension
namespace-prefix: ora
B.2.43 getUserIdsFromGroupAlias
T his function returns a List of user IDs for a group alias specified in the TaskServiceAliases section
of the BPEL suitcase descriptor.
Signature:
Arguments:
Property IDs:
namespace-uri: http://schemas.oracle.com/xpath/extension
namespace-prefix: ora
B.2.44 setCompositeInstanceTitle
T his function sets a title to the composite instance which can later be used as one of the criteria in
searching the instances. This function returns the same string that is passed as the argument.
Signature:
med:setCompositeInstanceTitle(title)
Arguments:
title - Specifies the composite instance title. This can be specified as an XPath expression on
the message payload.
Property IDs:
namespace-uri: http://schemas.oracle.com/xpath/extension
namespace-prefix: ora
B.2.45 instanceOf
Signature:
ora:instanceOf(an_xpath_expression, 'typeQName')
Arguments:
Property IDs:
namespace-uri: http://schemas.oracle.com/xpath/extension
…oracle.com/docs/…/bp_appx_functs.htm 28/69
14/05/2010 XPath Extension Functions
namespace-prefix: ora
B.2.46 integer
Signature:
ora:integer(node)
Arguments:
Property IDs:
namespace-uri: http://schemas.oracle.com/xpath/extension
namespace-prefix: ora
B.2.47 parseEscapedXML
Signature:
ora:parseEscapedXML(contentString)
Arguments:
Property IDs:
namespace-uri: http://schemas.oracle.com/xpath/extension
namespace-prefix: ora
B.2.48 parseXML
Signature:
ora:parseXML(contentString)
Arguments:
Property IDs:
namespace-uri: http://schemas.oracle.com/xpath/extension
namespace-prefix: ora
B.2.49 processXQuery
Signature:
…oracle.com/docs/…/bp_appx_functs.htm 29/69
14/05/2010 XPath Extension Functions
ora: ry('template','context'?)
Arguments:
Property IDs:
namespace-uri: http://schemas.oracle.com/xpath/extension
namespace-prefix: ora
B.2.50 processXSLT
T his function returns the result of XSLT transformation using the Oracle XDK XSLT processor.
Signature:
xdk:processXSLT('template','input','properties'?)
Arguments:
template - The XSLT template. Both HTTP and file URLs are supported.
Property IDs:
namespace-uri: http://schemas.oracle.com/xpath/extension
namespace-prefix: xdk
B.2.51 processXSLTAttachment
T his function returns the results of XSLT transformation by using the Oracle XDK XSLT processor. This
function also supports transformations from and to XML attachments.
Signature:
ora:processXSLTAttachment('template','input','href'?,'properties'?)
Arguments:
Property IDs:
namespace-uri: http://schemas.oracle.com/xpath/extension
namespace-prefix: ora
…oracle.com/docs/…/bp_appx_functs.htm 30/69
14/05/2010 XPath Extension Functions
B.2.52 processXSQL
Signature:
ora:processXSQL('template','input','properties'?)
Arguments:
Property IDs:
namespace-uri: http://schemas.oracle.com/xpath/extension
namespace-prefix: ora
B.2.53 readBinaryFromFile
Signature:
ora:readBinaryFromFile(fileName)
Arguments:
Property IDs:
namespace-uri:http://schemas.oracle.com/xpath/extension
namespace-prefix: ora
B.2.54 readFile
Signature:
ora:readFile('fileName','nxsdTemplate'?,'nxsdRoot'?)
Arguments:
fileName - The name of the file. This argument can also be an HT TP URL.
This function by default reads files relative to the suitcase JAR file for the process. If the file to
read is located in a different directory path, you must specify an extra directory slash ( /) to
indicate that this is an absolute path. For example:
ora:readFile('file:///c:/temp/test.doc')
If you specify only two directory slashes (//), you receive an error similar to the following:
XPath expression failed to execute.
Error while processing xpath expression,
the expression is "ora:readFile("file://c:/temp/test.doc")",
…oracle.com/docs/…/bp_appx_functs.htm 31/69
14/05/2010 XPath Extension Functions
the reason is c. Verify the xpath query.
Property IDs:
namespace-uri: http://schemas.oracle.com/xpath/extension
namespace-prefix: ora
Note:
Currently, the readFile function does not support the functionality to access files
on a web server that requires authorization. If you tried to access such a file,
then you get the following error:
B.2.55 writeBinaryToFile
T his function writes the binary bytes of a variable (or part of the variable) to a file of the given file
name.
Signature:
Arguments:
Property IDs:
namespace-uri:http://schemas.oracle.com/xpath/extension
namespace-prefix: ora
B.2.56.1 getLinkStatus
T his function returns a boolean value indicating the status of the link. If the status of the link is positive
the value is true, otherwise the value is false. This function can only be used in a join condition.
T he linkName argument refers to the name of an incoming link for the activity associated with the join
condition.
Signature:
bpws:getLinkStatus ('linkName')
…oracle.com/docs/…/bp_appx_functs.htm 32/69
14/05/2010 XPath Extension Functions
Arguments:
Property IDs:
namespace-uri: http://schemas.xmlsoap.org/ws/2003/03/business-process/
namespace-prefix: bpws
B.2.56.2 getVariableData
When only the first argument is present, the function extracts the value of the variable, which in this
case must be defined using an XML schema simple type or element. Otherwise, the return value of this
function is a node set containing the single node representing either an entire part of a message type (if
the second argument is present and the third argument is absent) or the result of the selection based
on the locationPath (if both optional arguments are present). If the given locationPath selects a
node set of a size other than one during execution, the standard fault bpws:selectionFailure is
thrown.
Signature:
Arguments:
locationPath - Provides an absolute location path (with / meaning the root of the document
fragment representing the entire part) to identify the root of a subtree within the document
fragment representing the part (optional).
Property IDs:
namespace-uri: http://schemas.xmlsoap.org/ws/2003/03/business-process/
namespace-prefix: bpws
B.2.56.3 getVariableProperty
If the given property selects a node set of a size other than one during execution, the standard fault
bpws:selectionFailure is thrown.
Signature:
Arguments:
locationPath - Provides an absolute location path (with / meaning the root of the document
…oracle.com/docs/…/bp_appx_functs.htm 33/69
14/05/2010 XPath Extension Functions
fragment representing the entire part) to identify the root of a subtree within the document
fragment representing the part (optional).
Property IDs:
namespace-uri: http://schemas.xmlsoap.org/ws/2003/03/business-process/
namespace-prefix: bpws
B.2.57.1 batchProcessActive
Signature:
Arguments:
Property IDs:
namespace-uri:http://schemas.oracle.com/xpath/extension
namespace-prefix: ora
B.2.57.2 batchProcessCompleted
Signature:
Arguments:
Property IDs:
namespace-uri:http://schemas.oracle.com/xpath/extension
namespace-prefix: ora
B.2.57.3 format
Signature:
ora:format(formatStrings, args+)
Arguments:
…oracle.com/docs/…/bp_appx_functs.htm 34/69
14/05/2010 XPath Extension Functions
args+ - The arguments referenced by the format specifiers in the format string. If there are
more arguments than format specifiers, the extra arguments are ignored. The number of
arguments is variable and may be zero.
Property IDs:
namespace-uri: http://schemas.oracle.com/xpath/extension
namespace-prefix: ora
B.2.57.4 genEmptyElem
T his function generates a list of empty elements for the given QName.
Signature:
Arguments:
size - The second optional integer argument for the number of empty elements. If missing, the
default size is 1.
TypeQName - T he third optional argument is the QName, which is the xsi:type of the generated
empty name. This xsi:type pattern matches SOAPENC:Array. If missing or an empty string,
the xsi:type attribute is not generated.
xsiNil - T he fourth optional boolean argument is to specify whether the generated empty
elements are XSI - nil, provided the element is XSD-nillable. The default is false. If missing or
false, xsi:nil is not generated.
Property IDs:
namespace-uri: http://schemas.oracle.com/xpath/extension
namespace-prefix: ora
B.2.57.5 getChildElement
Signature:
ora:getChildElement(element, index)
Arguments:
Property IDs:
namespace-uri: http://schemas.oracle.com/xpath/extension
namespace-prefix: ora
…oracle.com/docs/…/bp_appx_functs.htm 35/69
14/05/2010 XPath Extension Functions
B.2.57.6 getMessage
Signature:
Arguments:
Property IDs:
namespace-uri: http://schemas.oracle.com/xpath/extension
namespace-prefix: ora
B.2.57.7 max-value-among-nodeset
T his function returns the maximum value from a list of input numbers, the node-set inputNumber.
T he node-set inputNumber can be a collection of text nodes or elements containing text nodes.
Signature:
oraext:max-value-among-nodeset(inputNumber as node-set)
Arguments:
Property IDs:
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
T his function returns the minimum value from a list of input numbers, the node-set inputNumbers.The
node-set can be a collection of text nodes or elements containing text nodes.In the case of elements,
the first text node's value is considered.
Signature:
oraext:min-value-among-nodeset(inputNumbers as node-set)
Arguments:
…oracle.com/docs/…/bp_appx_functs.htm 36/69
14/05/2010 XPath Extension Functions
inputNumber - The node-set of input numbers.
Property IDs:
namespace-uri:
http://www.oracle.com/XSL/Transform/java/oracle.tip.pc.services.functions.ExtFunc
namespace-prefix: oraext
B.2.57.9 square-root
Signature:
oraext:square-root(inputNumber as number)
Arguments:
inputNumber - The input number for which the function calculates the square root.
Property IDs:
namespace-uri:
http://www.oracle.com/XSL/Transform/java/oracle.tip.pc.services.functions.ExtFunc
namespace-prefix: oraext
B.2.57.10 translateFromNative
Signature:
ora:translateFromNative('string','nxsdTemplate'?,'nxsdRoot'?)
Arguments:
nxsdTemplate - The XSD file used to define how the translation is performed.
Property IDs:
namespace-uri: http://schemas.oracle.com/xpath/extension
namespace-prefix: ora
B.2.57.11 translateToNative
Signature:
ora:translateFromNative('string','nxsdTemplate'?,'nxsdRoot'?)
Arguments:
…oracle.com/docs/…/bp_appx_functs.htm 37/69
14/05/2010 XPath Extension Functions
string - T he XML file to be converted into a string.
nxsdTemplate - The XSD file used to define how the translation is performed.
Property IDs:
namespace-uri: http://schemas.oracle.com/xpath/extension
namespace-prefix: ora
B.2.57.12 translateFromNativeAttachment
Signature:
ora:translateFromNativeAttachment('string','nxsdTemplate'?,'nxsRoot'?)
Arguments:
nxsdTemplate - The XSD file used to define how the translation is performed.
Property IDs:
namespace-uri: http://schemas.oracle.com/xpath/extension
namespace-prefix: ora
B.2.57.13 translateToNativeAttachment
Signature:
ora:translateFromNativeAttachment('string','nxsdTemplate'?,'nxsRoot'?)
Arguments:
nxsdTemplate - The XSD file used to define how the translation is performed.
Property IDs:
namespace-uri: http://schemas.oracle.com/xpath/extension
namespace-prefix: ora
B.3.1 getComponentInstanceID
…oracle.com/docs/…/bp_appx_functs.htm 38/69
14/05/2010 XPath Extension Functions
T his function returns the component instance id.
Signature:
mdhr:getComponentInstanceId()
Property IDs:
namespace-uri: http://schemas.oracle.com/xpath/extension
namespace-prefix: mdhr
B.3.2 getComponentName
Signature:
mdhr:getComponentName()
Property IDs:
namespace-uri: http://schemas.oracle.com/xpath/extension
namespace-prefix: mdhr
B.3.3 getCompositeInstanceID
Signature:
mdhr:getComponentInstanceId()
Property IDs:
namespace-uri: http://schemas.oracle.com/xpath/extension
namespace-prefix: mdhr
B.3.4 getCompositeName
Signature:
mdhr:getCompositeName()
Property IDs:
namespace-uri: http://schemas.oracle.com/xpath/extension
namespace-prefix: mdhr
B.3.5 getHeader
…oracle.com/docs/…/bp_appx_functs.htm 39/69
14/05/2010 XPath Extension Functions
T his function returns the value of an XPath expression from the mediator message header.
Note:
The getHeader function works only when both parameters are specified.
Signature:
Arguments:
namespaces: Refers to the abstract container that contains the context of the XPath expression.
This argument is not optional. Namespace declarations are in the following form:
'prefix=namespace;
In the XSLT Mapper in Oracle JDeveloper, drag the getHeader function into the mapper. In the
Edit Function - getHeader dialog, click Add. The namespaces argument is added for you to enter
the required information.
Property IDs:
namespace-uri: http://schemas.oracle.com/xpath/extension
namespace-prefix:mdhr
B.3.6 getECID
Signature:
mdhr:getECID()
Property IDs:
namespace-uri: http://schemas.oracle.com/xpath/extension
namespace-prefix: mdhr
B.3.7 getParentComponentInstanceID
T his function returns the mediator instance parent component instance id.
Signature:
mdhr:getParentComponentInstanceId()
Property IDs:
…oracle.com/docs/…/bp_appx_functs.htm 40/69
14/05/2010 XPath Extension Functions
namespace-uri: http://schemas.oracle.com/xpath/extension
namespace-prefix: mdhr
B.3.8 setCompositeInstanceTitle
T his function sets a title to the composite instance that can be later used as one of the criteria in
searching the instances. This function returns the same string that is passed as the argument.
Signature:
mdhr:setCompositeInstanceTitle(title)
Arguments:
title - Specifies the composite instance title. This can be specified as an XPath expression on
the message payload.
Property IDs:
namespace-uri: http://schemas.oracle.com/xpath/extension
namespace-prefix: mdhr
B.4.1 create-nodeset-from-delimited-string
Signature:
Arguments:
qname - The qualified name in which each node in the node set must be created. The QName
can be represented in two forms:
task:assignee
{http://mytask/task}assignee
delimiter - T he character that separates the items in the input string; for example, a comma
or a semicolon.
Property IDs:
namespace-uri:
http://www.oracle.com/XSL/Transform/java/oracle.tip.pc.services.functions.ExtFunc
namespace-prefix: oraext
B.4.2 generate-guid
Signature:
…oracle.com/docs/…/bp_appx_functs.htm 41/69
14/05/2010 XPath Extension Functions
oraext:generate-guid()
Property IDs:
namespace-uri:
http://www.oracle.com/XSL/Transform/java/oracle.tip.pc.services.functions.ExtFunc
namespace-prefix: oraext
B.4.3 lookupPopulatedColumns
T his function is used to look up a cross-reference column for a single value or multiple values
corresponding to a value in a reference column.
Signature:
xref:lookupPopulatedColumns(tableName,columnName,value,needAnException)
Arguments:
needAnException: If this value is set to true, then an exception is thrown when no value is
found in the referenced column. Otherwise, an empty node-set is returned.
Property IDs:
namespace-
uri:http://www.oracle.com/XSL/Transform/java/oracle.tip.xref.xpath.XRefXPathFunctions
namespace-prefix: xref
B.4.4 lookupValue
T he function returns a string by looking up the value for the target column in a domain value map,
where the source column contains the given source value.
Signature:
dvm:lookupValue(dvmLocation,sourceColumnName,sourceValue,targetColumnName,defaultValue)
Arguments:
sourceValue: The source value (an XPath expression bound to the source document of the
XSLT transformation).
defaultValue : If the value is not found, then the default value is returned.
…oracle.com/docs/…/bp_appx_functs.htm 42/69
14/05/2010 XPath Extension Functions
QualifierSourceValue : The value of the qualifier.
Property IDs:
namespace-uri:
http://www.oracle.com/XSL/Transform/java/oracle.tip.dvm.LookupValue
namespace-prefix: dvm
B.4.5 lookupValue1M
T he function returns an XML document fragment containing values for multiple target columns of a
domain value map, where the value for source column equals the source value.
Signature:
dvm:lookupValue1M(dvmLocation,sourceColumnName,sourceValue,targetColumnName1,targetColumnName2...)
Arguments:
SourceValue - The source value (an XPath expression bound to the source document of the
XSLT transformation).
TargetColumnName - The name of the target columns. At least one column name should be
specified. The question mark symbol (?) indicates that you can specify multiple target column
names.
Property IDs:
namespace-uri:
http://www.oracle.com/XSL/Transform/java/oracle.tip.dvm.LookupValue
namespace-prefix:dvm
B.4.6 lookupXRef
T his function is used to look up a cross-reference column for a value that corresponds to a value in a
reference column.
Signature:
xref:lookupXRef(tableName,referenceColumnName,referenceValue,columnName,needAnException)
Arguments:
needAnException: : When value is set to true, an exception is thrown if the value is not found,
else an empty value is returned.
Property IDs:
…oracle.com/docs/…/bp_appx_functs.htm 43/69
14/05/2010 XPath Extension Functions
namespace-
uri:http://www.oracle.com/XSL/Transform/java/oracle.tip.xref.xpath.XRefXPathFunctions
namespace-prefix: xref
B.4.7 lookupXRef1M
T his function is used to look up a cross-reference column for multiple values corresponding to a value in
a reference column.
Signature:
xref:lookupXRef1M(tableName,referenceColumnName,referenceValue,columnName,needAnException)
Arguments:
needAnException: If this value is set to true, then an exception is thrown when the referenced
value is not found. Else, an empty node-set is returned.
Property IDs:
namespace-
uri:http://www.oracle.com/XSL/Transform/java/oracle.tip.xref.xpath.XRefXPathFunctions
namespace-prefix: xref
B.4.8 lookup-xml
T his function returns the string value of an element defined by lookupXPath in an XML file (docURL)
given its parent XPath (parentXPath), the key XPath (keyXPath), and the value of the key (key).
Signature:
Arguments:
Property IDs:
namespace-uri:
…oracle.com/docs/…/bp_appx_functs.htm 44/69
14/05/2010 XPath Extension Functions
http://www.oracle.com/XSL/Transform/java/oracle.tip.pc.services.functions.ExtFunc
namespace-prefix: oraext
B.4.9 markForDelete
T he function is used to delete a value in a cross-reference table. The value in the column is marked as
deleted. This function returns true if deletion is successful else returns false.
Signature:
xref:markForDelete(tableName,columnName,value)
Arguments:
xrefColumnName : The name of the column from which you want to delete a value.
Property IDs:
namespace-
uri:http://www.oracle.com/XSL/Transform/java/oracle.tip.xref.xpath.XRefXPathFunctions
namespace-prefix: xref
B.4.10 populateXRefRow
T he function populates the column name in the cross-reference table (XREF) where the reference
column has the reference value.
Signature:
xref:populateXRefRow(tableName,referenceColumnName,referenceValue,columnName,value,mode)
Arguments:
Property IDs:
namespace-
uri:http://www.oracle.com/XSL/Transform/java/oracle.tip.xref.xpath.XRefXPathFunctions
namespace-prefix: xref
B.4.11 populateXRefRow1M
T he function populates the column multiple values in the cross-reference table (XREF) where the
reference column has the reference value.
…oracle.com/docs/…/bp_appx_functs.htm 45/69
14/05/2010 XPath Extension Functions
Signature:
xref:populateXRefRow1M(tableName,referenceColumnName,referenceValue,columnName,value,mode)
Arguments:
Property IDs:
namespace-
uri:http://www.oracle.com/XSL/Transform/java/oracle.tip.xref.xpath.XRefXPathFunctions
namespace-prefix: xref
B.5.1 clearTaskAssignees
Signature:
hwf:clearTaskAssignees(taskID)
Arguments:
Property IDs:
namespace-uri: http://xmlns.oracle.com/bpel/workflow/xpath
namespace-prefix: hwf
B.5.2 createWordMLDocument
Signature:
hwf:createWordMLDocument(node, xsltURI)
Arguments:
xsltURI - The XSLT used to transform the node (the first argument) to Microsoft Word ML.
Property IDs:
…oracle.com/docs/…/bp_appx_functs.htm 46/69
14/05/2010 XPath Extension Functions
namespace-uri: http://xmlns.oracle.com/bpel/workflow/xpath
namespace-prefix: hwf
B.5.3 getNotificationProperty
T his function retrieves a notification property. The function evaluates to corresponding values for each
notification. Only use this function in the notification content XPath expression. If used elsewhere, it
returns null.
Signature:
hwf:getNotificationProperty(propertyName)
Arguments:
propertyName - The name of the notification property. It can be one of the following values:
taskId - The task ID of the task for which the notification is meant.
taskNumber - The task number of the task for which the notification is meant.
appLink - The HT ML link to the Oracle BPM Worklist task details page.
Property IDs:
namespace-uri: http://xmlns.oracle.com/bpel/workflow/xpath
namespace-prefix: hwf
B.5.4 getNumberOfTaskApprovals
T his function computes the number of times the task was approved.
Signature:
hwf:getNumberOfTaskApprovals(taskId)
Arguments:
Property IDs:
namespace-uri: http://xmlns.oracle.com/bpel/workflow/xpath
namespace-prefix: hwf
B.5.5 getPreviousTaskApprover
Signature:
…oracle.com/docs/…/bp_appx_functs.htm 47/69
14/05/2010 XPath Extension Functions
hwf:getPreviousTaskApprover(taskId)
Arguments:
Property IDs:
namespace-uri: http://xmlns.oracle.com/bpel/workflow/xpath
namespace-prefix: hwf
B.5.6 getTaskAttachmentByIndex
Signature:
hwf:getTaskAttachmentByIndex(taskId, attachmentIndex)
Arguments:
attachmentIndex - The index of the attachment. The index begins from 1 . The
attachmentIndex argument can be a node whose value evaluates to the index number as a
string (all node values are strings). If specified statically, it can be specified as '1'.
Property IDs:
namespace-uri: http://xmlns.oracle.com/bpel/workflow/xpath
namespace-prefix: hwf
B.5.7 getTaskAttachmentByName
Signature:
hwf:getTaskAttachmentByName(taskId, attachmentName)
Arguments:
Property IDs:
namespace-uri: http://xmlns.oracle.com/bpel/workflow/xpath
namespace-prefix: hwf
B.5.8 getTaskAttachmentContents
T his function retrieves the task attachment contents by the attachment name.
Signature:
hwf:getTaskAttachmentContents(taskId, attachmentName)
…oracle.com/docs/…/bp_appx_functs.htm 48/69
14/05/2010 XPath Extension Functions
Arguments:
Property IDs:
namespace-uri:http://xmlns.oracle.com/bpel/workflow/xpath
namespace-prefix: hwf
B.5.9 getTaskAttachmentsCount
Signature:
hwf:getTaskAttachmentsCount(taskId)
Arguments:
Property IDs:
namespace-uri: http://xmlns.oracle.com/bpel/workflow/xpath
namespace-prefix: hwf
B.5.10 getTaskResourceBundleString
T his function returns the internationalized resource value from the resource bundle associated with a
task definition.
Signature:
Arguments:
locale - (Optional) The locale. This value defaults to system locale. This returns a
resourceString XML element in the namespace
http://xmlns.oracle.com/bpel/services/taskService , which contains the string from the
resource bundle.
Property IDs:
namespace-uri: http://xmlns.oracle.com/bpel/workflow/xpath
namespace-prefix: hwf
B.5.11 wfDynamicGroupAssign
T his function gets the name of an identity service group, selected according to the specified assignment
pattern. The group is selected from either the subordinate groups of the specified group (if a single
group name is supplied), or from the list of groups (if a list of user names is supplied). If the identity
service is configured with multiple realms, the realm name for the group and groups must also be
…oracle.com/docs/…/bp_appx_functs.htm 49/69
14/05/2010 XPath Extension Functions
supplied. Additional assignment pattern specific parameters can be supplied. T hese additional
parameters are optional, depending on the details of the specific assignment pattern used.
Signature 1:
hwf:wfDynamicGroupAssign('patternName','groupName','realmName'?,'patternParam1'?
,'patternParam2'?,...,'patternParamN'?)
Argument 1:
realmName - T he name of the identity service realm to which the group belongs.
Signature 2:
hwf:wfDynamicGroupAssign('patternName','groupList','realmName'?,'patternParam1'?
,'patternParam2'?,...,'patternParamN'?)
Argument 2:
realmName - T he name of the identity service realm to which the groups belong.
Property IDs:
namespace-uri: http://xmlns.oracle.com/bpel/workflow/xpath
namespace-prefix: hwf
B.5.12 wfDynamicUserAssign
T his function returns the name of an identity service user, selected according to the specified
assignment pattern. The user is selected from either the subordinate users of the specified group (if a
single group name is supplied), or from the list of users (if a list of user names is supplied). If the
identity service is configured with multiple realms, the realm name for the group and users must also be
supplied. Additional assignment pattern specific parameters can be supplied. T hese additional
parameters are optional, depending on the details of the specific assignment pattern used.
Signature 1:
hwf:wfDynamicUserAssign('patternName','groupName','realmName'?,'patternParam1'?
,....,'patternParam2'?,...,'patternParamN'?)
Arguments 1:
…oracle.com/docs/…/bp_appx_functs.htm 50/69
14/05/2010 XPath Extension Functions
groupName - T he name of the group from which to select a subordinate user.
realmName - T he name of the identity service realm to which the group belongs.
Signature 2:
hwf:wfDynamicUserAssign(patternName,userList,realmName?,patternParam1?
,patternParam2?,...,patternParamN?)
Arguments 2:
realmName - T he name of the identity service realm to which the users belong.
Property IDs:
namespace-uri: http://xmlns.oracle.com/bpel/workflow/xpath
namespace-prefix: hwf
B.5.13.1 getDefaultRealmName
Signature:
ids:getDefaultRealmName()
Property IDs:
namespace-uri: http://xmlns.oracle.com/bpel/services/IdentityService/xpath
namespace-prefix: ids
B.5.13.2 getGroupProperty
T his function returns the property value for the given group. If the group or attribute does not exist, it
returns null.
Signature:
Arguments:
groupName - String or element containing the group whose attribute must be retrieved.
…oracle.com/docs/…/bp_appx_functs.htm 51/69
14/05/2010 XPath Extension Functions
attributeName - String or element containing the name of the group attribute. T he name is one
of the following values:
1. displayName
2. email
If the identity service uses the LDAP providerType or JAZN LDAP-based providers, configure the
LDAP server to enable searching by those attributes.
realmName - T he realm name. This is optional. If not specified, the default realm is assumed.
Property IDs:
namespace-uri: http://xmlns.oracle.com/bpel/services/IdentityService/xpath
namespace-prefix: ids
B.5.13.3 getManager
T his function gets the manager of a given user. If the user does not exist or there is no manager for
this user, it returns null.
Signature:
ids:getManager(userName, realmName)
Arguments:
realmName - T he realm name. This is optional. If not specified, the default realm is assumed.
Property IDs:
namespace-uri:http://xmlns.oracle.com/bpel/services/IdentityService/xpath
namespace-prefix: ids
B.5.13.4 getReportees
T his function gets the reportees of the user. If the user does not exist, it returns null. The function
returns a list of nodes. Each node in the list is called user.
Signature:
Arguments:
upToLevel - Defines the levels of indirect reportees to be included into the result. If the value is 1 ,
it returns only direct reportees. If the value is -1, it returns all levels of reportees. It can be either
an element with value xsd:number or a string, for example '1'.
realmName - T he realm name. This is optional and if not specified, the default realm is assumed.
Property IDs:
namespace-uri:http://xmlns.oracle.com/bpel/services/IdentityService/xpath
…oracle.com/docs/…/bp_appx_functs.htm 52/69
14/05/2010 XPath Extension Functions
namespace-prefix: ids
B.5.13.5 getSupportedRealmNames
Signature:
ids:getSupportedRealms()
Property IDs:
namespace-uri: http://xmlns.oracle.com/bpel/services/IdentityService/xpath
namespace-prefix: ids
B.5.13.6 getUserProperty
T his function returns the property of the user. If the user or attribute does not exist, it returns null.
Signature:
Arguments:
userName - String or element containing the user whose attribute must be retrieved.
attributeName - The name of the user attribute. The attribute name is one of the following
values:
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
If the identity service uses the LDAP providerType or JAZN LDAP-based providers, configure the
LDAP server to enable searching by those attributes.
realmName - T he realm name. This is optional. If not specified, the default realm name is
assumed.
…oracle.com/docs/…/bp_appx_functs.htm 53/69
14/05/2010 XPath Extension Functions
Property IDs:
namespace-uri: http://xmlns.oracle.com/bpel/services/IdentityService/xpath
namespace-prefix: ids
B.5.13.7 getUserRoles
T his function gets the user roles. This function returns a list of objects, either application roles or
groups, depending on the roleType. If the user or role does not exist, it returns null.
Signature:
Arguments:
userName - String or element containing the user whose roles are to be retrieved.
roleType - The role type that takes one of three values: ApplicationRole, EnterpriseRole ,
or AnyRole.
direct - A string or element indicating if direct or indirect roles must be fetched. This is optional.
If not specified, only direct roles are fetched. This is either xsd:boolean or string true/false.
Property IDs:
namespace-uri:http://xmlns.oracle.com/bpel/services/IdentityService
namespace-prefix: ids
B.5.13.8 getUsersInGroup
T his function gets the users in a group. If the group does not exist, it returns null. The function
returns a list of nodes. Each node in the list is called user.
Signature:
Arguments:
direct - A boolean flag. If true , the function returns direct user grantees; otherwise, all user
grantees are returned. It can be either an element with value xsd:boolean or string
'true'/'false'.
realmName - T he realm name. This is optional. If not specified, the default realm name is
assumed.
Property IDs:
namespace-uri: http://xmlns.oracle.com/bpel/services/IdentityService/xpath
namespace-prefix: ids
B.5.13.9 isUserInRole
…oracle.com/docs/…/bp_appx_functs.htm 54/69
14/05/2010 XPath Extension Functions
Signature:
Arguments:
userID - A string or element containing the user whose participation in the role must be verified.
realmName - T he realm name. This is optional. If not specified, the default realm name is
assumed.
Property IDs:
namespace-uri:http://xmlns.oracle.com/bpel/services/IdentityService/xpath
namespace-prefix: ids
B.5.13.10 lookupGroup
T his function gets the group. If the group does not exist, it returns null.
Signature:
ids:lookupGroup(groupName, realmName)
Arguments:
realmName - T he realm name. This is optional. If not specified, the default realm name is
assumed.
Property IDs:
namespace-uri:http://xmlns.oracle.com/bpel/services/IdentityService/xpath
namespace-prefix: ids
B.5.13.11 lookupUser
T his function gets the user object. If the user does not exist, it returns null.
Signature:
ids:lookupUser(userName, realmName)
Arguments:
realmName - T he realm name. This is optional. If not specified, the default realm name is
assumed.
Property IDs:
namespace-uri: http://xmlns.oracle.com/bpel/services/IdentityService/xpath
namespace-prefix: ids
Several dialogs enable you to specify XPath expressions at several places, including:
Expression field of an operation created under the Copy Operation tab of assign activities
Expression field of the while, wait, switch, and pick (onAlarm branch) activities
Edit XPath Expression and Edit Function dialogs of the XSLT Mapper
Manually specifying long and complex expressions is supported, but can be a cumbersome and error-
prone process. T he XPath Building Assistant provides the following set of features that simplify this
process:
Functions
Start the XPath Building Assistant by clicking inside the Expression field and pressing Ctrl and then the
space bar. The XPath Building Assistant is available within all fields of the Oracle JDeveloper and XSLT
Mapper function dialogs that require XPath expressions.
T his section provides an example of using the XPath Building Assistant to build an expression in the
From section of the Expression field of the Create Copy Operation dialog. T his example models an
XPath Expression that appends a string value to OrderComments within a purchase order. The
purchase order element is part of one of the available BPEL variables.
2. Press Ctrl and then the space bar to display a list of values for building an expression.
3. Make a selection from the list (for this example, concat(String) as String) in either of the
following ways:
Enter the letter c to display only items starting with that letter and double-click
concat(String) as String.
This value is added to the Expression field. The list automatically displays again with different
options and prompts you to enter the next portion of the XPath expression.
4. Select and double-click the next portion (for this example, the second entry for bpws):
This value is added to the Expression field. The list automatically displays again and prompts
you to enter the next portion of the XPath expression.
…oracle.com/docs/…/bp_appx_functs.htm 57/69
14/05/2010 XPath Extension Functions
6. Continue this process to build the remaining parts of the XPath expression (for this example,
double-click payload > ns1:/PurchaseOrder > ns1:/OrderInfo > ns1:OrderComments
as they appear).
7. Manually add text as appropriate (for this example, ,',Selected: Select Manufacturing'). If
needed, you can also manually enter logical operators (such as >, <, and so on).
Note:
Instead of using double-clicks on the XPath Building Assistant popups, you can
also use the Enter key to make the selection. If your expression is complete, but
you are still being prompted to enter information, press Esc. This closes the list.
T his section provides an example of using the XPath Building Assistant to build an expression in the Edit
XPath Expression dialog of the XSLT Mapper.
…oracle.com/docs/…/bp_appx_functs.htm 58/69
14/05/2010 XPath Extension Functions
7. Press Ctrl and then the space bar to display a list of values for building an expression.
8. Make a selection from the list (for this example, concat(String) as String) in either of the
following ways:
Enter the letter c to display only items starting with that letter and double-click
concat(String) as String.
…oracle.com/docs/…/bp_appx_functs.htm 59/69
14/05/2010 XPath Extension Functions
This selection is added to the XPath Expression field. The list automatically displays again with
different options and prompts you to enter the next portion of the XPath expression.
9. Continue this process to build the remaining parts of the XPath expression (for this example,
double-click po:PurchaseOrder > po:ShipTo > po:Name > po:First as they appear).
10. Continue this process to build the remaining parts of the expression.
11. Click OK to close the Edit XPath Expression dialog when complete.
Function parameter tool tips display the expected arguments of a chosen XPath function. For example,
if you manually enter the function concat, and then enter (, the parameter tool tip appears and
displays the expected arguments of the concat function. The current argument name of the function
is highlighted in bold.
Once you finish specifying one argument, and enter a comma to move to the next argument, the tool
tip updates itself to highlight the second argument name in bold, and so on. While editing existing
XPaths that contain functions, you can re-invoke parameter tool tips by positioning the cursor within the
function and then pressing a combination of the Ctrl, Shift, and space bar keys.
Within Oracle JDeveloper, an XPath expression is considered syntactically valid if it conforms to the
XPath 1.0 specification. The XPath Building Assistant warns you about syntactically incorrect XPaths (for
example, a missing parenthesis or apostrophe) by underlining the erroneous area in red. Drag the
mouse pointer over this area. The error message displays as a tool tip. The red underlining error
disappears after you make corrections.
…oracle.com/docs/…/bp_appx_functs.htm 60/69
14/05/2010 XPath Extension Functions
Syntactically valid XPaths may be semantically invalid. This can cause unexpected errors at runtime. For
example, you can misspell the name of an element, variable, function, or part. The XPath Building
Assistant warns you about semantic errors by underlining the erroneous area in blue. Drag the mouse
pointer over this area. The error message displays as a tool tip. T he blue underlining error disappears
after you make corrections.
B.6.7 Creating Expressions with Free Form Text and XPath Expressions
Y ou can mix free form text with XPath expressions in some dialogs.
1. Place your cursor over the field to display a popup message that describes this functionality.
2. Enter free form text (in this example, 'Hello, your telephone number').
3. Enter <% when you are ready to invoke the XPath Building Assistant.
A red underline appears, which indicates that you are being prompted to add information.
4. Press Ctrl and then the space bar to invoke the XPath Building Assistant.
…oracle.com/docs/…/bp_appx_functs.htm 61/69
14/05/2010 XPath Extension Functions
5. Scroll down the list and double-click the value you want.
Oracle Mediator
XSLT Mapper
Human workflow
XPath extension functions in Oracle SOA Suite adhere to the following standards:
A single schema defines the configuration syntax for both system functions and user-defined
functions.
XPath functions are categorized based on usage (Oracle BPEL Process Manager, Oracle Mediator,
human workflow, XSLT Mapper, and those commonly used by all).
A repository hosts both system function configuration files and user-defined function configuration
files.
A repository hosts user-defined function implementation JAR files and automatically makes them
available for the Java Virtual Machine (JVM) (class loaders).
If possible, write functions that can be shared across all components. Functions shared by all
components can be created in a configuration file named ext-soa-xpath-functions-
config.xml. Note that you must implement XSLT Mapper functions differently than functions for
Oracle BPEL Process Manager, Oracle Mediator, and human workflow.
For more information about description of these implementation differences, see Section B.7.1,
"How to Implement User-Defined XPath Extension Functions".
If you create a function for one component that cannot be used by others (for example, a
…oracle.com/docs/…/bp_appx_functs.htm 62/69
14/05/2010 XPath Extension Functions
function for Oracle BPEL Process Manager that cannot be used by Oracle Mediator or human
workflow), then create that function in the configuration file specific to that component. For this
example, the Oracle BPEL Process Manager function must be created in a configuration file
named ext-bpel-xpath-functions-config.xml.
Example B-1 shows the function schema used by system and user-defined functions.
<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>
…oracle.com/docs/…/bp_appx_functs.htm 63/69
14/05/2010 XPath Extension Functions
<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>
T his section describes how to implement user-defined XPath extension functions for Oracle SOA Suite
components.
Implementation of user-defined XPath extension functions for the XSLT Mapper is different than for
other components:
Each XSLT Mapper function requires a corresponding public static method from a public static
…oracle.com/docs/…/bp_appx_functs.htm 64/69
14/05/2010 XPath Extension Functions
class. The function name and method name must match.
For additional details about creating a user-defined XPath extension function for the XSLT Mapper, see
Section 35.3.4.4, "Importing User-Defined Functions".
For Oracle BPEL Process Manager, Oracle Mediator, and human workflow functions, you must
implement either the oracle.fabric.common.xml.xpath.IXPathFunction interface (defined in the
fabric-runtime.jar file) or javax.xml.xpath.XPathFunction.
where:
context - The context at the point in the expression when the function is called
For the following example, a function named getNodeValue(arg1) is implemented that gets a
value of w3c node:
package com.collaxa.cube.xml.xpath.dom.functions;
import oracle.fabric.common.xml.xpath.IXPathFunction;
import oracle.fabric.common.xml.xpath.IXPathFunction
. . .
…oracle.com/docs/…/bp_appx_functs.htm 65/69
14/05/2010 XPath Extension Functions
To configure user-defined xpath extension functions:
1. Create an XPath extension configuration file in which to define the function. Example B-2 shows a
sample configuration file that follows the function schema shown in Example B-1. In this example,
two functions are created: mf:myFunction1 and mf:myFunction2.
Table B-1 describes the elements of the configuration file. Each function configuration file uses
soa-xpath-functions as its root element. The root element has an optional resourceBundle
attribute. The resourceBundle value is the fully qualified class name of the resource bundle class
providing NLS support for all function configurations.
Element Description
className The fully qualified class name of the function implementation class.
return The return type of the function. This can be one of the following types supported by XPath
and XSLT: string, number, boolean, node-set, and tree.
params The parameters of the function. A function can have no parameters. A parameter has the
following attributes:
type: The type of the parameter. This can be one of the following types supported by
XPath and XSLT: string, number, boolean, node-set, and tree.
desc An optional description of the function. If the resourceKey is present, the description is
retrieved from the resource bundle specified earlier on the root element.
detail An optional longer (detailed) description of the function. If the resourceKey is present, the
description is retrieved from the resource bundle specified earlier on the root element.
icon An optional icon URL of the function. If the resourceKey is present, the icon URL is
retrieved from the resource bundle specified earlier on the root element. This is to support a
user interface in which the function must be displayed.
helpURL An optional help HTML URL of the function. If the resourceKey is present, the help URL is
retrieved from the resource bundle specified earlier on the root element. This is to support a
user interface in which the function help link must be displayed.
group An optional group name of the function. If the resourceKey is present, the group name is
retrieved from the resource bundle specified earlier on the root element. This is to support a
user interface where functions must be grouped. If no group name is specified, the function
falls into a built-in advanced functions group when being grouped in a user interface.
wizardClass The fully qualified class name of the wizard class for all parameters that are wizard-enabled.
This is to support a user interface in which parameter values must be entered. This wizard
class is invoked by wizard launch buttons to help you enter parameter values. If there is no
wizard-enabled parameter, this element must be absent.
Note: This element is not supported for user-defined functions. Only system functions
currently support this feature.
2. Name your user-defined XPath extension configuration file based on the component type with
which to use the function. Table B-2 describes the naming conventions to use for user-defined
configuration files.
…oracle.com/docs/…/bp_appx_functs.htm 67/69
14/05/2010 XPath Extension Functions
To Use with This Component... Use This Configuration File Name...
3. Place the configuration file inside a JAR file along with the compiled classes. Within the JAR file, the
configuration file must be located in the META-INF directory. T he JAR file does not need to reside
in a specific directory.
Note:
The customXpathFunction jar must be added explicitly as it is not part of
the SOA composite.
The JAR file is automatically added to the JVM's class path to make it available for use.
where domain_name is the name of the Oracle WebLogic Server domain (for example,
soainfra).
Note:
As an alternative, you can add the
BEA_Home/user_projects/domains/domain_name/lib directory into the
class loader. T his prevents you from having to restart the Oracle WebLogic
Server.
Copyright © 2005,
Previous Next Home Book Contents Index Contact
…oracle.com/docs/…/bp_appx_functs.htm 68/69
14/05/2010 XPath Extension Functions
Previous Next 2009, Oracle and/or its affiliates. All rights reserved. Home Book Contents Index Contact
Legal Notices List Us
…oracle.com/docs/…/bp_appx_functs.htm 69/69