本主题专门介绍一项旧有技术。现在应通过使用以下链接来创建 XML Web 服务和 XML Web 服务客户端: Windows Communication Foundation.
.NET Framework 为 <include> 元素提供部分绑定支持。
当从 <include> 元素生成源代码时,Xsd.exe 会按照通过 schemaLocation 特性指定的绝对文件系统路径定位所包括的 XSD 文档。
说明
<include> 元素类似于 <import> 元素。这两个元素均显示为根元素 <schema> 的子级;它们必须出现在其他任何子级之前。二者均位于一个单独的 <schema> 定义中,该定义通常在另一个 .xsd 文件中定义。二者有一个重要的区别,如下所述:
<import>:在通过 namespace 特性指定的单独命名空间内导入架构定义和声明。
<include>:在指定为现有 XML 架构定义的 targetNamespace 的同一个命名空间内包括附加的架构定义和声明。
使用 <include> 元素的 XML 架构定义在语法上等效于包含的定义直接出现在其中的 XML 架构定义。
当基于程序集中的一组类生成 XML 架构文档时,Xsd.exe 只为每个目标命名空间创建一个 .xsd 文件。换句话说,在生成的 .xsd 文件中,任何两个文件的根元素 <schema> 都不具有相同的 targetNamespace 特性值。因此,永远不会生成 <include> 元素。开发人员始终可以采用 <include> 元素将生成的 .xsd 文件手动分解成多个文件。
当从 XML 架构文档生成源代码时,Xsd.exe 可以识别 <include> 元素。不应将包含的 XSD 文档作为额外的参数传递给 Xsd.exe。而应通过 schemaLocation 特性来定位它们。该特性值应当为绝对文件系统路径。
下面的示例说明了有效的 schemaLocation 值:
<xsd:include schemaLocation="c:\\projectRoot\\source\\xsd\\included1.xsd" />
![]() |
---|
当 schemaLocation 特性出现在 <import> 元素中时,Xsd.exe 将忽略该特性。而对于 Xsd.exe 来说,导入的任何文件都被指定为附加的命令行参数。请参见 import 元素绑定支持。 |
可能的特性 | 绑定支持 |
---|---|
id |
Xsd.exe 实用工具会忽略旨在提供唯一标识符的 id 特性。 |
schemaLocation |
请参见上文。 |
可能的父元素:<schema>
可能的子元素:<annotation>