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

Существует несколько правил, которые надо соблюдать при составлении XML-документов, чтобы они были правильными, т.е. могли быть обработаны XML-процессорами без ошибок.

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

К примеру, такой документ является неправильным т.к. содержит два корневых элемента:

<?xml version="1.0" encoding="utf-8"?>

<order>

...

</order>

<request>

...

</request>

Для правильной организации хранения этих данных в XML нужно использовать структуру вида:

<?xml version="1.0" encoding="utf-8"?>

<communication>

<order>

...

</order>

<request>

...

</request>

</communication>

· Все элементы должны иметь закрывающий тэг.

В стандарте HTML для некоторых элементов наличие закрывающего тэга не обязательно. К примеру, тэг <br> осуществляет перенос каретки на новую строку:

Строка<br>

Новая строка

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

<item id="2133">

<name>Монитор

</item>

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

<item id="2133" name="Монитор"></item>

Эта структура может быть упрощена таким образом:

<item id="2133" name="Монитор"/>

Как понятно из примера это возможно только в том случае, если у элемента отсутствуют дочерние элементы и значение.

· В тэгах XML учитывается регистр.

В XML тэги <item> и <Item> будут интерпретированы как разные. Таким образом, это может привести к ошибке в документе:

<Item id="2133">

<name>Монитор</name>

</item>

Этот документ будет считаться неправильным из-за отсутствия закрывающего тэга </Item>.

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

· Пробелы в XML-документах сохраняются.

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

· Некоторые особые символы должны заменяться ссылками на сущность.

Существуют два символа, которые при наличии их в значении элемента или атрибута вызовут ошибку: “<” и “&”. Поэтому при составлении документа их надо заменять ссылкой на сущность:

<name>Монитор с диаганалью &lt; 19 дюймов</name>

После разбора этого элемента XML процессором в качестве значения этого элемента будет строка:

Монитор с диаганалью < 19 дюймов

В XML изначально заданы пять сущностей. Хотя три из них можно применять в тексте документов, их также желательно заменять ссылками на сущность.

Символ Обозначение
< &lt;
> &gt;
& &amp;
` (апостроф) &apos;
“ (двойная кавычка) &quot;

Таблица 2.1. Сущности языка XML.

· Для добавления текста, который не будет интерпретироваться при разборе XML-документа, используется конструкция CDATA.

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

<message>

<![CDATA[

<div style="width: 200px; height: 70px; text-align: center">

<span style="color: red; background-color: blue">

Купи хлеба!

</span>

</div>

]]>

</message>

· Комментарии в XML.

Для добавления в XML документ комментариев, т.е. текста который не будет использоваться при разборе документа и не будет включен в значение элемента, используется специальная конструкция:

<order customerId="12">

<address>Москва, Каширское шоссе, 31</address>

<!-- Дата должна быть в формате dd.mm.yyyy -->

<date>01.04.2006</date>

...

</order>


Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:  



double arrow
Сейчас читают про: