규칙 Data
<?xml version="1.0" encoding="utf-8" ?>\
<!-- Ex04_dtd.xml -->
<!DOCTYPE root[
<!--
자식 엘리먼트 리스트
"|" : choice 연산자(a|b|c -> 나열된 요소중 반드시 하나만)
-->
<!ELEMENT root (a|b|c)>
<!-- <!ELEMENT root (a|b|c)+> 이렇게 하면 나열된 요소중 하나씩 택하는 작업을 여러번 할수 있음-->
<!ELEMENT a (#PCDATA)>
<!ELEMENT b (#PCDATA)>
<!ELEMENT c (#PCDATA)>
]>
<!--위의 DTD 규칙을 만족하는 데이터 만들기-->
<root>
<b>data</b>
</root>
생략, 중복, 출현횟수
<?xml version="1.0" encoding="utf-8" ?>
<!--Ex05_dtd.xml-->
<!--
자식 엘리먼트의 출현횟수
1. X(아무것도 안쓰는 것) : 생략X, 중복X(1~1)
2. ? : 생략O, 중복X(0~1)
3. + : 생략X, 중복O(1~무한대)
4. * : 생략O, 중복O(0~무한대)
-->
<!DOCTYPE 주소록 [
<!ELEMENT 주소록 (이름, 연락처+, 나이?, 주소*)>
<!ELEMENT 이름 (#PCDATA)>
<!ELEMENT 연락처 (#PCDATA)>
<!ELEMENT 나이 (#PCDATA)>
<!ELEMENT 주소 (#PCDATA)>
]>
<주소록>
<이름>홍길동</이름>
<연락처>010-222-3333</연락처>
<연락처>02-333-3333</연락처>
<연락처>011-2222-2222</연락처>
<나이>20</나이>
<주소>서울시</주소>
<주소>인천시</주소>
<주소>부산시</주소>
</주소록>
-----------------------------------------------
<?xml version="1.0" encoding="utf-8" ?>
<!DOCTYPE root [
<!ELEMENT root (a,b,c,d)>
<!ELEMENT a (data)>
<!ELEMENT b (data)>
<!ELEMENT data (#PCDATA)>
<!-- 여러 엘리먼트의 자식으로 사용 되는 엘리먼트는 단 1회만 선언 -->
<!-- 동일한 자식엘리먼트를 여러개 갖는것도 가능-->
<!ELEMENT c (data, data, data)> <!--최소 출현횟수 3, 최대 출현횟수 3-->
<!--<!ELEMENT c (data+)> 위와는 다름-->
<!--d는 자식으로 data 엘리먼트 갖는다. data의 출현횟수가 최소 1~ 최대 3이 되도록-->
<!ELEMENT d (data,data?,data?)>
]>
<root>
<a>
<data>데이터</data>
</a>
<b>
<data>데이터</data>
</b>
<c>
<data>data</data>
<data>data</data>
<data>data</data>
</c>
<d>
<data>asdf</data>
</d>
</root>