共用方式為


Extension 項目繫結支援

.NET Framework 會提供 <extension> 項目的繫結支援。

Xsd.exe 工具只會針對複雜內容 (而非簡單內容),產生對應到 base 屬性 (Attribute) 值的基底類別。

說明

XML 結構描述定義語言會同時透過擴充和限制啟用基底型別 (Base Type) 至新資料型別的衍生。衍生複雜型別時一定會用到擴充。擴充可能會依簡單內容或複雜內容而有所區分,如下所示:

  • 簡單內容:使用 XPath complexType/simpleContent/extension。衍生的複雜型別不會包含子項目,只會包含屬性或本文 (或兩者) 的簡單內容。

  • 複雜內容:使用 XPath complexType/complexContent/extension。衍生和基底複雜型別都會包含子項目,這些子項目也可以包含屬性和本文。

在 .NET Framework 中,永遠都會透過類別定義來完整表示 XML 結構描述型別擴充。Xsd.exe 從 XML 結構描述文件產生原始程式碼的方式,取決於擴充是以簡單內容或複雜內容為基礎,如下所示:

  • 簡單內容:Xsd.exe 會產生具有公用欄位的新類別,此欄位的型別對應到 <extension> 項目的 base 屬性所指定的基底資料型別。

  • 複雜內容:Xsd.exe 會產生對應到基底資料型別的類別 (基底資料型別是由 <extension> 項目的 base 屬性指定),並產生衍生資料型別的類別。後面的類別繼承自前面的類別,使用的類別宣告如下所示:public class DerivedClass : BaseClass.

當 Xsd.exe 從 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

Copyright © 2007 by Microsoft Corporation. All rights reserved.