IBM Integration Bus 和 xsd:anyType

IBM Integration Bus and xsd:anyType

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

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

你不应该使用 MXSD 来为你的 XML 数据建模,使用正常的 XSD.

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

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

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

在IIBv9及之后的版本中完全不需要使用消息集。 mxsd 文件格式仅由 MRM(而非 DFDL)解析器使用。