Name 屬性繫結支援
.NET Framework 會提供 name 屬性 (Attribute) 的繫結支援。
根據套用 name 屬性的項目而定,此屬性的值會對應到公用類別或欄位的名稱。套用適當的 ***Name 屬性,即可覆寫 Xsd.exe 產生 XSD 文件時所得到的名稱。
從 XSD 文件產生原始檔
name 屬性是當做從 XML 結構描述文件產生原始程式碼時,Xsd.exe 提供型別繫結的項目使用,如下所示:
<attribute>:提供代表該屬性之公用類別欄位的名稱。欄位會顯示具有 System.Xml.Serialization.XmlAttributeAttribute。
<complexType>:提供對應到複雜型別之類別的名稱。
<element>:提供代表該項目之公用類別欄位的名稱。如果 <element> 項目含有匿名的 <complexType> 定義,名稱就會變成對應到複雜型別之類別的名稱。
<simpleType>:提供對應到簡單型別之類別的名稱。.NET Framework 只允許透過 (a) 列舉字串型別和 (b) 建立當做屬性使用的清單,衍生簡單型別。
未嘗試轉換大小寫,以遵守程式碼撰寫慣例。例如,如果 <complexType> 項目的名稱屬性具有值 testInfo
,則結果類別會命名為 testInfo,而不是首字大寫的 TestInfo。如果名稱與保留的關鍵字衝突,則所產生的名稱前面會加上 @ 符號。
.NET Framework 並未繫結至下列用來建立唯一性和參考完整性 (Referential Integrity) 的 XML 結構描述定義語言項目:<key>、<keyref> 和 <unique>。因此,便會忽略在這些項目中出現的 name 屬性。同樣地,<notation> 項目沒有型別繫結,因此也會忽略其中的 name 屬性。
由於 Xsd.exe 並未直接支援 <group> 和 <attributeGroup> 項目,而是將每個參考的內容展開至類別 (對應於包含參考的每個複雜型別),因此會忽略群組或屬性群組名稱。
從類別產生 XSD 文件
從組件的一組類別中產生 XSD 文件時,Xsd.exe 會使用先前描述的程式碼建構,為對應的 name 屬性提供值。
此外,除了欄位之外,由於公用屬性 (Property) 也會轉譯為 <element> 和 <attribute> 項目,因此屬性 (Property) 名稱預設是 name 屬性 (Attribute) 值。
透過下列屬性 (Attribute) 的屬性 (Property),可以提供替代名稱 name 屬性 (Attribute) 值。
System.Xml.Serialization.XmlAttributeAttribute.AttributeName
System.Xml.Serialization.XmlTypeAttribute.TypeName:變更 XSD 資料型別的名稱,此資料型別會對應至已套用屬性的 .NET Framework 型別。
System.Xml.Serialization.XmlArrayAttribute.ElementName:變更陣列之父 XML 項目的名稱。
System.Xml.Serialization.XmlArrayItemAttribute.ElementName:變更對應到陣列項目 (Array Entry) 的循序子項目名稱。
可能的包含項目:<attribute>、<attributeGroup>、<complexType>、<element>、<group>、<key>、<keyref>、<notation>、<simpleType>、<unique>
請參閱
參考
System.Xml.Schema.XmlSchemaAttribute.Name
System.Xml.Schema.XmlSchemaAttributeGroup.Name
System.Xml.Schema.XmlSchemaElement.Name
System.Xml.Schema.XmlSchemaGroup.Name
System.Xml.Schema.XmlSchemaType.Name
XmlSchemaComplexType
XmlSchemaSimpleType
System.Xml.Schema.XmlSchemaIdentityConstraint.Name
XmlSchemaKey
XmlSchemaKeyref
XmlSchemaUnique
System.Xml.Schema.XmlSchemaNotation.Name
Copyright © 2007 by Microsoft Corporation. All rights reserved.