Технология XSLT (Валиков) - страница 15

, который имеет атрибут >title со значением >"Слон". Четвертая строка в документе — рекламный лозунг >"Покупайте наших слонов!". Затем следует закрывающий тег > и, наконец, закрывающий тег >.

XML использует ту же теговую разметку, что и HTML, но при этом теги в XML не просто ограничивают часть текста документа — они выделяют в документе один элемент. В предыдущем примере документ имел два элемента — >advert:

>

>  Покупайте наших слонов!

>

и >product:

>

> Покупайте наших слонов!

>

Как видно, элемент >product включен в элемент >advert. Точно так же, как в HTML одни теги могли находиться внутри других тегов, в XML элементы могут содержать другие элементы, а также иметь атрибуты и содержать текст. В следующем разделе мы подробно рассмотрим основные конструкции XML, которые понадобятся нам в дальнейшем.

Конструкции XML

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

Элемент

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

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

Пустой элемент имеет следующий вид:

><имя атрибут1="значение1" атрибут2="значение2" и т.д./>

Примеры

>

>

>

Непустые элементы имеют вид:

><имя атрибут1="значение1" атрибут2="значение2" и т.д.>

> ...

> содержимое элемента

>...

имя>

Пример

>

>  sometext

>

И в том, и в другом случае, имя задает имя элемента, а конструкции вида >атрибутX="значениеХ" — определяют значения его атрибутов. Имена в XML являются регистро-зависимыми, то есть имена >MyElement, >myelement и >MYELEMENT различаются. Кроме того, имена в XML могут принадлежать различным пространствам имен, о которых мы поговорим чуть позже.

Элементы являются основной конструкцией языка XML. Организуя содержимое в элементах, можно явно выделить иерархическую структуру документа. Легко заметить, что документ, состоящий из вложенных друг в друга элементов, устроен подобно дереву: родительский элемент является корнем, в то время как дочерние элементы, которые включаются в него, являются ветками, а если они не содержат ничего более, то и листьями. Следующий пример (рис. 1.1) иллюстрирует эту концепцию.