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

В этой записи я планирую перечислить и объяснить все 9 правил, с использованием примеров.

В качестве примера будет использован следующий XML документ, описывающий книгу:

<?xml version="1.0" encoding="UTF-8" ?>
<book>
    <title subtitle="The Dark Elf Trilogy">Sojourn</title>
    <author>R. A. Salvatore</author>
    <chapter>Well met</chapter>
</book>

Не правда ли легко понять, что речь идет именно о книге?

Теперь самое подходящее время перейти непосредственно к правилам оформления документов.

  1. Документ должен начинаться с определения типа документа, содержащее указание версии XML (в нашем случае - 1.0) и кодировку символов (соответственно - UTF-8)
  2. Должен содержать ровно один корневой элемент - в нашем пимере это <book></book>
  3. Каждому открывающему тэгу должен соответствовать один закрывающий. Как не трудно заметить это правило соблюдается в примере, если Вы привыкли в HTML оставлять тэги открытыми примерно следующим образом: <p>Какой-то текст, то изучение XML может стать неплохим поводом отучиться от этой вредной привычки.
  4. XML тэги чувствительны к регистру символов. Тэги <Book> и <book> считаются разными, запись <Book></book> будет считаться ошибочной.
  5. Тэги должны быть расположены строго друг внутри друга. Продемонстрирую на отдельном примере: <foo>ВЕ<bar>РНО</bar></foo>, а так <foo>НЕВЕ<bar>РНО</foo></bar>.

  6. Значения всех атрибутов всегда должны быть заключены в кавычки. Например: <title subtitle="The Dark Elf Trilogy">Sojourn</title> - верно, а <title subtitle=The Dark Elf Trilogy>Sojourn</title> - нет.

  7. Последовательно расположенные пробелы не объединяются в один. Имейте это ввиду, если вы привыкли к HTML.
  8. Конец строки обозначается просто переводом на новою строку, без возврата каретки. Во многих приложениях для обозначения конца строки используется возврат каретки совместно с переводом на новую строку (/r/n), в XML же принято для этих целей использовать просто перевод на новую строку (/n).
  9. Комментарии обозначаются так же как и в HTML:<!--комментарий-->

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

06 января 2008 |  Иван Блинков  |  Теория