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>