3.1.1.3. Основные правила при составлении XML вручную

3.1.1.3 Основные правила при составлении XML вручную

Рассмотрим простой пример XML документа:

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

<catalog>

<book id="bk101">

<author>John Snow</author>

<title>Learning XML</title>

<genre>Computer</genre>

<price>39.95</price>

</book>

</catalog>

1. Строка <?xml version="1.0" encoding="UTF-8"?> называется прологом и означает, что используется XML версии 1.0 и кодировка UTF-8. Пролог является первой строкой XML документа.

2. В XML каждый элемент заключен в теги. Тег - некий текст, заключенный в угловые скобки. Текст внутри тега - его название. Существует два типа тегов: открывающий <catalog> и закрывающий </catalog>.

3. В каждом XML документе должен быть только один корневой элемент, который включает все другие элементы (иными словами, это тег, с которого документ начинается и которым заканчивается). В приведенном примере корневым элементом является тег <catalog>.

4. Значение элемента хранится между открывающим и закрывающим тегами. Может быть числом, строкой, или вложенным тегом. В примере <author>Alexander Pushkin</author> элемент <author> указывает на автора книги, здесь это "Alexander Pushkin".

5. У элементов могут быть атрибуты - один или несколько. Они указываются внутри открывающегося тега после названия тега через пробел. В примере <book id="bk101"> элемент book представляет одну книгу в каталоге, у него есть атрибут id, который обозначает уникальный идентификатор книги (в данном случае bk101).

6. Все теги в XML являются регистро-чувствительными. Если тег <catalog> закрыт как </Catalog>, документ будет оформлен некорректно.

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

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

Пространства имен

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

Согласно спецификации W3C пространство имен XML - это идентифицируемая с помощью ссылки URI ((англ. Uniform Resource Identifier) - унифицированный (единообразный) идентификатор ресурса. URI - последовательность символов, идентифицирующая абстрактный или физический ресурс) коллекция имен, используемых в XML документах для обозначения типов элементов и именования атрибутов.

При задании пространства имен в XML документе необходимо иметь в виду следующее:

1. Элементы и атрибуты связываются с пространством имен с помощью квалифицированных имен;

2. В одном XML документе может быть задано несколько пространств имен;

3. Область действия пространства имен может распространяться:

- на весь документ (когда оно задано в корневом элементе XML документа);

- контейнер (когда оно задано в элементе верхнего уровня контейнера);

- отдельный элемент или атрибут (когда оно задано непосредственно для данного элемента и атрибута).

Для объявления пространства имен в XML документе используется ключевое слово xmlns. Синтаксис объявления имеет следующий формат: xmlns[:prefix]="uri", где:

- prefix - это квалифицированное имя, посредством которого элементы и атрибуты XML документа связываются с пространством имен;

- uri - это URI, задающий пространство имен, которое будет использоваться в XML документе.

В том случае, если параметр prefix не задан, то объявленное пространство имен будет использоваться как пространство имен по умолчанию.