[XML응용]연습문제 풀어보기

류명운

·

2015. 11. 9. 10:48

반응형

Q1. 다음은 서점의 도서목록을 관리하기 위한 DTD 정보이다. 아래의 각 질문에 대한 XML 스키마 문서를 구성하시오.

 

(1) DTD와 동일한 규칙을 갖는 XML Schema를 정의하시오.


<?xml version = "1.0" encoding="euc-kr"?>

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

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

xmlns="http://www.mybook.com">

<xsd:element name="BookStore">

<xsd:complexType>

<xsd:sequence>

<xsd:element ref="Book" maxOccurs="unbounded"/>

</xsd:sequence>

</xsd:complexType>

</xsd:element>

<xsd:element name="Book">

<xsd:complexType>

<xsd:sequence>

<xsd:element ref="Title"/>

<xsd:element ref="Author"/>

<xsd:element ref="Publisher"/>

<xsd:element ref="Date"/>

<xsd:element ref="Price"/>

</xsd:sequence>

</xsd:complexType>

</xsd:element>

<xsd:element name="Title" type="xsd:string"/>

<xsd:element name="Author" type="xsd:string"/>

<xsd:element name="Publisher" type="xsd:string"/>

<xsd:element name="Date" type="xsd:string"/>

<xsd:element name="Price" type="xsd:string"/>

</xsd:schema>



(2) 위의 DTD를 다음과 같은 규칙으로 약간 수정하도록 하자. 이와 같이 DTD의 변결된 사항에 대하녀 XML 스키마를 다시 정의하시오.


<?xml version = "1.0" encoding="euc-kr"?>

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

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

xmlns="http://www.mybook.com">

<xsd:element name="BookStore">

<xsd:complexType>

<xsd:sequence>

<xsd:element ref="Book" maxOccurs="unbounded"/>

</xsd:sequence>

</xsd:complexType>

</xsd:element>

<xsd:element name="Book">

<xsd:complexType>

<xsd:sequence>

<xsd:element ref="Title"/>

<xsd:element ref="Author"/>

<xsd:element ref="Publisher"/>

<xsd:element ref="Date"/>

<xsd:element ref="Price"/>

</xsd:sequence>

<xsd:attribute name="id" type="xsd:ID"/>

<xsd:attribute name="currency" type="xsd:string" default="computer"/>

</xsd:complexType>

</xsd:element>

<xsd:element name="Title" type="xsd:string"/>

<xsd:element name="Author" type="xsd:string"/>

<xsd:element name="Publisher" type="xsd:string"/>

<xsd:element name="Date" type="xsd:date/>

<xsd:element name="Price" type="xsd:unsignedInt"/>

</xsd:schema>



Q3. 다음 simple 타입 선언이 정의하고 있는 내용의 의미는 무엇인지 설명하시오.


<xsd:simpleType name="student_score">

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

<xsd:minInclusive value="1" />

<xsd:maxInclusive value="100" />

</xsd:restriction>

</xsd:simpleType>

 

앨리멘트나 속성에 대한 사용자 정의 타입을 simpleType 선언문을 사용하여 정의하였다. 또한 덧붙이자면 student_score 라는 이름은 갖는 simple 타입 선언이다.

simple typerestriction이라는 속성을 사용하여 디폴트 데이터타입에 제약사항을 추가할 수 있다. 디폴트 데이터타입은 integer를 사용하지만 허용 값의 범위는 1~100까지로 제한하였다.


반응형