Search code examples
xqueryjdeveloperoracle-fusion-middlewareoracle-soaoracle-bpm-suite

Difference among 3 processXQuery XPATH Extension Functions in Oracle Fusion 12 C


While creating mappings for Oracle 12C BPM, I am trying to use Xquery File to convert xs:dateTime to Custom XSD Time Format "DateTimeType" descibed here below

 <xsd:simpleType name="DateTimeType">
<xsd:restriction base="xsd:dateTime">
  <xsd:pattern value=".+T.+(Z|[+-].+)"/>
</xsd:restriction>

However, In order to use XQuery I am offered with 3 Choices by JDeveloper IDE

Here is official Oracle Doc Link

https://docs.oracle.com/cloud/latest/soacs_gs/SOASE/soa-xpath-extension-funcs.htm#SOASE2155

In JDEVELOPER BPM Mappings , There are 3 XPATH Extensions

B.3.29 processXQuery
B.3.30 processXQuery10
B.3.31 processXQuery2004

I have done a bit of research , But There seems not to be enough Oracle Documentation on it.

  • Can anyone help me in understanding difference among these 3 Extensions ?

  • Why Should I prefer one over the other ?


Solution

  • processXQuery2004() uses an XQuery processor based on a 2004 draft of W3C XQuery. It is kept around for backwards compatibility issues and you shouldn't use it for anything new.

    processXQuery10() uses an XQuery processor based on the 1.0 W3C recommendation for XQuery. This is the one you should use. https://www.w3.org/TR/xquery/

    I am not sure about processXQuery(). It might default to one of the previous two or use some older processor. In any case, processXQuery10() is what you should use.