Sequence 요소의 바인딩 지원

이 항목은 레거시 기술과 관련된 것입니다. 이제 XML Web services와 XML Web services 클라이언트는 다음을 사용하여 만들어야 합니다. Windows Communication Foundation.

.NET Framework에서는 <sequence> 요소에 대한 바인딩 지원을 제공합니다.

설명

스키마에서 클래스를 생성할 경우 XML Schema Definition Tool (Xsd.exe)에서는 클래스의 필드 또는 속성과 같은 멤버를 <sequence> 또는 <all> 요소에 나열된 순서대로 생성합니다. 하지만 지정된 클래스 인스턴스에서 스키마를 생성할 경우 멤버의 순서는 리플렉션 엔진에서 serializer에 멤버를 반환하는 순서에 따라 달라집니다. 이 순서는 정의되어 있지 않으며 변경될 수 있습니다. 생성된 스키마의 시퀀스 순서를 결정하려면 XmlElementAttribute, XmlAnyElementAttributeXmlArrayAttribute 특성 클래스의 Order 속성을 적절하게 설정합니다. Xsd.exe 도구를 사용하여 스키마에서 클래스를 생성할 경우 /order 명령줄 스위치를 사용하여 Order 속성을 자동으로 생성할 수 있습니다.

<sequence> 요소는 <element> XSD 요소나 다른 특정 XSD 요소를 사용하여 정의한 요소를 정렬하여 그룹화합니다. 이와 달리 All 요소의 바인딩 지원 요소는 <sequence> 요소가 포함할 수 있는 요소의 하위 집합을 순서 없이 그룹화합니다.

Xsd.exe 유틸리티를 사용하여 XML 스키마 문서에서 소스 코드를 생성할 경우 public 필드는 <sequence> 요소나 <all> 요소의 콘텐츠와 동일한 순서로 생성됩니다.

어셈블리의 클래스 집합에서 XML 스키마 문서를 생성할 경우에는 public 필드가 클래스에 표시되는 순서와 동일하게 <sequence> 요소 아래에 표시되는 해당 요소로 변환됩니다.

이때 복합 형식 내의 요소는 순서 없이 표시되는 것이 아니라 정렬되어 표시되는 것으로 가정합니다.

가능한 특성 바인딩 지원

id

Xsd.exe 유틸리티는 고유 식별자를 제공하기 위한 id 특성을 무시합니다.

maxOccurs

Xsd.exe에서는 <sequence> 요소에 대해 maxOccurs01로 해석하고, 1보다 큰 maxOccurs 값을 unbounded로 해석합니다.

여러 번 발생하는 시퀀스(maxOccurs가 1보다 큰 시퀀스)가 있는 스키마와 함께 Xsd.exe를 사용하는 경우에는 /order 명령줄 옵션을 사용합니다. 이렇게 해야 하는 이유에 대한 자세한 내용은 MaxOccurs 특성의 바인딩 지원 특성을 참조하십시오.

minOccurs

<sequence> 요소를 적용한 경우 XML 스키마 문서에서 소스 코드를 생성할 때 Xsd.exe는 minOccurs 특성을 무시합니다.

클래스에서 XML 스키마 문서를 생성할 경우 Xsd.exe는 minOccurs 값을 지정하지 않고 기본값 1로 되돌립니다.

MinOccurs 특성의 바인딩 지원 특성을 참조하십시오.

가능한 부모 요소: <choice>, <complexType>, <extension>, <group>, <restriction>

가능한 자식 요소: <annotation>, <any>, <choice>, <element>, <group>

참고 항목

참조

XmlSchemaSequence