XSD - <schema> 요소

<schema> 요소는 각 XML Schema의 뿌리 요소입니다。

<schema> 요소

<schema> 요소는 각 XML Schema의 뿌리 요소입니다:

<?xml version="1.0"?>
<xs:schema>
...
...
</xs:schema>

<schema> 요소는 속성을 포함할 수 있습니다. 하나의 schema 선언은 일반적으로 다음과 같이 보입니다:

<?xml version="1.0"?>
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema">
targetNamespace="http://www.codew3c.com"
xmlns="http://www.codew3c.com"
elementFormDefault="qualified">
...
...
</xs:schema>

코드 설명:

아래의 부분:

xmlns:xs="http://www.w3.org/2001/XMLSchema"

schema에서 사용하는 요소와 데이터 타입은 네임스페이스 "http://www.w3.org/2001/XMLSchema"에서 왔음을 보여줍니다. 또한, 네임스페이스 "http://www.w3.org/2001/XMLSchema"에서 왔음을 사용하는 요소와 데이터 타입은 prefix xs:를 사용해야 합니다.

이 부분:

targetNamespace="http://www.codew3c.com"

이 schema가 정의한 요소 (note, to, from, heading, body)는 네임스페이스 "http://www.codew3c.com"에서 왔음을 보여줍니다.

이 부분:

xmlns="http://www.codew3c.com"

기본 네임스페이스는 "http://www.codew3c.com" 이라고 지정되어 있습니다.

이 부분:

elementFormDefault="qualified"

XML 인스턴스 문서에서 사용하는 모든 요소가 이 schema에서宣言된 요소라면 그 요소는 네임스페이스로 제한되어야 합니다.

XML 문서에서 Schema를 참조하는 방법

이 XML 문서는 XML Schema에 대한 참조를 포함하고 있습니다:

<?xml version="1.0"?>
<note xmlns="http://www.codew3c.com"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://www.codew3c.com note.xsd">
<to>George</to>
<from>John</from>
<heading>추억</heading>
<body>미팅을 잊지 마세요!</body>
</note>

코드 설명:

아래의 부분:

xmlns="http://www.codew3c.com"

기본 네임스페이스를 지정하는 선언이 있습니다. 이 선언은 schema 검증기에게 이 XML 문서에서 사용하는 모든 요소가 "http://www.codew3c.com" 이 네임스페이스에宣言되었다고 알립니다.

한 번 사용 가능한 XML Schema 인스턴스 네임스페이스를 가지면:

xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"

이제 schemaLocation 속성을 사용할 수 있습니다. 이 속성은 두 가지 값이 있습니다. 첫 번째 값은 사용할 이름 공간입니다. 두 번째 값은 이름 공간을 사용하는 XML schema의 위치입니다:

xsi:schemaLocation="http://www.codew3c.com note.xsd"