Chase N.Проверка правильности XML

Внешние DTD


Для проверки правильности документа вы должны иметь стандарт, по которому выполняется проверка. Раньше предполагалось, что задание требований к XML-документам происходит в DTD.

Когда идет речь о DTD, большинство людей лучше знакомо с внешним вариантом, в котором объявление DOCTYPE ссылается на файл, содержащий действующие определения.

Может быть использовано несколько способов для определения местонахождения DTD. Например, файл XHTML может определить DTD, которое определяет, следует ли он рекомендациям XHTML Strict, XHTML Transitional или XHTML Frameset, разработанным W3C. Чтобы определить XHTML Transitional, автор может задать:

<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">

Объявление DOCTYPE состоит из нескольких частей:

  • <!DOCTYPE: Показывает процессору, что это объявление DOCTYPE.
  • html: Показывает имя корневого элемента для документа. Если документ начинается с чего-то, отличного от <html> , он будет немедленно признан неправильным.
  • PUBLIC: DOCTYPE может определять распознаваемое публичное DTD, и хранить потенциальный путь к серверу для выборки его. Альтернатива, SYSTEM, показана ниже. Идентификатор SYSTEM показывает URI, по которому DTD может быть найдено.
  • "-//W3C//DTD HTML 4.01 Transitional//EN": Действующий публичный идентификатор для DTD Transitional XHTML.

Для прикладных DTD разработчики обычно используют идентификатор SYSTEM, такой, как:

<!DOCTYPE memories SYSTEM "http://www.nicholaschase.com/memories.dtd">

Части оператора соответствуют таковым для идентификатора PUBLIC, кроме объявления, показывающего местонахождение DTD.

Обычно, однако, объявление DOCTYPE также задает идентификатор SYSTEM при использовании идентификатора PUBLIC на случай, если процессор не распознает последний:

<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">

Внешний файл DTD просто содержит определение, начинающиеся с описанного в подразделе . Для внутреннего DTD эти определения являются частью самого XML-файла.



Содержание раздела