XML 模式或 WSDL 文档可以使用模式包含、模式包含重定义或导入名称空间,在主文档中包含其他 XML 模式。
关于此任务
- 模式包含
- 您可以使用 include 元素,将其他 XML 模式片段包含在主 XML 模式或 WSDL 中,如下例所示:<xsd:include schemaLocation="myTypes.xsd"/>
- 模式包含重定义
- XML 模式规范支持重定义当前 XML 模式或 WSDL 中其他 XML 模式片段所含的定义。例如,myTypes.xsd XML 模式片段定义了名为 PurchaseOrderType 的复杂类型。另一名为 PurchaseOrder.xsd 的 XML 模式使用 redefine 元素包含 myTypes.xsd XML 模式片段,并重定义名为 PurchaseOrderType 的复杂类型。
- 您可以使用 redefine 元素,将其他 XML 模式片段包含在主 XML 模式或 WSDL 中,如下例所示:<xsd:redefine schemaLocation="myTypes.xsd"/>
- 导入名称空间
- 您可以使用 import 元素,将名称空间包含在当前文档中,如下例所示:<xs:import namespace="http://acme.com/ns/example
schemaLocation="mySchema.xsd" /> 。
在使用“添加文档”对话框向项目中添加或上载主 XML 模式或 WSDL 时,会提示您查找项目中所含的任何 XML 模式,如以下过程中所示。在项目选项卡中显示主 XML 模式或 WSDL 文档并可以在项目中使用前,必须找到所有包含的 XML 模式。
过程
- 将 XML 模式或 WSDL 文档上载至当前项目中。如果 XML 模式或 WSDL 文档包含有其他 XML 模式,那么会显示“上载包含的 XML 模式”对话框,
其中列出所有包含的 XML 模式,如图 1 所示。
图 1. 上载包含的 XML 模式
如果自动找到包含的 XML 模式,那么会在“上载包含的 XML 模式”对话框中的 XML 模式旁显示选中标记图标
,如上图中的 commonTypes.xsd XML 模式所示。如果主 XML 模式或 WSDL 位于本地文件系统上,那么 Studio 会在同一目录中查找包含的 XML 模式,并将它们自动定位;例如,如果从 C:\temp 目录
上载了 mySchema.xsd 且 mySchema.xsd 包含 commonTypes.xsd XML 模式,那么 Studio 会自动在 C:\temp 目录中找到 commonTypes.xsd XML 模式。 如果未自动找到包含的 XML 模式,那么会在“上载包含的 XML 模式”对话框中的 XML 模式旁显示警告图标
,
如图 1 中的 poTypes.xsd XML 模式所示。
- 重复执行以下步骤,查找所有未找到的 XML 模式:
- 在上载包含的 XML 模式对话框中选择 XML 模式。XML 模式在表中突出显示,如图 2 所示。
图 2. 上载 XML 模式
- 单击查找。 这样会显示“查找所选的 XML 模式”对话框。
- 在位置字段中,指定外部 Web 位置或文件系统中包含的 XML 模式的位置。
- 单击确定。 如果找到 XML 模式,会在上载包含的 XML 模式对话框中的 XML 模式旁,显示选中标记图标
。
- 缺省情况下,会选中将所有包含存储在主文档所在的项目节点中复选框。
选中该复选框时,包含的 XML 模式和主 XML 模式或 WSDL 会被上载为单个项目节点。清除该复选框时,所有包含的 XML 模式以及主 XML 模式或 WSDL 都会分别显示在项目选项卡中。 选中标记图标会显示在每个所列 XML 模式旁,表示已找到全部包含的 XML 模式。
- 单击确定。
示例
如果选中
将所有包含存储在主文档所在的项目节点中复选框,那么在
项目选项卡中只会显示主 XML 模式或 WSDL,
如
图 3 所示。
图 3. 示例
选中该复选框时,包含的 XML 模式仍将上载到项目中,但不会显示在项目选项卡中,因此无法在项目中单独更新这些 XML 模式,如上载包含的 XML 模式中所述。
如果清除
将所有包含存储在主文档所在的项目节点中复选框,
那么会显示主 XML 模式或 WSDL,且所有包含的 XML 模式都会在项目中上载并显示在
项目选项卡中,如
图 4 所示。
图 4. 示例
清除该复选框时,可单独更新所有包含的 XML 模式,如上载包含的 XML 模式所述。
注: 可能的话,请在选中该复选框的情况下始终装入主 XML 模式或 WSDL(作为一个项目节点),以减少 XML 模式间可能存在的依赖性冲突。例如,如果在清除
将所有包含存储在主文档所在的项目节点中复选框的情况下
将主
myTypes.xsd 文件上载到项目中,那么将同时上载以下 XSD 文件并显示在
项目选项卡中:
- commonTypes.xsd
- poTypes.xsd
如果创建并上载了第三个 XSD 文件 myTypesTwo.xsd,该文件还包含并使用 commonTypes.xsd 文件中定义的类型,然后,更改了 commonTypes.xsd 中定义以及在 Studio 外 myTypes.xsd 中使用的类型名称,并上载了这些文件的新版本,那么项目中的 myTypes.xsd 文件仍将引用类型的原有名称,现在该文件无效。