【问题标题】:IBM Integration Bus and xsd:anyTypeIBM 集成总线和 xsd:anyType
【发布时间】:2017-10-12 05:22:23
【问题描述】:

我正在使用 IIB v9 mxsd 消息定义。我想将其中一个 XML 元素定义为 xsd:anyType 类型。但是,在我可以选择的类型列表中,只有 anySimpleType 和 anyUri 是可能的(除了所有其他类型,如字符串、整数等)。

我怎样才能绕过这个限制?

【问题讨论】:

    标签: messagebroker


    【解决方案1】:

    XMLNSC 解析器支持整个 XML Schema 规范,包括 xs:any 和 xs:anyType。在 IIBv9 中,您应该创建一个库并将您的 xsds 导入其中。将您的应用程序链接到库,XMLNSC 解析器将找到并使用该模型。您无需在节点属性中指定库的名称; XSD 模型将自动对整个应用程序可用。

    在 IIBv9 及更高版本中,您根本不需要使用消息集。 mxsd 文件格式仅供 MRM(而非 DFDL)解析器使用。

    【讨论】:

    • 那么我该如何进行映射呢?看来我需要 mxsd。
    • 消息集是一种消息模型。
    • 包含 xsds 的库是另一种模型。两者都可以在 Mapping 节点中使用。
    【解决方案2】:

    您不应该使用 MXSD 来为您的 XML 数据建模,而应使用普通的 XSD。

    MXSD 用于为 DFDL 解析器建模数据,但您应该对 XML 消息使用 XMLNSC 解析器并在 XSD 中定义它们,在其中您可以使用 anyType。

    据我所知,DFDL 不支持任何类型。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2019-10-11
      • 2016-03-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-07-18
      相关资源
      最近更新 更多