Sequence 要素のバインディング サポート
このトピックの対象は、レガシ テクノロジに特定されています。XML Web サービスと XML Web サービス クライアントは以下を使用して作成してください。 Windows Communication Foundation.
.NET Framework では、<sequence> 要素のバインディングをサポートしています。
説明
XML Schema Definition Tool (Xsd.exe) は、スキーマからクラスを生成する際に、そのクラスのメンバー (フィールドまたはプロパティ) を <sequence> (または <all>) 要素に列挙されている順に生成します。ただし、指定のクラス インスタンスからスキーマが生成されるときは、リフレクション エンジンがシリアライザーにメンバーを返す順序によってメンバーの順序が決まります。この順序は定義されておらず、変動する可能性があります。生成されたスキーマでのシーケンスの順序を確保するには、XmlElementAttribute、XmlAnyElementAttribute、および XmlArrayAttribute の各属性クラスの Order プロパティを必要に応じて設定します。xsd.exe ツールを使用してスキーマからクラスを生成する場合は、/order コマンド ライン スイッチを使用して Order プロパティを自動的に生成できます。
<sequence> 要素は、<element> XSD 要素またはその他の特定の XSD 要素を使用して、定義された要素を順序付きでグループ化します。対照的に、All 要素のバインディング サポート 要素は、<sequence> 要素が含む可能性のある要素のサブセットを順序なしでグループ化します。
XML スキーマ ドキュメントからソース コードを生成するとき、Xsd.exe ユーティリティは <sequence> 要素、または <all> 要素のコンテンツと同じ順序で、パブリック フィールドを生成します。
アセンブリの一組のクラスから XML スキーマ ドキュメントを生成するとき、Xsd.exe は、クラスに表示されるフィールドと同じ順序でクラスのパブリック フィールドを変換して、<sequence> 要素の下の適切な要素に表示します。
複合型内の要素は、順序なしではなく順序付きで出現することが前提となります。
使用可能な属性 | バインディング サポート |
---|---|
id |
Xsd.exe ユーティリティでは、一意な識別子を提供するための id 属性は無視されます。 |
maxOccurs |
<sequence> 要素の場合、maxOccurs の値 複数回現れるシーケンス (1 を超える値の maxOccurs を持つシーケンス) が含まれるスキーマを Xsd.exe で使用する場合は、/order コマンド ライン オプションを使用します。その理由の詳細については、「MaxOccurs 属性のバインディング サポート」を参照してください。 |
minOccurs |
XML スキーマ ドキュメントからソース コードを生成する場合、<sequence> 要素に適用されているときは、Xsd.exe で minOccurs 属性が無視されます。 クラスから XML スキーマ ドキュメントを生成する場合、Xsd.exe は minOccurs 値を指定しないで、既定の MinOccurs 属性のバインディング サポート 属性を参照してください。 |
使用可能な親要素 : <choice>、<complexType>、<extension>、<group>、<restriction>
使用可能な子要素 : <annotation>、<any>、<choice>、<element>、<group>