DTD

개념
DTD(Data Type Definition)의 정의 - 문서의 구조와 컨텐츠를 정의하여 XML문서의 구조를 명시적으로 선언하는 파일

I. XML데이터에 대한 구조를 정하는 규칙, DTD의 개요

가. DTD(Data Type Definition)의 정의

- 문서의 구조와 컨텐츠를 정의하여 XML문서의 구조를 명시적으로 선언하는 파일

 

나. DTD의 선언 종류

정의

선언

엘리먼트 타입선언

-element type declaration

<!ELEMENT element name~>

어트리뷰트 리스트 선언

-attribute type declaration

<!ATTLIST element name~>

엔티티 선언

-entity declaration

<!ENTITY ~>

표기선언

-notation declaration

-비xml 데이터처리: 이미지 등

<!NOTATION name~>

 

 

II. DTD작성 절차

가. 1단계: DTD선언 – DTD를 선언하는 과정 기술

<! DOCTYPE Root_Element[

   <! ELEMENT Root_Element(..)>

   <...>

   <...>

]>

<! DOCTYPE books[

   <! ELEMENT book(title, author>)>

   <! ELEMENT title(#PCDATA>)>

]>

 

나. 2단계: 엘리먼트 타입 선언

<!ELEMENT element_name(con tent_model)>

<! ELEMENT books (book*)>

[참고] * 기호는 엘리먼트가 생략되거나 여러 번 나타날 수 있는 경우

 

다. 3단계: XML과 DTD의 결합

- DTD를 선언하고 정의하는 부분을 XML 내부 작성 혹은 외부 파일로 저장하여 처리하는 지를 결정

- 내부선언: XML문서 안에 DTD를 정의

- 외부선언: XML문서에는 DTD부분(Document type declaration)적용

예) <!DOCTYPE books SYSTEM “books.dtd”>

 

 

III. DTD한계 및 XML Schema의 등장배경

가. 문서당 오직 하나의 DTD와 결합 (단, 외부 매개변수 엔티티를 사용해서 피할 수 있음)

나. DTD확장 불가/ 객체 지향 형식의 객체 상속을 하지 못함

- 네임스페이스를 지원하지 못하므로, DOM을 지원 못함                     

댓글