전체 페이지뷰

2017년 3월 22일 수요일

XML - Validation

XML문서의 유효성을 검사하는 과정입니다. XML문서의 element, attribute, DTD가 내용과 일치하고, 문서가 제약 조건을 잘 지켜서 작성되었다면 유효하다고 볼수 있습니다.
Validation은 XML 파서에 의해 두가지로 수행됩니다.

  • Well-formed XML document
  • Valid XML document


Well-formed XML document

아래의 조건을 잘 지켰다면 well-formed document라고 합니다.
  • Non DTD XML 파일은 amp(&), apos(single quote), gt(>), lt(<), quot(double quote)에 대해 predefined character entity를 사용해야 합니다.
  • 태그를 열고 닫는 순서를 잘 지켜야 합니다.
  • 모든 오프닝 태그는 각자 end 태그를 가져야 하고, 그렇지 않으면 self-ending 태그여야 합니다.(<title>....</title> or <title/>)
  • start 태그에는 하나의 attribute만 있어야 하고, 따옴표가 있어야 합니다.
  • amp(&), apos(single quote), gt(>), lt(<), quot(double quote) 이외의 entity는 선언되어야 합니다.

Example

<?xml version="1.0" encoding="UTF-8" standalone="yes" ?>
<!DOCTYPE address
[
   <!ELEMENT address (name,company,phone)>
   <!ELEMENT name (#PCDATA)>
   <!ELEMENT company (#PCDATA)>
   <!ELEMENT phone (#PCDATA)>
]>
<address>
   <name>Tanmay Patil</name>
   <company>TutorialsPoint</company>
   <phone>(011) 123-4567</phone>
</address>
cs

위의 예가 well-formed인 이유는
  • Document 타입을 정의했습니다. 여기서 document 타입은 element형입니다.
  • address라는 루트 element가 존재합니다.
  • Child element인 name, company, phone이 각자 설명 태그(explanatory tag)를 가지고 있습니다.
  • 태그의 순서가 잘 지켜졌습니다.

Valid XML document

Well-formed document이면서 관련된 DTD를 가지고 있을 때 valid document라고 부릅니다. DTD는 곧 이어 알아보도록 하겠습니다.

댓글 없음:

댓글 쓰기