특성 집합과 요소 내용을 결정하는 복합 형식을 정의합니다.
<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 요소이면 필요한 요소이고 그렇지 않으면 사용할 수 없습니다.
이름을 지정할 경우 모든 simpleType 및 complexType 요소에서 고유해야 합니다.
선택적 요소입니다.
요소 정보
발생 횟수 |
스키마 내에서는 제한이 없으며 요소 내에서는 한 번 발생합니다. |
부모 요소 |
|
내용 |
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을 지정하면 다음 순서대로 요소가 나타나야 합니다.
group | sequence | choice | all
attribute | attributeGroup
anyAttribute
예제
다음 예제에서는 복합 형식을 사용하는 특성 및 요소 선언을 가진 단순 형식(decimal)이 포함된 복합 형식을 보여 줍니다.
다음 예제에서는 XML 문서 내에 있는 myShoeSize 요소의 인스턴스를 보여 줍니다.
다음 예제에서는 요소 내에서 익명으로 정의된 complexType의 myShoeSize 요소를 보여 줍니다. name 특성이 없음에 주의하십시오.