XML - 기초
test1.xml
<?xml version="1.0" encoding="UTF-8"?>
<xml><!-- XML은 HTML과 달리 Tag라 하지 않고 Element라 한다.
현재 엘리먼트는 root라는 이름을 가진 엘리먼트이다.
물론 이름을 변경할 수 있다. ex1으로 변경해 보자.
그랬을 때 아래의 close엘리먼트 또한 똑같이 정의해야 한다.
그리고 반드시 기억해야 할 것은 XML문서에서 첫번째 오는
엘리먼트를 우린 루트엘리먼트라고 한다. 또 이런
루트엘리먼트는 오로지 1개만 허용한다. -->
<이름>홍길동</이름>
<addr test="seoul">서울</addr>
</xml>
ex2.dtd
<?xml version="1.0" encoding="UTF-8"?>
<!ELEMENT root (student)>
<!ELEMENT student (#PCDATA)>
ex2.xml
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE root SYSTEM "ex2.dtd">
<root>
<student>123</student>
</root>
ex3.dtd
<?xml version="1.0" encoding="UTF-8"?>
<!ELEMENT root (item,number)>
<!ELEMENT item (#PCDATA)>
<!ELEMENT number (#PCDATA)>
<!--
현재 DTD문서를 참조하는 XML문서에는 root라는 루트엘리먼트가
존재해야 하며, 그 내부에는 item과 number라는 하위 엘리먼트들이
순서적으로 존재해야 한다.
-->
ex3.xml
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE root SYSTEM 'ex3.dtd'>
<root>
<item>PC111</item>
<number>100</number>
</root>
ex4.dtd
<?xml version="1.0" encoding="UTF-8"?>
<!ELEMENT 이달의베스트셀러 (베스트셀러)*>
<!ELEMENT 베스트셀러 (제목,저자+,출판사,초판일)>
<!ELEMENT 제목 (#PCDATA)>
<!ELEMENT 저자 (#PCDATA)>
<!ELEMENT 출판사 (#PCDATA)>
<!ELEMENT 초판일 (#PCDATA)>
<!--
베스트셀러라는 Element에 ISBN이라는 속성을 부여한다.
이때 ID라는 것은 속성값들이 서로 중복되어서는 안된다는 뜻이며,
#REQUIRED는 필수적으로 입력을 해야 한다는 뜻이다.
-->
<!ATTLIST 베스트셀러 ISBN ID #REQUIRED 분류 (금융|IT|문학) "문학">
ex4.xml
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE 이달의베스트셀러 SYSTEM 'ex4.dtd'>
<이달의베스트셀러>
<베스트셀러 ISBN="A123">
<제목>자바5.0프로그래밍</제목>
<저자>오경주</저자>
<저자>염기호</저자>
<저자>성영한</저자>
<출판사>한빛</출판사>
<초판일>2006-1-7</초판일>
</베스트셀러>
<베스트셀러 ISBN="A1235" 분류="IT">
<제목>자바5.0프로그래밍</제목>
<저자>오경주</저자>
<저자>염기호</저자>
<저자>성영한</저자>
<출판사>한빛</출판사>
<초판일>2006-1-7</초판일>
</베스트셀러>
</이달의베스트셀러>