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의 하위 집합을 포함할 수 있습니다:
- extension - 확장을 통해 파생된 복잡한 타입이 이 복잡한 타입을 대체하는 것을 방지합니다.
- restriction - 제한을 통해 파생된 복잡한 타입이 이 복잡한 타입을 대체하는 것을 방지합니다.
- substitution - 요소의 대체를 방지합니다.
- #all - 모든 파생된 복잡한 타입이 이 복잡한 타입을 대체하는 것을 방지합니다.
finalDefault
선택 사항입니다. 이 아키텍처의 목표 이름 공간에서 element, simpleType 및 complexType 요소의 final 속성의 기본 값을 정의합니다. final 속성은 element, simpleType 또는 complexType 요소의 지정된 파생 유형을 방지합니다. element 및 complexType 요소에 대해, 이 값은 #all 또는 extension 또는 restriction의 부분집합을 포함하는 목록이 될 수 있습니다. simpleType 요소에 대해, 이 값은 또한 list 및 union을 포함할 수 있습니다:
- extension - 기본적으로, 이 schema에서의 요소는 확장을 통해 파생되지 않습니다. element 및 complexType 요소에만 적용됩니다.
- restriction - 제한을 통해 파생되지 않도록 합니다.
- list - 목록을 통해 파생되지 않도록 합니다. simpleType 요소에만 적용됩니다.
- union - 합집합을 통해 파생되지 않도록 합니다. simpleType 요소에만 적용됩니다.
- #all - 기본적으로, 이 schema에서의 요소는 어떤 방법으로도 파생되지 않습니다.
targetNamespace
이 schema의 이름 공간의 URI 참조입니다. 또한, 이 이름 공간의 접두사를 할당할 수 있습니다. 접두사가 할당되지 않았다면, 이 이름 공간의 schema 구성 요소는 제한되지 않은 참조와 함께 사용될 수 있습니다.
version
선택 사항입니다. schema의 버전을 정의합니다.
xmlns
이 schema에서 사용하는 하나 이상의 이름 공간 URI 참조를 정의합니다. 전refix가 할당되지 않았다면, 이 이름 공간의 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>