XML является HTML-подобным языком, который служит для обмена данными. В отличие от HTML, в котором существует фиксированное количество тегов и где каждый тег имеет собственное значение, набор тегов в XML не является заранее установленным, а смысловое значение не установлено для любого тега XML.
Пример 27.1 поможет прояснить эти и другие свойства XML. Однако прежде чем смотреть на различные части документа XML, рассмотрим требования к хорошо форматированному документу XML:
♦ он имеет корневой элемент;
♦ за каждым открывающим тегом следует соответствующий закрывающий тег;
♦ элементы документа являются правильно вложенными;
♦ атрибут должен иметь значение, которое заключается в кавычки.
Как показано в примере 27.1, документ XML содержит общие три части:
♦ необязательная первая строка, которая сообщает программе, которая получает документ, какова версия XML, с которым программа имеет дело (в примере 27.1 это версия 1.0);
♦ необязательная схема (обычно записывается с использованием DTD или XSD);
♦ корневой элемент - элемент, который содержит все другие элементы.
Вы используете XML для дискретного представления документов. Для представления документа вы должны знать его структуру. Например, если вы рассматриваете книгу как документ, она вначале должна быть разбита на главы (с заголовками). Каждая глава содержит несколько разделов (с их заголовками и номерами), а каждый раздел имеет один или более абзацев.
Все части документа XML, которые принадлежат его логической структуре, называются элементами. Поэтому в XML каждый элемент представляет компонент документа. В примере 27.1 PersonList, Title и contents являются примерами элементов XML. Каждый элемент также может содержать другие элементы. Те части элемента, которые не принадлежат логической структуре документа, называются символьными данными. Например, слова или предложения в книге могут трактоваться как символьные данные.
Все элементы документа составляют иерархию, которая называется древовидной структурой документа. Каждая структура имеет корневой элемент на верхнем уровне, который содержит все другие элементы. Такой элемент называется корневым элементом. Все элементы, которые не содержат никаких подчиненных элементов, называются листьями.
Элементы XML, непосредственно вложенные в другие элементы, называются дочерними. Например, в примере 27.1 элементы Name, No и Address являются дочерними для элемента Employee, который является дочерним для contents, а тот, в свою очередь, является дочерним элементом корневого элемента PersonList. (Отношения «предок» и «потомок» также определены в языке XML.)
Каждый элемент может иметь дополнительную информацию, соединенную с ним. Подобная информация называется атрибутом, она описывает свойства элемента. Атрибуты используются вместе с элементами для представления объектов (т. е. типами документа). В теге <PersonList Type=«Employee»>
Туре является именем атрибута, который принадлежит элементу PersonList, а Employee является значением этого атрибута. В следующем разделе подробно описываются атрибуты.