extension 元素绑定支持

.NET Framework 为 <extension> 元素提供绑定支持。

Xsd.exe 工具只为复杂内容(而不为简单内容)生成与 base 属性的值对应的基类。

说明

使用 XML 架构定义语言可以通过扩展和限制从基类型派生新的数据类型。 扩展始终用于派生复杂类型。 扩展可以基于简单内容或复杂内容,区别如下:

  • 简单内容:使用 XPath complexType/simpleContent/extension。 派生的复杂类型不包含子元素,而只包含简单内容 - 属性和/或正文文本。

  • 复杂内容:使用 XPath complexType/complexContent/extension。 派生的复杂类型和基复杂类型均包含子元素。 它们也可以包含属性和正文文本。

XML 架构类型扩展始终通过 .NET Framework 中的类定义完全表示。 Xsd.exe 如何从 XML 架构文档生成源代码取决于扩展是基于简单内容还是复杂内容,具体如下:

  • 简单内容:Xsd.exe 生成一个带公共字段的新类,该公共字段的类型与 <extension> 元素的 base 属性指定的基数据类型相对应。

  • 复杂内容:Xsd.exe 生成一个与 <extension> 元素的 base 属性指定的基数据类型相对应的类,以及一个用于派生的数据类型的类。 后者是使用诸如 public class DerivedClass : BaseClass 这样的类声明从前者继承而来的。

在从 XML 架构转换成类以及从类转换成新的 XML 架构文档的往返转换过程中,Xsd.exe 将保留任意一种扩展。

有关简单内容扩展的示例,请参见 <simpleContent> 元素。

可能的属性 绑定支持

base

<extension> 元素需要 base 属性,该属性的值为基数据类型的限定名。

对于简单内容扩展,Xsd.exe 工具从 base 属性的值生成一个公共字段。 对于复杂内容扩展,Xsd.exe 从 base 值生成一个基类。 请参见上文。

id

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

可能的父元素:<complexContent><simpleContent>

可能的子元素:<all><annotation><anyAttribute><attribute><attributeGroup><choice><group><sequence>

请参见

参考

XmlSchemaComplexContentExtension
XmlSchemaSimpleContentExtension

Footer image

版权所有 (C) 2007 Microsoft Corporation。保留所有权利。