XML Schema schema 요소
정의와 사용법
schema 요소는 schema의 기본 요소를 정의합니다.
요소 정보
출현 횟수 | 한 번 |
부모 요소 | 부모 요소 없음 |
내용 | include, import, annotation, redefine, attribute, attributeGroup, element, group, notation, simpleType, complexType |
문법
<schema id=ID attributeFormDefault=qualified|unqualified elementFormDefault=qualified|unqualified blockDefault=(#all|list of (extension|restriction|substitution)) finalDefault=(#all|list of (extension|restriction|list|union)) targetNamespace=anyURI version=token xmlns=anyURI 다른 속성 > ((include|import|redefine|annotation)*,(((simpleType|complexType| group|attributeGroup)|element|attribute|notation),annotation*)*) </schema>
속성
id
선택 사항입니다. 이 요소의 독특한 ID를 정의합니다.
attributeFormDefault
선택 사항입니다. 이 schema의 목표 이름 공간에서 선언된 속성의 형식을 정의합니다. 이 값은 다음 문자열 중 하나여야 합니다: "qualified" 또는 "unqualified". 기본 값은 "unqualified"입니다.
- "unqualified"는 목표 이름 공간의 속성이 이름 공간 접두사를 통해 제한되지 않아도 되는 것을 의미합니다.
- "qualified"는 목표 이름 공간의 속성이 이름 공간 접두사를 통해 제한되어야 한다는 것을 의미합니다.
elementFormDefault
선택 사항입니다. 이 schema의 목표 이름 공간에서 선언된 요소의 형식을 정의합니다. 이 값은 다음 문자열 중 하나여야 합니다: "qualified" 또는 "unqualified". 기본 값은 "unqualified"입니다.
- "unqualified"는 목표 이름 공간의 요소가 이름 공간 접두사를 통해 제한되지 않아도 되는 것을 의미합니다.
- "qualified"는 목표 이름 공간의 요소가 이름 공간 접두사를 통해 제한되어야 한다는 것을 의미합니다.
blockDefault
선택 사항입니다. 목표 이름 공간에서 element 및 complexType 요소에 대한 block 속성의 기본 값을 정의합니다. block 속성은 지정된 계승 유형을 가진 복잡 유형(또는 요소)이 계승 복잡 유형(또는 요소)을 대체하는 것을 방지합니다. 이 값은 #all 또는 확장, 제한, 대체의 하위 집합인 목록을 포함할 수 있습니다.:
- extension - 확장을 통해 계승 복잡 유형이 이 복잡 유형을 대체하는 것을 방지합니다.
- restriction - 제한을 통해 계승 복잡 유형이 이 복잡 유형을 대체하는 것을 방지합니다.
- substitution - 요소의 대체를 방지합니다.
- #all - 모든 계승 복잡 유형이 이 복잡 유형을 대체하는 것을 방지합니다.
finalDefault
선택 사항입니다. 목표 이름 공간에서 element, simpleType, complexType 요소의 final 속성의 기본 값을 정의합니다. final 속성은 element, simpleType, complexType 요소의 지정된 계승 유형을 방지합니다. element 및 complexType 요소에 대해서는 #all 또는 확장 또는 제한의 하위 집합인 목록을 포함할 수 있습니다. simpleType 요소에 대해서는 list와 union을 포함할 수 있습니다.:
- extension - 기본적으로, 이 schema의 요소는 확장을 통해 파생될 수 없습니다. element 및 complexType 요소에만 적용됩니다.
- restriction - 제한을 통해 파생되지 않도록 방지합니다.
- list - 목록을 통해 파생되지 않도록 방지합니다. simpleType 요소에만 적용됩니다.
- union - 연합을 통해 파생되지 않도록 방지합니다. simpleType 요소에만 적용됩니다.
- #all - 기본적으로, 이 schema의 요소는 어떤 방법으로든 파생될 수 없습니다.
targetNamespace
이 schema의 이름 공간의 URI 참조입니다. 또한, 이 이름 공간에 접두사를 할당할 수 있습니다. 접두사가 할당되지 않았다면, 이 이름 공간의 schema 구성 요소는 제한되지 않은 참조와 함께 사용될 수 있습니다.
version
선택 사항입니다. schema의 버전을 정의합니다.
xmlns
이 schema에서 사용하는 하나나 여러 개의 이름 공간 URI 참조를 정의합니다. 접두사가 할당되지 않았다면, 이 이름 공간의 schema 구성 요소는 제한되지 않은 참조와 함께 사용될 수 있습니다.
다른 속성
선택 사항입니다. non-schema 이름 공간을 가진 모든 다른 속성을 정의합니다.
인스턴스
예제 1
<?xml version="1.0"?> <xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema"> <xs:element name="values" type="xs:string"> </xs:schema>
예제 2
이 예제에서, http://www.w3.org/2001/XMLSchema 이름 공간에서 schema 구성 요소 (element name, type)는 제한되지 않으며, http://www.codew3c.com/codew3cschema (mystring)는 wsc 접두사를 통해 제한됩니다:
<?xml version="1.0"?> <schema xmlns="http://www.w3.org/2001/XMLSchema"}} xmlns:wsc="http://www.codew3c.com/codew3cschema"> <element name="fname" type="wsc:mystring"/> </schema>