从 XML 模式导入支持名称空间的消息集时,接受“重新定义”构造,但会导致在任务列表中显示错误消息,因为该构造不完全受支持。
以下是“重新定义”构造的一个示例:
<?xml version="1.0" encoding="UTF-8" ?> <schema xmlns="http://www.w3.org/2001/XMLSchema" targetNamespace="http://www.ibm.com" xmlns:ibm="http://www.ibm.com"> <!-- Unsupported feature: redefine --> <redefine schemaLocation="test.xsd"/> </schema>
当把 XML 模式导入支持名称空间的消息集时,接受下面的构造,但会忽略这些构造并且不会部署到代理。当用户尝试导入包含一个或多个构造的模式时,将发出一个警告以表明这些构造将被忽略。您能够删除这些构造,但是没有可为它们配置的属性。
如果提取消息的逻辑模型(例如,使用模式生成设施),这些构造将被忽略并且不会包括在输出模式中。
以下是这些模式声明的列表:
以下是每个构造的示例:
<?xml version="1.0" encoding="UTF-8" ?> <schema xmlns="http://www.w3.org/2001/XMLSchema" targetNamespace="http://www.ibm.com" xmlns:ibm="http://www.ibm.com"> <!-- Accepted feature: unique --> <element name="element1" type="string"> <unique name="unique1"> <selector xpath="path1"></selector> <field xpath="path1"></field> </unique> </element> <!-- Accepted feature: key --> <element name="element2" type="string"> <key name="key1"> <selector xpath="path1"></selector> <field xpath="path1"></field> </key> </element> <!-- Accepted feature: keyref --> <element name="element3" type="string"> <keyref name="keyref1" refer="ibm:key1"> <selector xpath="path1"></selector> <field xpath="path1"></field> </keyref> </element> </schema>
当具有目标名称空间的 XML 模式包含另一个没有目标名称空间的 XML 模式时将出现此问题。在消息模型中为包括而创建的“模式位置”仅指定文件名。这不考虑包括和包括的消息定义文件在消息模型中的不同目录中。
通过从工作台的消息定义编辑器中选择包含消息定义的属性选项卡,可以修正此问题。删除带有错误“模式位置”的包含条目,然后添加另一个包含条目,并从文件菜单中选择正确的文件。
用户基于在 XML 模式导入器首选项页(或 mqsicreatemsgdefs 导入选项文件)中所设置的首选项,选择接受、拒绝或修改这些构造。
如果用户指定“拒绝”,则当遇到构造时,导入将停止并报告错误。
如果用户指定“修改”(缺省值),则当遇到构造时导入器将修改产生的消息定义文件,如下所示:
注意,由于兼容性,这些修改是由 V2.1 XML 模型导入器命令执行的等价修改。
如果用户指定“接受”,则当遇到构造时,导入器将导入构造的原来模样。根据构造这可能导致任务列表错误,如以上对具有名称支持的消息集的叙述。
以下是每个构造的示例:
<?xml version="1.0" encoding="UTF-8" ?> <schema xmlns="http://www.w3.org/2001/XMLSchema" targetNamespace="http://www.ibm.com" xmlns:ibm="http://www.ibm.com"> <!-- Supported feature: redefine --> <redefine schemaLocation="test.xsd"/> <!-- Supported feature: import --> <import schemaLocation="test1.xsd" namespace="http://www.ibm1.com"/> <!-- Supported feature: list --> <simpleType name="type1"> <list itemType="string" /> </simpleType> <!-- Supported feature: union --> <simpleType name="type2"> <union memberTypes="string" /> </simpleType> <!-- Supported feature: abstract complex type --> <complexType name="type3" abstract="true"></complexType> <!-- Supported feature: abstract element --> <element name="element" type="string" abstract="true"></element> </schema>
所采取的构造和操作的列表与上面所述具有名称空间支持的消息的列表相同。
当把 XML 模式导入不支持名称空间的消息集时,您无法导入有未用前缀限定的目标名称空间的模式文档。例如:
<xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema" targetNamespace="http://www.ibm.com" xmlns="http://www.ibm.com"> </xsd:schema>