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>