Appinfo 要素のバインディング サポート
.NET Framework では、<appinfo> 要素のバインディングをサポートしていません。
XML スキーマ ドキュメントからソース コードを生成するとき、Xsd.exe は、<appinfo> 要素およびその内容を無視します。
説明
XML スキーマ ドキュメントからソース コードを生成するとき、Xsd.exe は、<appinfo> 要素およびその内容を無視します。<appinfo> 要素の親である <annotation> についても同様です。
例外は、次の 2 つのエンティティ間の通信です。
XmlSerializerNamespaces 型のフィールドまたはプロパティに適用された XmlNamespaceDeclarationsAttribute 型の属性。
<appinfo> 要素に含まれている <keepNamespaceDeclarations> という名前の .NET Framework 固有の XML 要素。
XmlSerializerNamespaces オブジェクトは、プレフィックスとそれによって表される名前空間の間で、一組の割り当てを格納するために使用されます。要素 annotation/appinfo/keepNamespaceDeclarations
のテキストは、XmlSerializerNamespaces フィールドまたはプロパティの名前です。この変換は、名前空間のプレフィックスを制御できるように、XSD ファイルからコードへ、およびコードから XSD ファイルへという両方向で行われます。
例
入力 C# クラス :
public class MyClass {
[XmlAttribute]
public string name;
public string xpath;
[XmlNamespaceDeclarationsAttribute]
public XmlSerializerNamespaces xmlns;
}
上記の C# ソースをコンパイルしたアセンブリから生成される XML スキーマ ドキュメント
<xs:schema elementFormDefault="qualified" xmlns:xs="http://www.w3.org/2001/XMLSchema">
<xs:element name="MyClass" nillable="true" type="MyClass" />
<xs:complexType name="MyClass">
<xs:annotation>
<xs:appinfo>
<keepNamespaceDeclarations>xmlns</keepNamespaceDeclarations>
</xs:appinfo>
</xs:annotation>
<xs:sequence>
<xs:element minOccurs="0" maxOccurs="1" name="xpath" type="xs:string" />
</xs:sequence>
<xs:attribute name="name" type="xs:string" />
</xs:complexType>
</xs:schema>
上記の XML スキーマ ドキュメントから生成される C# クラスは、XML スキーマが生成された元の C# クラスと実質的に同一です。
使用可能な属性 | バインディング サポート |
---|---|
source |
.NET Framework では、<appinfo> 要素をバインドしないため、要素の source 属性をバインドしません。 |
使用可能な親要素 : <annotation>
使用可能な子要素 : 制限なし****
関連項目
参照
Copyright © 2007 by Microsoft Corporation.All rights reserved.