XML 문법을 따름
정해진 태그만 사용가능
root element ==> <schema>
형식 예
<?xml version="1.0" encoding="UTF-8"?> <xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" elementFormDefault="qualified" attributeFormDefault="unqualified"> <xs:element name="ENTER_NAME_OF_ROOT_ELEMENT_HERE"> <xs:annotation> <xs:documentation>Comment describing your root element</xs:documentation> </xs:annotation> </xs:element> </xs:schema>
예제:
<?xml version="1.0" encoding="UTF-8"?> <xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" elementFormDefault="qualified" attributeFormDefault="unqualified"> <!-- 자식요소가 있는 경우 --> <xs:element name="친구들"> <xs:complexType> <xs:sequence> <xs:element ref="친구" minOccurs="1" maxOccurs="2" /> </xs:sequence> </xs:complexType> </xs:element> <!-- 자식요소와 속성이 있는 경우 --> <xs:element name="친구"> <!-- 속성이나 하위요소가 있는 경우 omplexType 사용 --> <xs:complexType> <xs:sequence> <xs:element ref="이름"/> <xs:element ref="나이"/> <xs:element ref="주소"/> </xs:sequence> <xs:attribute name="순번" type="xs:int" use="required" /> </xs:complexType> </xs:element> <!-- 자식요소가 없는 경우 --> <xs:element name="이름" type="xs:string"/> <xs:element name="나이" type="xs:int"/> <xs:element name="주소" type="xs:string"/> </xs:schema>
위의 XSD(test.xsd)에 맞는(valid한) xml
<?xml version="1.0" encoding="UTF-8"?> <친구들 xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="test.xsd"> <친구 순번="1"> <이름>ddd</이름> <나이>11</나이> <주소>fff</주소> </친구> <친구 순번="3"> <이름>kkk</이름> <나이>19</나이> <주소>KKJkjh</주소> </친구> </친구들>