Определение типов XML-документов
Правила интерпретации каждого типа XML-документов описываются в отдельной секции <DOCTYPE>. Каждая такая секция может иметь атрибуты public, system и root. Анализ значений этих атрибутов позволяет установить соответствие между данным XML-документом и нужными настройками парсера. Сначала анализируется атрибут public, который, в случае своего наличия, содержит подстроку, содержащуюся в значении одноименного атрибута элемента <DOCTYPE> XML-документа. Если соответствие не найдено, аналогичный анализ проводится для атрибутов system. Если соответствие опять не найдено (это может случиться, в частности, если элемент <DOCTYPE> отсутствует в XML-документе), сравнивается значение атрибута root секции <DOCTYPE> конфигурационного файла и имени корневого элемента XML-документа.
Если ни одна из секций <DOCTYPE> конфигурационного файла, имеющая атрибуты, не соответствует XML-документу, будет использована конфигурация, описанная в секции без атрибутов. Если секция <DOCTYPE> без атрибутов отсутствует, будет использована конфигурация, описанная в разделе Конфигурация по умолчанию.
Директивы секции <DOCTYPE>
LocalDTDНеобязательная директива. Определяет локальный файл DTD, который будет импользоваться парсером вместо внешнего, в случае, если он указан в элементе <DOCTYPE> XML-документа.