
- •Лекция 4-01
- •4.1.2. Основные классы задач xml
- •4.1.2.1. Создание новых языков
- •4.1.2.2. Хранение данных
- •4.1.2.3. Обмен данными и проекты интеграции
- •4.1.3. ДокументыXmLи их компоненты
- •4.1.3.1. Структура документаXml
- •4.1.3.2. Объявления
- •4.1.3.3. Элемент
- •4.1.3.4. Инструкция по обработке
- •4.1.3.5. СекцииCdata
- •4.1.3.6. Ссылки
- •4.1.3.7. Комментарии
- •4.1.4. Пространства именXml
4.1.3.2. Объявления
Объявления в документе XMLмогут быть объявлением XML (XMLdeclaration) и объявлением типа документа –DTD(DataTypeDefinition).
Документы XML должны начинаться объявлением XML, называемым такжепрологомдокумента, которое имеет следующий вид:
<?xml version="версия" [encoding="кодировка"]
[standalone="yes | no"]?>
Атрибут versionсодержит информацию о версии XML, в соответствии с которой был создан этот документ (допустимые значения version="l.0"илиversion="l.1"), например:
<?xml version="1.1"?>
Если пролог в документе XML отсутствует, считается, что значение атрибута versionравно"l.0".
Необязательный атрибут encodingсообщает, в какой кодировке создан данный документ. По умолчанию предполагается кодировкаUnicodeUTF-8, но можно использовать другую кодировку, которую поддерживает программное обеспечение, обрабатывающее документ, например:
<?xml version="1.0" encoding="windows-1251"?>.
Техническая рекомендация XMLоговаривает, что в тех случаях, когда имя использованной кодировки не является стандартным, оно должно указываться с префиксом "x-", например:
<? xml version="1. 0" encoding="x-BK-CYR"?>
Атрибут standaloneуказывает на то, использует ли документXMLкакие-либо внешние объявления или нет. Атрибутstandalone, имеющий значение "yes", означает, что документ не содержит таких объявлений, и, значит, может быть обработан без обращения к внешним источникам. Если же в качестве значения опцииstandalone, задано "no", то документXMLможет иметь внешние объявления (это значение по умолчанию).
Объявление типа документа – DTD (DataTypeDefinition) рассматривается в4.1.5.
4.1.3.3. Элемент
Элементы являются основными структурными единицами XML, поскольку именно они иерархически организуют информацию, содержащуюся в документе.
Элементы могут быть пустыми, то есть не содержать ни данных, ни других конструкций, либо непустыми – включать в себя текст, другие элементы и т. п.
Пустой элементимеет следующий вид:
<имя атрибут1="значение1" атрибут2="значение2"… />
например:
<breakline/>
Непустые элементысодержат начальный и конечный теги, между которыми может быть задано содержимое элемента:
<имя атрибут1="значение1" атрибут2="значение2"… >
содержимое элемента
</имя>
Имена в открывающем и закрывающем тегах должны совпадать.
Имена элементов и имена атрибутов в документе XMLпринято записывать строчными буквами.
В языке XMLатрибутывсегда должны иметь значения. Например, атрибутselectedв начальном теге элементаoption:
<option selected>
будет задан с точки зрения XML некорректно, поскольку ему не присвоено значение (в HTMLтакое определение допустимо). Корректная запись тега будет выглядеть следующим образом:
<option selected="selected">
Такой атрибут в XML называется атрибутом с фиксированным значением.
В XML один элемент не может иметь атрибуты с одинаковыми именами. Вместе с тем, значение атрибута может содержать ссылки на символы.
Допустимые атрибуты для элементов и допустимые значения для этих атрибутов для документа XMLуказываются вDTD(см.4.1.5).
Содержимое элементаможет состоять из других элементов (elements), ссылок (references), секций символьных данных (CDSections), инструкции по обработке (PI) и комментариев (Comment), перемешанных с символьными данными (CharData).
Пример:
<message to="you@yourAddress.com" from="me@myAddress.com"
subject="Поздравление">
<text>
Поздравляю с днем рождения!
</text>
</message>