.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
版权所有 (C) 2007 Microsoft Corporation。保留所有权利。