上载包含的 XML 模式

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 模式。

过程

  1. 将 XML 模式或 WSDL 文档上载至当前项目中。如果 XML 模式或 WSDL 文档包含有其他 XML 模式,那么会显示“上载包含的 XML 模式”对话框, 其中列出所有包含的 XML 模式,如图 1 所示。
    图 1. 上载包含的 XML 模式上载 XML 模式
    如果自动找到包含的 XML 模式,那么会在“上载包含的 XML 模式”对话框中的 XML 模式旁显示选中标记图标选中标记图标,如上图中的 commonTypes.xsd XML 模式所示。如果主 XML 模式或 WSDL 位于本地文件系统上,那么 Studio 会在同一目录中查找包含的 XML 模式,并将它们自动定位;例如,如果从 C:\temp 目录 上载了 mySchema.xsdmySchema.xsd 包含 commonTypes.xsd XML 模式,那么 Studio 会自动在 C:\temp 目录中找到 commonTypes.xsd XML 模式。 如果未自动找到包含的 XML 模式,那么会在“上载包含的 XML 模式”对话框中的 XML 模式旁显示警告图标警告图标, 如图 1 中的 poTypes.xsd XML 模式所示。
  2. 重复执行以下步骤,查找所有未找到的 XML 模式:
    1. 在上载包含的 XML 模式对话框中选择 XML 模式。XML 模式在表中突出显示,如图 2 所示。
      图 2. 上载 XML 模式上载 XML 模式
    2. 单击查找。  这样会显示“查找所选的 XML 模式”对话框。
    3. 位置字段中,指定外部 Web 位置或文件系统中包含的 XML 模式的位置。
    4. 单击确定。  如果找到 XML 模式,会在上载包含的 XML 模式对话框中的 XML 模式旁,显示选中标记图标选中标记图标
  3. 缺省情况下,会选中将所有包含存储在主文档所在的项目节点中复选框。 选中该复选框时,包含的 XML 模式和主 XML 模式或 WSDL 会被上载为单个项目节点。清除该复选框时,所有包含的 XML 模式以及主 XML 模式或 WSDL 都会分别显示在项目选项卡中。 选中标记图标会显示在每个所列 XML 模式旁,表示已找到全部包含的 XML 模式。
  4. 单击确定

示例

如果选中将所有包含存储在主文档所在的项目节点中复选框,那么在项目选项卡中只会显示主 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 文件仍将引用类型的原有名称,现在该文件无效。