xml декларация

Автор: Евгений Рыжков Дата публикации: 02.03.2009

Назначение

Считается хорошим тоном начинать XML-документы (а XHTML базируется на XML) с объявления XML (XML declaration). Объявление XML предоставляет важную информацию об основах синтаксиса XML-документа: номер версии языка, а также некоторые дополнительные параметры, например, кодировку документа.

Раздел 2.8 Рекомендации W3C по XML 1.0 в частности гласит:
XML-документы должны начинаться с объявления XML, в котором определяется версия используемого XML.

Синтаксис

<?xml version [encoding [standalone]]?>
  • version указывает номер версии XML;
  • encoding задает кодировку;
  • standalone автономность XML.

Версия

Согласно стандарта XML 1.1, который был утвержден W3C, как рекомендованный, объявление версии документа является обязательным. Любой XML-документ без объявления XML является документом XML 1.0. Кроме этого, версию XML нужно указывать по причине того, что она является очень важной при определении кодировки.

Кодировка

Основной кодировкой XML является Unicode. Самыми распространенными кодировками являются UTF-8 и UTF-16, которые передают символы Unicode, соответственно, как последовательность 8-битных и 16-битных значений. Обе эти кодировки должны поддерживаться парсерами. Если кодировка не задана, обработчик XML подразумевает, что используется кодировка UTF-8 или UTF-16 в зависимости от наличия или отсутствия в самом начале обрабатываемого файла особой последовательности байт (называемой Byte Order Mark или BOM).

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

Пример объявления XML с указанием кодировки:

<?xml version="1.0" encoding="windows-1251"?>

Такая форма (с указанием версии XML и кодировки) является минимальным объявлением XML, настоятельно рекомендованным к использованию во всех XML-файлах. Вообще, следует объявлять кодировку в любом случае, даже если она является одной из заданных по умолчанию (UTF-8 или UTF-16).

Standalone (Автономный)

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

Рекомендация

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

Подводные камни

Сюрприз от Microsoft — если браузеру IE6 в первой строке не встретился корректный DOCTYPE, браузер переключается в режим обратной совместимости (начинает интерпретировать некоторые свойства CSS по своему, например, по своему интерпретирует блочную модель).

Вывод

XML-объявление — это некий взгляд в будущее. Используя его, вы закладываете фундамент грамотной верстки в будущем. Но будьте внимательны, не забывайте о «сюрпризах» от IE6.

Материалы для статьи:

По теме