Валидация XML документов

XML документ с корректным синтаксисом называется "правильно сформированным" или "синтаксически верным".

"Валидный" XML документ кроме всего прочего должен соответствовать определенному типу документов.

Синтаксически верные XML документы

XML документ с корректным синтаксисом является "синтаксически верным".

Синтаксические правила были описаны в предыдущих главах:

  • XML документ должен иметь корневой элемент
  • XML элемент должен иметь закрывающий тег
  • XML теги регистрозависимы
  • XML элементы должны соблюдать последовательность вложенности
  • Значения XML атрибутов должны заключаться в кавычки

<?xml version="1.0" encoding="UTF-8"?>
<note>
   <to>Tove</to>
   <from>Jani</from>
   <heading>Напоминание</heading>
   <body>Не забудь про меня в эти выходные!</body>
</note>

Ошибки в XML документе остановят вас

Ошибки в XML документе остановят работу вашего XML приложения.

W3C спецификации XML предписывают, что при возникновении ошибки программа разбора XML документа должна прекратить свою работу. Это сделано для того, чтобы приложения XML были небольшого размера, быстрые и широко совместимые.

HTML браузеры отобразят HTML документ даже с ошибками (например, пропущенный закрывающий тег).

В случае XML ошибки недопустимы!

Валидные XML документы

Валидный XML документ не то же самое, что и синтаксически верный XML документ.

Первое правило для валидного XML документа то, что он должен быть синтаксически верным.

Второе правило - валидный XML документ должен соответствовать определенному типу документов.

Правила, определяющие допустимые элементы и атрибуты для XML документа, часто называются определениями документа или схемами документа.

Когда используют определения документа?

Определения документа - это самый простой способ предоставить рекомендации по допустимым элементам и атрибутам документа.

Определения документа также предоставляют общие рекомендации, которые могут использоваться другими пользователями и/или разработчиками.

Определения документа предоставляют стандартизацию, которая значительно облегчает жизнь.

Когда не используют определения документа?

В действительности XML не требует определений документа.

Когда вы экспериментируете с XML или работаете с небольшими XML файлами, создание определений документа может стать лишней тратой времени.

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

Определения документа

С XML можно использовать различные типы определений документа:

  • Оригинальное определение типа документа (DTD)
  • Более новый тип определений, основанный на XML, - XML схема.

Проверка валидности XML документа

Для проверки валидности XML документов в сети Интернет существует множество программ и сайтов проверки XML документов.