DTD-개요

일반적으로 DTD로 알려진 XML 문서 유형 선언은 XML 언어를 정확하게 설명하는 방법입니다. DTD는 적절한 XML 언어의 문법 규칙에 대해 XML 문서의 구조와 어휘의 유효성을 확인합니다.

XML 문서는 다음과 같이 정의 할 수 있습니다.

  • Well-formed− XML 문서가 태그와 같은 모든 일반 XML 규칙을 준수하는 경우 태그는 적절하게 중첩되어야하고, 여는 태그와 닫는 태그는 균형을 이루어야하며, 빈 태그는 '/>'로 끝나야하며 올바른 형식으로 호출됩니다 .

    또는

  • Valid− 올바른 형식 일뿐만 아니라 사용 가능한 DTD를 준수 하는 XML 문서로 , 사용 가능한 태그, 해당 태그에 포함될 수있는 속성, 다른 속성 중에서 다른 태그 내에서 발생할 수있는 태그를 지정합니다. .

다음 다이어그램은 DTD가 XML 문서를 구성하는 데 사용됨을 나타냅니다.

종류

DTD는 다음과 같이 XML 문서에서 선언 기준으로 분류 할 수 있습니다.

  • 내부 DTD

  • 외부 DTD

DTD가 파일 내에서 선언되면 호출됩니다. Internal DTD 별도의 파일로 선언하면 External DTD.

이에 대한 자세한 내용은 DTD 구문 장에서 알아볼 것입니다.

풍모

다음은 DTD가 설명하는 몇 가지 중요한 사항입니다.

  • XML 문서에 나타날 수있는 요소.

  • 표시 될 수있는 순서.

  • 선택 및 필수 요소.

  • 요소 속성 및 선택 또는 필수 여부.

  • 속성이 기본값을 가질 수 있는지 여부.

DTD 사용의 장점

  • Documentation− XML 파일에 대해 고유 한 형식을 정의 할 수 있습니다. 이 문서를 보면 사용자 / 개발자는 데이터 구조를 이해할 수 있습니다.

  • Validation − 요소가 올바른 순서로 표시되는지, 필수 요소와 속성이 제자리에 있는지, 요소와 속성이 잘못된 방식으로 삽입되지 않았는지 등을 확인하여 XML 파일의 유효성을 확인하는 방법을 제공합니다.

DTD 사용의 단점

  • 네임 스페이스를 지원하지 않습니다. 네임 스페이스는 요소 및 속성 이름을 그룹에 할당 할 수있는 메커니즘입니다. 그러나 DTD에서는 네임 스페이스를 DTD 내에 정의해야하므로 네임 스페이스 사용 목적에 위배됩니다.

  • 텍스트 문자열 데이터 유형 만 지원합니다 .

  • 객체 지향이 아닙니다. 따라서 상속 개념은 DTD에 적용 할 수 없습니다.

  • 요소에 대한 카디널리티를 표현할 수있는 제한된 가능성.