스키마 정의를 포함합니다.
<schema
attributeFormDefault = (qualified | unqualified): unqualified
blockDefault = (#all | List of (extension | restriction | substitution) : ''
elementFormDefault = (qualified | unqualified): unqualified
finalDefault = (#all | List of (extension | restriction | list |
union): ''
id = ID
targetNamespace = anyURI
version = token
xml:lang = language
{any attributes with non-schema Namespace}...>
Content: ((include | import | redefine | annotation)*, (((simpleType |
complexType | group | attributeGroup) | element | attribute | notation),
annotation*)*)
</schema>
특성
attributeFormDefault
이 스키마의 대상 네임스페이스에 선언된 특성의 형식입니다. 값은 qualified 또는 unqualified 문자열 중 하나여야 합니다. 기본값은 unqualified입니다.값이 unqualified이면 대상 네임스페이스에 있는 특성을 네임스페이스 접두사로 정규화할 필요가 없습니다.
값이 qualified이면 대상 네임스페이스에 있는 특성을 네임스페이스 접두사로 정류화해야 합니다.
이 값은 대상 네임스페이스에서 선언된 모든 특성에 대한 전역 기본값입니다. 각 특성은 form 특성을 사용하여 해당 로컬 범위에 대한 이 설정을 재정의할 수 있습니다.
선택적 항목입니다.
blockDefault
파생 형식입니다. blockDefault 특성은 이 스키마의 대상 네임스페이스에 있는 element 및 complexType 요소에 대한 block 특성의 기본값을 설정합니다. block 특성은 지정된 파생 형식을 가진 복합 형식 또는 요소가 상속된 복합 형식 또는 요소 대신에 사용될 수 없도록 합니다. 이 값에는 #all이나 extension, restriction 또는 substitution의 하위 집합 목록이 포함될 수 있습니다.extension
확장에 의해 파생된 복합 형식을 이 복합 형식 대신 사용할 수 없도록 합니다.
restriction
제한에 의해 파생된 복합 형식을 이 복합 형식 대신 사용할 수 없도록 합니다.
substitution
요소를 대체할 수 없도록 합니다. 요소의 substitutionGroup 특성에 다른 요소의 이름을 지정함으로써 다른 요소의 대체를 직접 선언할 수 있습니다.
#all
모든 파생된 복합 형식을 이 복합 형식 대신 사용할 수 없도록 합니다.
선택적 항목입니다.
elementFormDefault
이 스키마의 대상 네임스페이스에 선언된 요소의 형식입니다. 값은 qualified 또는 unqualified 문자열 중 하나여야 합니다. 기본값은 unqualified입니다.값이 unqualified이면 대상 네임스페이스에 있는 요소를 네임스페이스 접두사로 정규화할 필요가 없습니다.
값이 qualified이면 대상 네임스페이스에 있는 요소를 네임스페이스 접두사로 정규화해야 합니다.
이 값은 대상 네임스페이스에서 선언된 모든 요소에 대한 전역 기본값입니다. 각 요소는 form 특성을 사용하여 해당 로컬 범위에 대한 이 설정을 재정의할 수 있습니다.
선택적 항목입니다.
finalDefault
파생 형식입니다. finalDefault 특성은 이 스키마의 대상 네임스페이스에 있는 element, simpleType 및 complexType 요소에 대한 final 특성의 기본값을 설정합니다. final 특성은 element, simpleType 또는 complexType 요소의 지정된 파생 형식을 사용할 수 없도록 합니다. element 및 complexType 요소의 경우에는 이 값에 #all이나 extension 또는 restriction의 하위 집합 목록이 포함될 수 있습니다. simpleType 요소의 경우에는 이 값에 list 및 union이 추가로 포함될 수 있습니다.extension
기본적으로 이 스키마에 포함된 요소는 확장에 의해 파생될 수 없습니다. element 및 complexType 요소에만 적용됩니다.
restriction
제한에 의한 파생을 막습니다.
list
목록에 의한 파생을 막습니다. simpleType 요소에만 적용됩니다.
union
통합에 의한 파생을 막습니다. simpleType 요소에만 적용됩니다.
#all
#all입니다. 기본적으로 이 스키마의 요소는 어떤 메서드에 의해서도 파생될 수 없습니다.
선택적 항목입니다.
id
이 요소의 ID입니다. id 값은 ID 형식이어야 하며 이 요소를 포함하는 문서 내에서 고유한 값이어야 합니다.선택적 항목입니다.
targetNamespace
이 스키마의 네임스페이스 URI 참조입니다. 네임스페이스 접두사도 지정할 수 있습니다. 접두사를 지정하지 않으면 네임스페이스의 스키마 구성 요소를 정규화되지 않은 참조와 함께 사용할 수 있습니다.선택적 항목입니다.
version
스키마의 버전입니다.선택적 항목입니다.
xml:lang
내용에서 사용되는 언어를 나타내는 표시기입니다.선택적 항목입니다.
요소 정보
발생 횟수 |
한 번 |
부모 요소 |
부모 요소가 없습니다. |
내용 |
include, import, annotation, redefine attribute, attributeGroup, element, group, notation, simpleType, complexType |
기타 |
include, import 및 redefine 요소는 모든 위치에 나타날 수 있는 annotation 요소를 제외한 다른 요소 앞에 나와야 합니다. |
주의
schema 요소는 스키마 정의에서 최상위 요소인 문서 요소입니다.
xmlns 특성을 사용하여 지정된 네임스페이스에는 schema, element 등의 스키마 정의 요소 및 특성에 대한 네임스페이스가 포함되어야 합니다. 모든 접두사를 사용할 수 있지만 모든 XML 스키마 요소에 접두사를 사용할 필요가 없도록 schema 네임스페이스를 기본 네임스페이스로 만들면 편리합니다.
targetNamespace는 include 요소를 사용하여 포함된 모든 스키마뿐 아니라 이 스키마에 있는 모든 스키마 구성 요소의 네임스페이스입니다. 포함된 스키마는 포함하는 스키마와 동일한 대상 네임스페이스를 갖거나 대상 네임스페이스가 전혀 없어야 합니다. 다음 예제에서 http://www.w3.org/2001/XMLSchema 네임스페이스의 스키마 구성 요소(요소 이름, 형식)는 정규화되지 않고 **http://tempuri.org/myschema**(mydecimal)의 구성 요소는 msc 접두사로 정규화됩니다.
<xs:schema
xmlns:xs="http://www.w3.org/2001/XMLSchema"
xmlns:msc="http://tempuri.org/myschema"
targetNamespace="http://tempuri.org/myschema">
<xs:element name="Price" type="msc:mydecimal"/>
</xs:schema>
XML 스키마의 경우 네임스페이스는 다음과 같습니다.
http://www.w3.org/2001/XMLSchema
또한 schema 요소에는 이 요소가 사용하는 기타 모든 스키마에 대한 네임스페이스 선언도 포함되어야 합니다.
예제
다음 스키마는 XML 스키마 네임스페이스를 기본 네임스페이스로 사용하여 스키마의 대상 네임스페이스를 http://mynamespace/myschema
로 정의합니다.
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema"
targetNamespace="http://mynamespace/myschema">
<!--Put schema content here -->
</xs:schema>
관련 자료
자세한 내용은 www.w3.org/TR/2001/REC-xmlschema-1-20010502/\#element-all에 있는 Structures Recommendation을 참조하십시오.