본문 바로가기

XML

DTD 보다 더 상세하게 XML을 정의하고 싶을 때 사용하는 XSD

<?xml version="1.0" encoding="UTF-8"?>

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

<xs:element name="sawons">

<xs:complexType>

<xs:sequence>

<xs:element name="sawon" minOccurs="1" maxOccurs="unbounded">

<xs:complexType>

<xs:sequence>

<xs:element name="sawon_no" type="xs:int" minOccurs="0" maxOccurs="3"/>

<xs:choice>

<xs:element name="sawon_name" type="xs:string"/>

<xs:element name="sawon_irum" type="xs:string"/>

</xs:choice>

<xs:element name="sawon_gen" type="xs:string"/>

<xs:element name="sawon_nai">

<xs:complexType>

<xs:simpleContent>

<xs:extension base="xs:int"> 

<xs:attribute name="unit" type="xs:string" use="optional"/>

</xs:extension>

</xs:simpleContent>

</xs:complexType>

</xs:element>

</xs:sequence>

</xs:complexType>

</xs:element>

</xs:sequence>

</xs:complexType>

</xs:element>

</xs:schema>

==================================================================================================================================================


<?xml version="1.0" encoding="UTF-8"?>

<sawons xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="test8.xsd">

  <sawon>

    <sawon_name>한국인</sawon_name>

    <sawon_gen>남</sawon_gen>

    <sawon_nai>20</sawon_nai>

  </sawon>

  <sawon>

  <sawon_no>10</sawon_no>

    <sawon_irum>미국인</sawon_irum>

    <sawon_gen>남</sawon_gen>

    <sawon_nai unit="살">20</sawon_nai>

  </sawon>

</sawons>



==================================================================================================================================================

==================================================================================================================================================


<?xml version="1.0" encoding="UTF-8"?>

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

<!-- type을 임의로 정의하기 -->

<xs:element name="지원자정보">

<xs:complexType>

<xs:sequence>

<xs:element name="개인정보" type="personType"/>

</xs:sequence>

</xs:complexType>

</xs:element>

<xs:complexType name="personType"> <!-- complexType : 자식을 여러개 가질때 -->

<xs:sequence>

<xs:element name="이름" type="xs:string"/>

<xs:element name="나이" type="xs:int"/>

<xs:element name="집전화" type="phonType"/>

<xs:element name="개인전화" type="phonType"/>

<xs:element name="부서" type="partType"/>

</xs:sequence>

</xs:complexType>

<xs:simpleType name="ageType"> <!-- xs:simpleType : 자식을 하나만 가질때 -->

<xs:restriction base="xs:integer">

<xs:minExclusive value="20"/>

<xs:maxExclusive value="50"/>

</xs:restriction>

</xs:simpleType>

<xs:simpleType name="phonType">

<xs:restriction base="xs:string">

<xs:pattern value="\d{2}-\d{3}-\d{4}"/>

<xs:pattern value="\d{3}-\d{3}-\d{4}"/>

<xs:pattern value="\d{3}-\d{4}-\d{4}"/>

</xs:restriction>

</xs:simpleType>

<xs:simpleType name="partType">

<xs:restriction base="xs:string">

<xs:enumeration value="총무부"/>

<xs:enumeration value="영업부"/>

<xs:enumeration value="전산부"/>

</xs:restriction>

</xs:simpleType>


</xs:schema>


==================================================================================================================================================

<?xml version="1.0" encoding="UTF-8"?>

<지원자정보 xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="test9.xsd">

  <개인정보>

    <이름>이름</이름>

    <나이>0</나이>

    <집전화>02-111-1111</집전화>

    <개인전화>010-111-1111</개인전화>

    <부서>총무부</부서>

  </개인정보>

</지원자정보>



'XML' 카테고리의 다른 글

xsl 문법을 이해하는 예제  (0) 2014.04.04
xsl 문법 예제  (0) 2014.04.04
xml과 xsl을 이해하는 예제  (0) 2014.04.04
xml xmlns : xml namespace  (0) 2014.04.04
DTD에서 속성(ATTLIST) 정의하기, xml dtd #FIXED 적용  (0) 2014.04.04