import 元素绑定支持

本主题专门介绍一项旧有技术。现在应通过使用以下链接来创建 XML Web 服务和 XML Web 服务客户端: Windows Communication Foundation.

.NET Framework 为 <import> 元素提供部分绑定支持。

对于 <import> 元素,Xsd.exe 工具忽略 schemaLocation 特性,并且希望将导入的文件作为附加命令行参数。

说明

<import> 元素类似于 <include> 元素。这两个元素均显示为根元素 <schema> 的子级;它们必须出现在其他任何子级之前。二者均位于一个单独的 <schema> 定义中,该定义通常在另一个 .xsd 文件中定义。二者有一个重要的区别,如下所述:

  • <import>:在使用 namespace 特性指定的单独命名空间内导入架构定义和声明。

  • <include>:在指定为现有 XML 架构定义的 targetNamespace 的同一个命名空间内包括附加的架构定义和声明。

下面是 <import> 元素的用法示例:

<xsd:import  namespace="http://example.org/attr" schemaLocation="http://example.org/definitions/attr.xsd" />

SchemaLocation 特性

schemaLocation 特性用于指定导入的 .xsd 文件的位置。但是,当 schemaLocation 特性出现在 <import> 元素中时,Xsd.exe 将忽略该特性。而对于 Xsd.exe 来说,导入的任何文件都被指定为附加的命令行参数。

所生成的源文件的名称是以参数形式传递的最后一个 XSD 文件的名称。例如,下面的 Xsd.exe 命令行调用:

xsd importedAttribute.xsd attributeRef.xsd /classes /language:CS

所得到的源文件的名称将为 attributeRef.cs。

ew6ts9yw.note(zh-cn,VS.100).gif注意:
schemaLocation 特性出现在 <include> 元素中时,Xsd.exe 会使用该特性。当从 XML 架构文档生成源代码时,Xsd.exe 识别使用文件系统绝对路径的值。有关更多信息,请参见 include 元素绑定支持.

Namespace 特性

namespace 特性用来标识导入的目标命名空间,该命名空间必须不同于执行导入的 XSD 文档(包含 <import> 元素的文档)的目标命名空间。

当从 XML 架构文档生成源代码时,Xsd.exe 会在应用于与所导入的实体对应的每个类型或字段的 .NET Framework 特性上设置 Namespace 属性。即使在未导入额外命名空间时,Xsd.exe 也会将以下两个特性的 Namespace 属性设置为原始 XSD 文档的目标命名空间的该属性。

可以使用某些与 XML 相关的特性类的 Namespace 属性来指定导入的命名空间。该属性如下所示:

可能的特性 绑定支持

id

Xsd.exe 实用工具会忽略旨在提供唯一标识符的 id 特性。

namespace

请参见前面的 Namespace Attribute部分。

schemaLocation

请参见前面的 SchemaLocation Attribute部分。

可能的父元素:<schema>

可能的子元素:<annotation>

另请参见

参考

XmlSchemaImport