Restriction 요소의 바인딩 지원

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

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

.NET Framework에서 제공하는 완전히 표현적인 바인딩의 유일한 형식 제한은 문자열 기반 단순 형식의 열거형뿐입니다.

설명

XML 스키마 정의 언어를 사용하면 확장 및 제한을 통해 기본 형식에서 새 형식을 파생시킬 수 있습니다. 확장은 항상 복합 형식을 파생시키는 데 사용됩니다. 제한은 일반적으로 단순 형식에 사용되지만 복합 형식과 단순 형식을 파생시키는 데 모두 사용될 수 있습니다.

XML 스키마 형식 확장은 항상 .NET Framework의 클래스 정의를 통해 완전히 표현되지만, 바인딩에 대한 형식 제한은 XPath simpleType/restriction/enumeration을 통해 위치가 지정된 단순 형식의 열거형뿐입니다. 또한, <enumeration> 요소는 문자열 기반 단순 형식에 적용되는 경우에만 바인딩됩니다.

simpleType/restriction 요소의 다른 모든 자식 요소인 경우나 열거형이 비문자열 기반 형식에 적용된 경우 다음이 발생합니다.

  • XML 스키마 문서에서 소스 코드를 생성할 경우 Xsd.exe는 이 제한을 무시하고 기본 단순 형식에 해당하는 .NET Framework 형식만 생성합니다.

  • XmlSerializer 클래스는 개체를 XML로 serialize하고 XML에서 deserialize할 때 이 제한을 무시합니다.

복합 형식의 경우 XPath complexType/complexContent/restriction을 통해 복합 콘텐츠가 제한에 포함되면 Xsd.exe에서는 기본 클래스에서 상속되는 빈 클래스를 생성합니다. XmlSerializer 클래스는 이러한 제한을 무시합니다. Xsd.exe에서는 XPath complexType/simpleContent/restriction을 통해 단순 콘텐츠를 포함하는 제한을 인식하지 않습니다.

제한은 바인딩 지원을 제한하지만 스키마 개체 모델에서는 완전히 표현됩니다. 단순 형식 제한을 위한 XmlSchemaSimpleTypeRestriction 클래스와, 두 가지 종류의 복합 형식 제한을 위한 XmlSchemaComplexContentRestrictionXmlSchemaSimpleContentRestriction 클래스가 있습니다. 또한 XmlSchemaSimpleTypeRestrictionXmlSchemaSimpleContentRestriction에는 simpleType/restriction 또는 simpleContent/restriction의 자식을 나타내는 개체를 보유할 수 있는 Facets 속성이 있습니다.

이러한 클래스의 개체는 XML 스키마 사양에서 제공하는 모든 종류의 형식 제한을 사용하는 스키마 개체 모델을 프로그래밍 방식으로 만드는 데 사용할 수 있습니다. 이러한 모델은 XML 스키마 문서로 serialize하거나 XML 스키마 문서에서 deserialize할 수 있습니다.

또한 XmlValidatingReader 개체는 XML 스키마에 대해 제한을 사용하는 XML 인스턴스 문서의 유효성을 검사하는 데 사용할 수 있습니다.

가능한 특성 바인딩 지원

base

<restriction> 요소에는 base 특성이 필요하며, 이 특성의 값은 기본 데이터 형식의 정규화된 이름입니다.

제한을 통해 단순 형식을 정의하는 경우 base 특성의 값은 Xsd.exe에서 제한을 인식하는지 여부를 결정합니다. 문자열로 바인딩되는 XML 스키마 데이터 형식이 base인 경우 Xsd.exe에서는 enum 형식을 생성합니다. 그렇지 않으면 Xsd.exe는 base 값에 바인딩되는 .NET Framework 형식의 필드를 생성합니다.

제한을 통해 복합 형식을 정의할 때 base 특성을 사용하는 방법에 대해서는 앞에 나온 내용을 참조하십시오.

id

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

가능한 부모 요소: <complexContent>, <simpleContent>, <simpleType>

가능한 자식 요소: <all>, <annotation>, <anyAttribute>, <attribute>, <attributeGroup>, <choice>, <enumeration>, <fractionDigits>, <group>, <length>, <maxExclusive>, <maxInclusive>, <maxLength>, <minExclusive>, <minInclusive>, <minLength>, <pattern>, <sequence>, <simpleType>, <totalDigits>, <whiteSpace>

참고 항목

참조

XmlSchemaComplexContentRestriction
XmlSchemaSimpleContentRestriction
XmlSchemaSimpleTypeRestriction