다음을 통해 공유


<xsd:complexType> 요소

특성 집합과 요소 내용을 결정하는 복합 형식을 정의합니다.

<complexType
  abstract = Boolean : false 
  block = (#all | List of (extension | restriction))
  final = (#all | List of (extension | restriction))
  id = ID 
  mixed = Boolean : false
  name = NCName 
  {any attributes with non-schema Namespace...}>
Content: (annotation?, (simpleContent | complexContent | ((group | all | 
choice | sequence)?, ((attribute | attributeGroup)*, anyAttribute?))))
</complexType>

특성

  • abstract
    인스턴스 문서에서 복합 형식을 사용할 수 있는지 여부를 나타내는 표시기입니다. 이 값이 true이면 해당 요소는 이 복합 형식을 직접 사용할 수 없고 이 복합 형식에서 파생된 복합 형식을 사용해야 합니다. 기본값은 false입니다.

    선택적 항목입니다.

  • block
    파생 형식입니다. block 특성은 지정된 파생 형식을 가진 복합 형식이 현재 복합 형식 대신에 사용될 수 없도록 합니다. 이 값에는 #all이나 extension 또는 restriction의 하위 집합 목록이 포함될 수 있습니다. block 특성은 유효성 검사 중 인스턴스 문서가 schema-instance:type 특성을 사용하여 요소의 표준 형식을 재정의할 때만 사용할 수 있습니다. block 특성을 사용하면 요소에 지정된 원본 형식을 바꿀 때 확장 및/또는 제한으로 정의된 복합 형식을 선택할 수 없습니다.

    extension

    확장에 의해 파생된 복합 형식을 이 복합 형식 대신 사용할 수 없도록 합니다.

    restriction

    제한에 의해 파생된 복합 형식을 이 복합 형식 대신 사용할 수 없도록 합니다.

    #all

    모든 파생된 복합 형식을 이 복합 형식 대신 사용할 수 없도록 합니다.

    선택적 항목입니다.

  • final
    파생 형식입니다. final 특성은 이 complexType 요소의 지정된 파생 형식을 사용할 수 없도록 합니다. 이 값에는 #all이나 extension 또는 restriction의 하위 집합 목록이 포함될 수 있습니다.

    extension

    확장에 의한 파생을 막습니다.

    restriction

    제한에 의한 파생을 막습니다.

    #all

    확장 및 제한에 의한 파생을 모두 막습니다.

    선택적 항목입니다.

  • id
    이 요소의 ID입니다. id 값은 ID 형식이어야 하며 이 요소를 포함하는 문서 내에서 고유한 값이어야 합니다.

    선택적 항목입니다.

  • mixed
    문자 데이터를 이 복합 형식의 자식 요소 사이에 표시할 수 있는지 여부를 나타내는 표시기입니다. 기본값은 false입니다.

    simpleContent 요소가 자식 요소이면 mixed 특성은 사용할 수 없습니다.

    complexContent 요소가 자식 요소이면 complexContent 요소에 대한 mixed 특성으로 이 mixed 특성을 재정의할 수 있습니다.

    선택적 항목입니다.

  • name
    형식의 이름입니다. 이 이름은 XML 네임스페이스 사양에 정의된 대로 NCName(No-Colon-Name)이어야 합니다.

    포함하는 요소가 schema 요소이면 필요한 요소이고 그렇지 않으면 사용할 수 없습니다.

    이름을 지정할 경우 모든 simpleTypecomplexType 요소에서 고유해야 합니다.

    선택적 항목입니다.

요소 정보

발생 횟수

스키마 내에서는 제한이 없으며 요소 내에서는 한 번 발생합니다.

부모 요소

element, redefine, schema

내용

annotation, simpleContent, complexContent, group, all, choice, sequence, attribute, attributeGroup, anyAttribute

주의

복합 형식은 기본적으로 특성 및 요소를 포함할 수 있는 요소에 대한 형식 정의입니다. 요소의 구조, 내용 및 특성을 정의하는 complexType 요소를 참조하는 type 특성으로 해당 요소를 선언할 수 있습니다. 요소는 해당 type 특성에 있는 simpleType을 참조할 수도 있습니다.

복합 형식에는 다음 중 사용할 수 있는 내용 형식을 지정하는 단 하나의 요소만 포함될 수 있습니다.

요소 설명

simpleContent

복합 형식에 문자 데이터나 simpleType이 내용으로 포함되며 요소는 포함될 수 없고 특성만 포함될 수 있습니다.

complexContent

복합 형식에 요소만 포함되거나 요소 내용이 포함되지 않습니다(비어 있음).

group

복합 형식에 참조된 그룹에서 정의된 요소가 포함됩니다.

sequence

복합 형식에 지정된 시퀀스에서 정의된 요소가 포함됩니다.

choice

복합 형식에서 choice 요소에 지정된 요소 중 하나를 사용할 수 있습니다.

all

복합 형식에서 모든 요소에 지정된 요소 중 하나 또는 모두를 한 번 표시할 수 있습니다.

group, sequence, choice 또는 all을 자식 요소로 지정하면 다음 요소를 사용하여 complexType의 특성을 선택적으로 선언할 수 있습니다.

요소 설명

attribute

복합 형식에 지정한 특성이 포함됩니다.

attributeGroup

복합 형식에 참조되는 attributeGroup에서 정의된 특성이 포함됩니다.

anyAttribute

복합 형식에 지정한 네임스페이스에 있는 모든 특성이 포함될 수 있습니다.

attribute 또는 attributeGroup 요소를 원하는 수만큼 사용할 수 있으며 anyAttribute의 인스턴스 하나를 사용할 수도 있습니다.

group, sequence, choice 또는 all을 지정하면 다음 순서대로 요소가 나타나야 합니다.

  1. group | sequence | choice | all

  2. attribute | attributeGroup

  3. anyAttribute

예제

다음 예제에서는 복합 형식을 사용하는 특성 및 요소 선언을 가진 단순 형식(decimal)이 포함된 복합 형식을 보여 줍니다.

<xs:complexType name='internationalShoeSize'>
 <xs:simpleContent>
  <xs:extension base='xs:decimal'>
   <xs:attribute name='sizing' type='xs:string' />
  </xs:extension>
 </xs:simpleContent>
</xs:complexType>
<xs:element name='myShoeSize' type='internationalShoeSize'/>

다음 예제에서는 XML 문서 내에 있는 myShoeSize 요소의 인스턴스를 보여 줍니다.

<myShoeSize sizing='UK'>10.5</myShoeSize>

다음 예제에서는 요소 내에서 익명으로 정의된 complexTypemyShoeSize 요소를 보여 줍니다. name 특성이 없음에 주의하십시오.

<xs:element name='myShoeSize'>
 <xs:complexType>
  <xs:simpleContent>
   <xs:extension base='xs:decimal'>
     <xs:attribute name='sizing' type='xs:string' />
   </xs:extension>
  </xs:simpleContent>
 </xs:complexType>
</xs:element>

참고 항목

참조

XML 스키마(XSD) 참조
XML 스키마 요소