2.5.3. 확장으로 유형 정의
대부분의 주요 코딩 언어와 마찬가지로 XML 스키마를 사용하면 다른 데이터 형식에서 일부 요소를 상속하는 데이터 형식을 만들 수 있습니다. 이를 확장 기능으로 유형을 정의라고 합니다. 예를 들어, planet 이라는 새 요소를 추가하여 예 2.4. “복잡한 유형” 에 정의된 personalInfo 구조를 확장하는anInfo라는 새 유형을 만들 수 있습니다.
확장으로 정의된 유형에는 네 가지 부분이 있습니다.
-
형식 이름은
complexType요소의name특성으로 정의됩니다. complexContent요소는 새 형식에 둘 이상의 요소를 갖도록 지정합니다.참고복잡한 형식에 새 특성만 추가하는 경우
간단한Content요소를 사용할 수 있습니다.-
기본 형식이라고 하는 새 형식을 파생 되는 형식은 확장 요소의 기본 특성에 지정됩니다.The type from which the new type is derived, called the
basetype, is specified in the base attribute of theextensionelement. -
새 유형의 요소 및 특성은 일반 복잡한 유형의 경우와 동일하게
확장요소에 정의됩니다.
예를 들어, 외계인Info 는 예 2.13. “확장 기능으로 정의된 유형” 과 같이 정의됩니다.
예 2.13. 확장 기능으로 정의된 유형
<complexType name="alienInfo">
<complexContent>
<extension base="xsd1:personalInfo">
<sequence>
<element name="planet" type="xsd:string"/>
</sequence>
</extension>
</complexContent>
</complexType>