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

このトピックの対象は、レガシ テクノロジに特定されています。XML Web サービスと XML Web サービス クライアントは以下を使用して作成してください。 Windows Communication Foundation.

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

説明

XML Schema Definition Tool (Xsd.exe) は、スキーマからクラスを生成する際に、そのクラスのメンバー (フィールドまたはプロパティ) を <sequence> (または <all>) 要素に列挙されている順に生成します。ただし、指定のクラス インスタンスからスキーマが生成されるときは、リフレクション エンジンがシリアライザーにメンバーを返す順序によってメンバーの順序が決まります。この順序は定義されておらず、変動する可能性があります。生成されたスキーマでのシーケンスの順序を確保するには、XmlElementAttributeXmlAnyElementAttribute、および 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 の値 0 は、Xsd.exe によって 1 と解釈され、maxOccurs の 1 を超える値は、unbounded と解釈されます。

複数回現れるシーケンス (1 を超える値の maxOccurs を持つシーケンス) が含まれるスキーマを Xsd.exe で使用する場合は、/order コマンド ライン オプションを使用します。その理由の詳細については、「MaxOccurs 属性のバインディング サポート」を参照してください。

minOccurs

XML スキーマ ドキュメントからソース コードを生成する場合、<sequence> 要素に適用されているときは、Xsd.exe で minOccurs 属性が無視されます。

クラスから XML スキーマ ドキュメントを生成する場合、Xsd.exe は minOccurs 値を指定しないで、既定の 1 に戻します。

MinOccurs 属性のバインディング サポート 属性を参照してください。

使用可能な親要素 : <choice><complexType><extension><group><restriction>

使用可能な子要素 : <annotation><any><choice><element><group>

参照

リファレンス

XmlSchemaSequence