Вопрос 2. элементы и атрибуты xml-документа

      Комментарии к записи Вопрос 2. элементы и атрибуты xml-документа отключены

Элементы XML-документа

XML — файл состоит из текста и разметки. Текст размещается в элементе, который начинается и заканчивается тегами.

Элемент имеет имя (это тип элемента), заключённое в угловые скобки , которое определяет начальный и конечный тэг (дискриптор). Имена (типы элементов) чувствительны к регистру символа. Имя элемента может начинаться с буквы, знака подчёркивания (_) или двоеточия (:) и не могут начинаться с буквосочетания “xml”.

Конечный тэг (дискриптор) дополнительно имеет косую черту.

Элемент может содержать один тэг (дискриптор) с пробелом и замыкающей косой чертой в конце:

Элемент, состоящий из одного тэга (дискриптора) называется пустым элементом, а из двух тэгов и содержащий в себе любые данные – непустым.

Угловая скобка в начале дискриптора () — называется MDC (Markup Declaration Close – закрытие декларации разметки).

Хорошо оформленный XML документ обязательно должен иметь корневой элемент (root element). Внутри корневого элемента кроме текста могут находиться вложенные элементы:

Учебное пособие по XМL

Леонтьев Алексей Георгиевич

В XML — файле должен присутствовать только один корневой элемент. В примере это .

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

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

Начинается XML-файл обычно с объявления, которое ещё называют пролог (prolog). Пролог состоит из двух частей.

Первая часть пролога включает декларацию XML (XML Declaration). Декларация заключена между символами , содержит пометку xml и номер версии спецификации XML. Она может включатьуказания на кодировку символов в которой написан данный текст. В объявление можно поместить еще параметр standalone со значениями yes или no. Значение no показывает, что документ использует определения элементов, сделанные в другом, внешнем, документе. По умолчанию принимается значение yes. Итак, полное объявление XML может выглядеть следующим образом:

Вторая часть пролога — объявление типа документа, DTD (Document Type Declaration) — может занимать одну или несколько строк. В этой части объявляются теги, использованные в документе, или приводится ссылка на файл, в котором записаны такие объявления. Объявление типа документа начинается с символов . Его содержимое зависит от способа объявления тегов.

Все это вместе выглядит так:

В примере рассматривается первая версия XML и русская кодировка символов для операционных систем Windows. Для операционных систем UNIX русская кодировка – KOI8-R. Можно использовать универсальную кодировку UTF-8 для Unicode.

Правила описания элементов XML-файла tutorial находится в каталоге SYSTEM, а не в общем каталоге PUBLIC в файле filename.dtd.

В примере, в соответствии с правилами, имя XML документа tutorial совпадает с именем корневого элемента.

Атрибуты XML-документа

Атрибуты состоят из имени и значения, где значение берется в двойные кавычки (). Атрибуты позволяют сохранять вместе с элементом дополнительные параметры. Атрибут (или несколько атрибутов) указывается внутри начального тега элемента. При добавлении нескольких атрибутов они разделяются пробелами:

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

Значение атрибутов может заключаться как в одинарные (апострафы), так и в двойные кавычки. Кроме того возможно также использование одних кавычек внутри других:

Если значение атрибута содержит в себе кавычки, то его нужно заключить в апострофы, если значение содержит апострофы, то его заключают в кавычки. Если же кавычки и апострофы уже использованы для ограничения значений атрибутов, то внутри значения кавычку можно заменить ссылкой на сущность , а апостроф – ссылкой '. Вместо ссылок на сущности можно записать коды кавычки и апострофа–и ‘. В шестнадцатеричной форме коды кавычки и апострофа выглядят так: #х22;и #х27;.

Во время обдумывания разметки документа и создания тегов всегда возникает вопрос о том, куда поместить ту или иную информацию: в содержимое элемента или в его атрибуты? Ответ неоднозначен, он зависит и от самой информации, и от целей ее разметки, а часто это просто дело вкуса.

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

25.03.1977

Садовая, 23-15

Санкт-Петербург

123456

2654321

2654 023

34567 81

17.05.1969

Малиновская, 17

Пушкин

234561

2334455

В этом примере первые две строки – пролог (декларации, определения).

Элемент — пустой и содержит три атрибута.

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

Атрибуты открывающего тега удобны и для указания типа элемента. Например, мы не уточняем, в городе живет наш родственник, в поселке или в деревне. Можно ввести в открывающий тегатрибут type, принимающий одно из значений город, поселок, деревня. Например:

Mocквa

Как видите, значения атрибутов можно записывать не только латинскими, но и русскими буквами. Спецификация XML допускает для записи значений атрибутов и содержимого элементов практически все символы Unicode.

Статьи к прочтению:

Часть 28. Редактирование XML-документа


Похожие статьи: