All 요소의 바인딩 지원
이 항목은 레거시 기술과 관련된 것입니다. 이제 XML Web services와 XML Web services 클라이언트는 다음을 사용하여 만들어야 합니다. Windows Communication Foundation.
.NET Framework에서는 <all> 요소에 대한 바인딩 지원을 제공합니다.
그러나 클래스 집합에서 XML 스키마 문서를 생성할 때 <all> 요소가 만들어지도록 이 요소를 코드에 지정하는 방법은 없습니다.
설명
클래스 집합에서 XML 스키마 문서를 생성할 때 <all> 요소가 만들어지도록 이 요소를 코드에 지정하는 방법은 없습니다.
<all> 요소는 요소를 순서 없이 그룹화합니다. 각 자식 요소는 한 번 표시되거나 전혀 표시되지 않을 수 있습니다.
XML 스키마 문서에서 소스 코드를 생성할 경우 Xsd.exe는 <all> 요소의 각 자식 요소를 public 필드로 변환합니다. 이 필드는 XML 스키마의 자식 요소와 같은 순서로 표시됩니다.
어셈블리의 클래스 집합에서 XML 스키마 문서를 생성할 경우, Xsd.exe에서는 public 필드에 해당하는 자식 요소를 그룹화하는 <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 특성의 바인딩 지원 특성을 참조하십시오. |
minOccurs |
Xsd.exe 도구는 <all> 요소에 minOccurs 특성이 적용될 경우 이를 무시합니다. MinOccurs 특성의 바인딩 지원 특성을 참조하십시오. |
가능한 부모 요소: <complexType>, <extension>, <group>, <restriction>
가능한 자식 요소: <annotation>, <element>