DTD - Обзор
Объявление типа XML-документа, широко известное как DTD, - это способ точного описания языка XML. DTD проверяют правильность структуры и словаря XML-документа на соответствие грамматическим правилам соответствующего языка XML.
XML-документ можно определить как -
Well-formed- Если XML-документ соответствует всем общим правилам XML, например, теги должны быть правильно вложены, открывающие и закрывающие теги должны быть сбалансированы, а пустые теги должны заканчиваться на '/>', то он называется правильно сформированным .
ИЛИ
Valid- Документ XML считается действительным, если он не только правильно сформирован , но и соответствует доступному DTD, который указывает, какие теги он использует, какие атрибуты могут содержать эти теги и какие теги могут встречаться внутри других тегов, среди других свойств. .
На следующей диаграмме показано, что DTD используется для структурирования XML-документа.
Типы
DTD можно классифицировать на основе его декларации в XML-документе, например:
Внутренний DTD
Внешний DTD
Когда в файле объявляется DTD, он называется Internal DTD и если он объявлен в отдельном файле, он называется External DTD.
Мы узнаем больше об этом в главе Синтаксис DTD.
Характеристики
Ниже приведены некоторые важные моменты, которые описывает DTD:
элементы, которые могут появиться в XML-документе.
порядок, в котором они могут появляться.
необязательные и обязательные элементы.
атрибуты элемента и являются ли они обязательными или необязательными.
могут ли атрибуты иметь значения по умолчанию.
Преимущества использования DTD
Documentation- Вы можете определить свой собственный формат для файлов XML. Глядя на этот документ, пользователь / разработчик может понять структуру данных.
Validation - Это дает возможность проверять достоверность файлов XML, проверяя, отображаются ли элементы в правильном порядке, обязательные элементы и атрибуты на своих местах, элементы и атрибуты не были вставлены неправильным образом и т. Д.
Недостатки использования DTD
Он не поддерживает пространства имен. Пространство имен - это механизм, с помощью которого можно назначать группам имена элементов и атрибутов. Однако в DTD пространства имен должны быть определены внутри DTD, что нарушает цель использования пространств имен.
Он поддерживает только тип данных текстовой строки.
Он не объектно-ориентированный. Следовательно, концепция наследования не может применяться к DTD.
Ограниченные возможности выразить мощность элементов.