Элементы 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-документа
Похожие статьи:
-
Файл — это определенное количество информации (программа или данные), имеющее имя и хранящееся в долговременной (внешней) памяти. Имя файла состоит из…
-
Вопрос 30. форматирование построенной диаграммы.
Форматирование типов диаграмм |ППП Excel 97 обеспечивает удобный режим работы для «подбора» наиболее подходящего [типа диаграммы в целом, для группы…