Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
k5.doc
Скачиваний:
2
Добавлен:
13.11.2019
Размер:
287.23 Кб
Скачать

Основы XML

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

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

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

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

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

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

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

Требования корректности формирования и валидности

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

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

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

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

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

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

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

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

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

Совет. Если вы открываете XML-документ (самостоятельный или с присоединенной таблицей стилей) непосредственно в Internet Explorer 5, процессор Internet Explorer 5 проверяет весь документ (в том числе объявление типа документа, если оно присутствует) на корректность формы составления, и выводит сообщение о фатальной ошибке при любом обнаруженном несоответствии. Однако процессор Internet Explorer 5 не проверяет документ на валидность.

Чтобы проверить документ на валидность, вы можете использовать сценарий проверки на валидность, приведенный в лекции 9 в разделе "Проверка валидности XML-документа". Вы можете прочесть приведенные в этом разделе указания сейчас, чтобы иметь возможность осуществлять проверку на валидность создаваемых вами XML-документов.

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]