다음을 통해 공유


Extension 요소의 바인딩 지원

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

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

Xsd.exe 도구는 단순 콘텐츠가 아닌 복합 콘텐츠에 대해서만 base 특성 값에 해당하는 기본 클래스를 생성합니다.

설명

XML 스키마 정의 언어를 사용하면 확장 및 제한을 통해 기본 형식에서 새 데이터 형식을 파생시킬 수 있습니다. 확장은 항상 복합 형식을 파생시키는 데 사용됩니다. 확장은 다음과 같이 단순 콘텐츠나 복합 콘텐츠를 기반으로 할 수 있습니다.

  • 단순 콘텐츠: XPath complexType/simpleContent/extension을 사용합니다. 파생된 복합 형식에는 자식 요소가 포함되지 않으며 단순 콘텐츠(특성, 본문 텍스트 또는 둘 다)만 포함됩니다.

  • 복합 콘텐츠: XPath complexType/complexContent/extension을 사용합니다. 파생된 복합 형식과 기본 복합 형식에는 모두 자식 요소가 포함됩니다. 특성과 본문 텍스트도 포함될 수 있습니다.

XML 스키마 형식 확장은 항상 .NET Framework의 클래스 정의를 통해 완전히 표현됩니다. Xsd.exe를 통해 XML 스키마 문서에서 소스 코드가 생성되는 방식은 해당 확장이 단순 콘텐츠와 복합 콘텐츠 중 어느 것을 기반으로 하는지에 따라 다음과 같이 달라집니다.

  • 단순 콘텐츠: <extension> 요소의 base 특성에 지정된 기본 데이터 형식의 public 필드를 포함하는 새 클래스가 생성됩니다.

  • 복합 콘텐츠: <extension> 요소의 base 특성에 지정된 기본 데이터 형식의 클래스와 파생된 데이터 형식에 대한 클래스가 생성됩니다. 파생된 데이터 형식에 대한 클래스는 public class DerivedClass : BaseClass와 같은 클래스 선언을 사용하여 기본 데이터 형식의 클래스에서 상속됩니다.

Xsd.exe는 XML 스키마에서 클래스로 변환하고, 다시 새 XML 스키마 문서로 변환하는 라운드트립 변환 중에 두 종류의 확장을 유지합니다.

단순 콘텐츠 확장의 예제를 보려면 <simpleContent> 요소를 참조하십시오.

가능한 특성 바인딩 지원

base

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

단순 콘텐츠 확장의 경우 Xsd.exe 도구는 base 특성 값에서 공용 필드를 생성합니다. 복합 콘텐츠 확장의 경우 Xsd.exe 도구는 base 값에서 기본 클래스를 생성합니다. 앞에 나온 내용을 참조하십시오.

id

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

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

가능한 자식 요소: <all>, <annotation>, <anyAttribute>, <attribute>, <attributeGroup>, <choice>, <group>, <sequence>

참고 항목

참조

XmlSchemaComplexContentExtension
XmlSchemaSimpleContentExtension