Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
УМК_XML.doc
Скачиваний:
16
Добавлен:
03.05.2019
Размер:
3.94 Mб
Скачать

Тема 3. Создание валидных xml-документов

Валидные XML-документы отвечают более строгому набору критериев, чем обычные корректно сформированные документы, о которых говорилось выше. Теперь познакомимся с основными требованиями для валидных XML-документов и оценим преимущества валидных документов. Затем рассмотрим, как объявлять тип документа для всех валидных XML-документов. После этого будут представлены подробные инструкции по определению элементов и атрибутов в валидном документе.

3.1. Основной критерий для валидного документа

Каждый XML-документ должен быть корректно сформированным, т.е. отвечать минимальным требованиям по составлению XML-документа. Если документ не является корректно сформированным, он не может считаться XML-документом. Корректно сформированный XML-документ также может быть валидным. Валидным называется корректно сформированный документ, отвечающий двум дополнительным требованиям:

  • пролог документа должен содержать специальное объявление типа документа, которое содержит определение типа документа (DTD), задающее структуру документа;

  • остальной документ должен отвечать структуре, заданной в DTD.

Требования корректности формирования представляют собой набор правил, определенных в спецификации XML в дополнение к основным синтаксическим требованиям. Поскольку XML-документ должен быть корректно сформированным, любое отклонение от требований корректности формирования считается фатальной ошибкой. Если XML-процессор сталкивается с фатальной ошибкой, он останавливает нормальную обработку документа и не пытаться её возобновить.

Требования валидности представляют собой дополнительный набор правил в спецификации XML, которым необходимо следовать, чтобы создать валидный документ. Поскольку валидность является не обязательной для XML-документа, отклонение от требований валидноcти считается лишь ошибкой, но не фатальным сбоем. Если XML- процессор встречает ошибку, он может просто выдать сообщение о ней и продолжить обработку. Требования валидности состоят из специальных правил по созданию соответствующего объявления типа с его DTD, а также созданию документа, отвечающего описанию внутри вашего DTD.

3.2. Преимущества использования валидных xml-документов

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

Использование валидных документов особенно полезно для проверки однородности среди группы схожих документов. Фактически, стандарт XML определяет DTD как “грамматику для определенного класса документов”.

Предположим, группе разработчиков, занимающейся публикацией в Web, требуется, чтобы все ее редакторы создавали XML-документы, отвечающие единой структуре. Создание одного DTD и включение его во все документы может обеспечить условия соответствия документов требуемой структуре, в то время как редакторы будут избавлены от необходимости добавлять новые элементы, помещать информацию в неправильном порядке, присваивать неправильные типы данных и т.д. Конечно, валидность документа должна быть проверена при его обработке процессором.

Включение DTD и проверка валидности имеют особое значение, если документ будет обрабатываться программой пользователя, ориентированной на определенную структуру документа. Если все пользователи программного обеспечения включат в свои XML-документы соответствующие DTD, и все документы пройдут проверку на валидность, то пользователи могут быть уверены, что их документы будут распознаны программой-обработчиком. Например, если группа математиков создает математические документы, которые будут отображаться специальной программой, все они могут включить в свои документы одинаковые DTD, которые содержат определения требуемой структуры, элементов, атрибутов и других компонентов.

При открытии XML-документа в браузере, процессор проверяет весь документ (в том числе объявление типа документа, если оно присутствует) на корректность формы составления, и выводит сообщение о фатальной ошибке при любом обнаруженном несоответствии. Однако процессор браузера не проверяет документ на валидность. Для этого можно создать дополнительный сценарий проверки XML-документа на валидность, пример которого будет представлен далее.