본문 바로가기
프로그래밍

Vaild XML 문서란 - DTD에 대한 필요성

by 건우아빠유리남편 2009. 1. 9.
반응형

XML문서를 "기준에 따른 표준화가 되게 하기 위한 문서의 저장 형태"라고 본다면 XML은 표준화에 적합한지 유효성 검증이 필요

 

Valid 문서 => 유효성 검증이 된 XML 문서  -> Well-Formed XML 문서에 좀 더 제한을 주고 엄격성을 더하여 표준화한 문서 (Well-Formed XML 문서의 부분집합)

 

Valid한 문서인지를 판단하는 표준 정의 -> DTD를 이용

DTD : Document Type Definitions

XML 문서가 어떻게 구조화되어 있어야 하며 어떤 요소들이 포함되어야 하며, 어떤 종류의 데이터가 포함시키는가, 기본값은 무엇인가 등등의 규칙을 정의

 

DTD를 이용하면 문서의 타입을 정의하여 정해진 규칙으로 유효성 검사를 수행하기 때문에 문서의 표준화 가능.

 

-정리-

*Valid 문서가 되기 위한 조건

  • Well-Formed XML 문서이여야 한다.
  • DTD에 따라 XML 문서가 만들어져야 한다. 즉, DTD에 정의된 문서의 구조와 쓸 수 있는 type들(element type, attribute type), 그리고 entity에 따라 문서가 만들어져야 한다.

 

 

------------------------------------------------------------------------------------------

* DTD선언의 예

 

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

 

<!DOCTYPE Goods[

        <!ELEMENT Goods (Good*)>

                <!ELEMENT Good(Product, Name, Price, Discount, Code)>

                        <!ELEMENT Product (#PCDATA)>

                        <!ELEMENT Name (#PCDATA)>

                        <!ELEMENT Price (#PCDATA)>

                        <!ELEMENT Discount (#PCDATA)>

                        <!ELEMENT Code (#PCDATA)>                

]>

 

...

 

Valid XML 유효성 검사는 단순히 웹브라우저는 판별 불가능 하다. 유효하지 않은 경우에도 똑같은 출력이 되기 때문이다. 때문에 유효성 검사는 [유효성 검사 파서(validating parser)]를 이용한다.

 

 

 

반응형

'프로그래밍' 카테고리의 다른 글

[C#]UDP 기본 에코서버클라이언트  (0) 2009.01.14
DTD 규칙  (0) 2009.01.09
XML의 네임스페이스  (0) 2008.12.31
Well-Formed XML문서 만들기  (0) 2008.12.31
xml 예제  (0) 2008.12.31

댓글