All 要素のバインディング サポート
このトピックの対象は、レガシ テクノロジに特定されています。XML Web サービスと XML Web サービス クライアントは以下を使用して作成してください。 Windows Communication Foundation.
.NET Framework では、<all> 要素のバインディングをサポートしています。
ただし、<all> 要素を、一連のクラスから XML スキーマ ドキュメントを生成するときに作成されるようにコードで指定する方法はありません。
説明
<all> 要素を、一連のクラスから XML スキーマ ドキュメントを生成するときに作成されるようにコードで指定する方法はありません。
<all> 要素には、要素の順序なしグループ化機能があります。それぞれの子要素は、1 回出現するか、まったく出現しません。
XML スキーマ ドキュメントからソース コードを生成するとき、Xsd.exe は、<all> 要素の各子要素をパブリック フィールドに変換します。このフィールドは、XML スキーマ内の子要素の順序と同じ順序で出現します。
アセンブリ内の一連のクラスから XML スキーマ ドキュメントを生成するとき、Xsd.exe は、パブリック フィールドに対応する子要素をグループ化するために、<all> 要素の代わりに <sequence> 要素を使用します。複合型内の要素は、順序なしではなく順序付きで出現することが前提となります。
<all> 要素が含まれるスキーマをインポートするときは、順序維持機能 (Xsd.exe の /order スイッチ) を使わないでください。
例
入力 XML スキーマ ドキュメント :
<xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema"
targetNamespace="http://example.org/" xmlns="http://example.org/" elementFormDefault="qualified">
<xsd:element name="complexInstance" type="MyComplexType"/>
<xsd:element name="field1" type="xsd:string"/>
<xsd:element name="field2" type="xsd:string"/>
<xsd:element name="field3" type="xsd:string"/>
<xsd:complexType name="MyComplexType">
<xsd:all>
<xsd:element ref="field1"/>
<xsd:element ref="field2"/>
<xsd:element ref="field3"/>
</xsd:all>
</xsd:complexType>
</xsd:schema>
上記の XML スキーマ ドキュメントから生成される C# クラス :
[System.Xml.Serialization.XmlTypeAttribute(Namespace="http://example.org/")]
[System.Xml.Serialization.XmlRootAttribute("complexInstance", Namespace="http://example.org/", IsNullable=false)]
public class MyComplexType {
public string field1;
public string field2;
public string field3;
}
上記の C# ソースからコンパイルされたアセンブリから生成される XML スキーマ複合型:
<xs:complexType name="MyComplexType">
<xs:sequence>
<xs:element minOccurs="0" maxOccurs="1" name="field1" type="xs:string" />
<xs:element minOccurs="0" maxOccurs="1" name="field2" type="xs:string" />
<xs:element minOccurs="0" maxOccurs="1" name="field3" type="xs:string" />
</xs:sequence>
</xs:complexType>
使用可能な属性 | バインディング サポート |
---|---|
id |
Xsd.exe ユーティリティは、一意な識別子を提供するための id 属性を無視します。 |
maxOccurs |
<all> 要素では、maxOccurs 属性で MaxOccurs 属性のバインディング サポート 属性を参照してください。 |
minOccurs |
<all> 要素に minOccurs 属性が適用されるときは、Xsd.exe はこの属性を無視します。 MinOccurs 属性のバインディング サポート 属性を参照してください。 |
使用可能な親要素 : <complexType>、<extension>、<group>、<restriction>
使用可能な子要素 : <annotation>、<element>