Правила составления 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>Монитор с диаганалью < 19 дюймов</name>
После разбора этого элемента XML процессором в качестве значения этого элемента будет строка:
Монитор с диаганалью < 19 дюймов
В XML изначально заданы пять сущностей. Хотя три из них можно применять в тексте документов, их также желательно заменять ссылками на сущность.
Символ | Обозначение |
< | < |
> | > |
& | & |
` (апостроф) | ' |
“ (двойная кавычка) | " |
Таблица 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>
Дата добавления: 2015-02-28; просмотров: 973;