DTD(Document Type Definition)

DTD(Document Type Definition)는 XML 문서의 구조를 정의


DTD의 구성요소 선언

텍스트선언

  • 문서의 첫 줄에 기술되며, XML 문법의 버전과 인코딩 방식을 지정한다.
    • <?xml version='1.0' encoding='euc-kr'?>

요소 선언

  • 문서의 기본이 되는 논리적 단위
    • <!ELEMENT [요소명] [내용]>
  • 요소 내용의 유형
    • #PCDATA: 문자 데이터만을 내용으로 갖는 요소
    • 자식 요소_리스트: 자식 요소만 갖는 요소
    • EMPTY: 아무것도 갖지 않는 빈 요소
    • 혼합형: 문자데이터와 자식 요소를 혼합해서 가지는 요소
    • ANY: 문자데이터나 모든 요소를 제한 없이 가짐
  • 순서 규칙: DTD에 정해진 순서대로 XML을 작성해야 한다.

DTD 문법

조건부 섹션 선언과 사용

  • DTD 문서 내부에서 어떤 조건에 따라 DTD의 내용을 포함하거나 포함하지 않는 섹션
  • INCLUDE(유효성검사 대상)와 IGNORE(유효성검사 제외) 키워드 사용 가능
    • <![키워드 [조건적인 DTD 선언]]>

XML 문서에 DTD를 적용해서 사용하는 방법

  • 내부 DTD: XML 문서에 DTD를 포함
  • 외부 DTD: DTD 문서를 별도로 작성하여 적용
  • 내, 외부 DTD 혼합 적용 가능
  • 내, 외부 DTD 선언 시 내부 DTD가 우선
  • 외부 DTD 선언 시 PUBLIC 지시어 사용

DTD 요약

  • DTD(Document Type Definition) 는 XML 문서 구조를 명시적으로 선언하기 위한 문서
  • 내부 DTD는 다른 XML 문서에 적용하기에는 좋지 않다.
  • 외부 DTD는 여러 XML 문서에 공통적으로 적용하기에 적합하다.
  • DTD는 <?xml .... ?>로 XML을 선언하고 <!DOCTYPE 다음에는 XML 문서의 최상위 요소 이름을 선언한다.
  • DTD 정의는 한 문서에 한 번만 정의할 수 있다.
  • DTD 구성요소로는 주석, 요소(ELEMENT), 속성(ATTLIST), 개체(ENTITY), 노테이션(NOTATION), 조건부 섹션, 처리명령어가 있다.

댓글

이 블로그의 인기 게시물

이클립스 오류 - 프로젝트 폴더가 열리지 않는 경우

Subversion (SVN) 설치 및 다중 저장소 설정 가이드

MySQL Root 비밀번호 재설정하기: 완벽한 가이드