【问题标题】:Difference among 3 processXQuery XPATH Extension Functions in Oracle Fusion 12 COracle Fusion 12 C中3个processXQuery XPATH扩展函数的区别
【发布时间】:2016-04-24 08:59:40
【问题描述】:

在为 Oracle 12C BPM 创建映射时,我正在尝试使用 Xquery 文件将 xs:dateTime 转换为自定义 XSD 时间格式“DateTimeType”,如下所述

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

但是,为了使用 XQuery,JDeveloper IDE 为我提供了 3 个选项

这是官方 Oracle 文档链接

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

在 JDEVELOPER BPM 映射中,有 3 个 XPATH 扩展

B.3.29 processXQuery
B.3.30 processXQuery10
B.3.31 处理 XQuery2004

我做了一些研究,但似乎没有足够的 Oracle 文档。

  • 谁能帮我理解这 3 个扩展之间的区别?

  • 为什么我应该更喜欢一个而不是另一个?

【问题讨论】:

    标签: xquery jdeveloper oracle-fusion-middleware oracle-soa oracle-bpm-suite


    【解决方案1】:

    processXQuery2004() 使用基于 2004 年 W3C XQuery 草案的 XQuery 处理器。它是为了向后兼容性问题而保留的,您不应该将它用于任何新事物。

    processXQuery10() 使用基于 1.0 W3C 推荐的 XQuery 的 XQuery 处理器。这是您应该使用的。 https://www.w3.org/TR/xquery/

    我不确定 processXQuery()。它可能默认为前两个之一或使用一些较旧的处理器。无论如何,您应该使用 processXQuery10()。

    【讨论】:

    • xquery 版本 "1.0" 编码 "utf-8";当我使用 processXQuery() 时,它抱怨上面的编码参数。所以,我使用了 processXQuery10() 并且它工作,因为它与最新的 Xquery 1.0 版本有关。但是它的语法和参数有点不同,我们必须给出外部输入的名称和它的值
    • processXQuery10() 应该严格遵守 XQuery 1.0 标准。即w3.org/TR/xquery/#id-version-declaration。 processXQuery() 可能正在调用旧的不推荐使用的处理器。抱歉,我不确定为什么这些函数以不同的方式获取查询参数。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-07-13
    • 1970-01-01
    • 2018-07-25
    • 1970-01-01
    • 2023-02-08
    • 1970-01-01
    相关资源
    最近更新 更多