您可以导入具有目标名称空间的 XML 模式,即时消息集未启用名称空间。 当要将消息集与运行在 WebSphere MQ Integrator Broker V2.1 上的消息流一起使用时,或与在 WebSphere MQ Integrator Broker V2.1 上起源的消息流一起使用时,这很有用。 这样的消息流不知晓名称空间,需要消息集内的所有定义都设置为位于 noTarget 名称空间中。
当将带目标名称空间的 XML 模式文件导入还未启用名称空间的消息集中时, 创建的消息定义文件放在 noTarget XML 名空间中。在某些情况下,如果全局构造在导入到同一消息集的 XML 模式文件中的不同名称空间中有相同的名称,这可能导致名称冲突。这些将引起任务列表中的错误条目,在生成另一种格式的模型(例如,消息字典),之前,您必须改正这些错误。
由于所有消息定义文件都在 noTarget XML 名空间中,与 XML 模式文件关联的名称空间信息将丢失。但是,导入器通过在 XML 有线格式层中的 XML 名前加上名称空间前缀来提供对名称空间的有限支持。要允许此名称空间只能工作,导入的 XML 模式文件必须使用 XML 模式文件的目标名称空间的非空前缀指定 xmlns 属性。这是 XML 有线格式层中的 XML 名中使用的前缀。
这意味着,您无法将目标名称空间 XML 文件指定为缺省名称空间。XML 模式文件中的每个名称空间必须使用唯一的前缀,且同一名称空间必须总是使用相同的前缀。任何您匹配任何从模式生成的格式的 XML 实例文档也必须对名称空间使用相同的前缀。
XML 模式导入器在属性组中创建许多可选的属性以表示名称空间信息。此属性组由任何消息的类型引用。创建一个属性以表示 XML 模式文件的模式位置,创建一个属性以表示到 http://www.w3.org/2001/XMLSchema-instance 名称空间的前缀的映射。还为 XML 模式文档中的每个 xmlns 属性创建属性。当使用消息定义文件向导导入时,可更改前缀 http://www.w3.org/2001/XMLSchema-instance 名称空间,且使用消息定义文件向导的最后一个面板添加附加的名称空间 URI/前缀对。当您使用 mqsicreatemsgdefs 命令行实用程序时,可以使用 XML 选项文件做相同的修改。