.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。
![]() |
---|
当 schemaLocation 属性出现在 <include> 元素中时,Xsd.exe 会使用该属性。 当从 XML 架构文档生成源代码时,Xsd.exe 识别使用文件系统绝对路径的值。 有关更多信息,请参见include 元素绑定支持。 |
Namespace 属性
namespace 属性用来标识导入的目标命名空间,该命名空间必须不同于执行导入的 XSD 文档(包含 <import> 元素的文档)的目标命名空间。
当从 XML 架构文档生成源代码时,Xsd.exe 会在应用于与所导入的实体对应的每个类型或字段的 .NET Framework 属性 (Attribute) 上设置 Namespace 属性 (Property)。 即使在未导入额外命名空间时,Xsd.exe 也会将以下两个属性 (Attribute) 的 Namespace 属性 (Property) 设置为原始 XSD 文档的目标命名空间的该属性 (Property)。
XmlTypeAttribute:如果在架构中定义了任何数据类型。
可以使用某些与 XML 相关的属性 (Attribute) 类的 Namespace 属性 (Property) 来指定导入的命名空间。 该属性如下所示:
可能的属性 | 绑定支持 |
---|---|
id |
Xsd.exe 实用工具会忽略旨在提供唯一标识符的 id 属性。 |
namespace |
请参见前面的 Namespace Attribute部分。 |
schemaLocation |
请参见前面的 SchemaLocation Attribute部分。 |
可能的父元素:<schema>
可能的子元素:<annotation>
请参见
参考
版权所有 (C) 2007 Microsoft Corporation。保留所有权利。