次の方法で共有


Annotation 要素のバインディング サポート

.NET Framework では、<annotation> 要素のバインディングをサポートしていません。

XML スキーマ ドキュメントからソース コードを生成するとき、Xsd.exe は、<annotation> 要素とその内容を無視します。

説明

XML スキーマ ドキュメントからソース コードを生成するとき、Xsd.exe は、<annotation> 要素とその内容を無視します。また、子要素 <appinfo> および <documentation> はいずれもサポートされていません。

Xsd.exe が <annotation> 要素を使用するのは、次の 2 つのエンティティ間の対応が関連する場合のみです。

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# クラスと実質的に同一です。

使用可能な属性 バインディング サポート

id

Xsd.exe ユーティリティでは、一意な識別子を提供するための id 属性は無視されます。

使用可能な親要素 : 多数

使用可能な子要素 : <appinfo><documentation>****

関連項目

参照

XmlSchemaAnnotation
XmlSchemaAnnotation

Footer image

Copyright © 2007 by Microsoft Corporation.All rights reserved.