Содержимое XML- документа представляет
собой набор элементов, секций CDATA, директив анализатора, комментариев,
спецсимволов, текстовых данных. Рассмотрим каждый из них подробней.
Элементы данных
Элемент - это структурная единица XML- документа.
Заключая слово rose в в тэги <flower> </flower> , мы
определяем непустой элемент, называемый <flower>, содержимым
которого является rose. В общем случае в качестве содержимого
элементов могут выступать как просто какой-то текст, так и другие,
вложенные, элементы документа, секции CDATA, инструкции по обработке,
комментарии, - т.е. практически любые части XML- документа.
Любой непустой элемент должен состоять из начального,
конечного тэгов и данных, между ними заключенных. Например, следующие
фрагменты будут являться элементами:
<flower>rose</flower>
<city>Novosibirsk</city>
,а эти - нет:<rose>
<flower>
rose
Набором всех элементов, содержащихся в документе,
задается его структура и определяются все иерархическое соотношения.
Плоская модель данных превращается с использованием элементов в сложную
иерархическую систему со множеством возможных связей между элементами.
Например, в следующем примере мы описываем месторасположение
Новосибирских университетов (указываем, что Новосибирский Университет
расположен в городе Новосибирске, который, в свою очередь, находится в
России), используя для этого вложенность элементов XML :
<country id="Russia">
<cities-list>
<city>
<title>Новосибирск</title>
<state>Siberia</state>
<universities-list>
<university id="2">
<title>Новосибирский Государственный
Технический Университет</title>
<noprivate/>
<address URL="www.nstu.ru"/>
<description>очень хороший институт</description>
</university>
<university id="2">
<title>Новосибирский Государственный
Университет</title>
<noprivate/>
<address URL="www.nsu.ru"/>
<description>тоже не плохой</description>
</university>
</universities-list>
</city>
</cities-list>
</country>
Производя в последствии поиск в этом документе,
программа клиента будет опираться на информацию, заложенную в его
структуру - используя элементы документа. Т.е. если, например, требуется
найти нужный университет в нужном городе, используя приведенный
фрагмент документа, то необходимо будет просмотреть содержимое
конкретного элемента <university>, находящегося внутри конкретного
элемента <city>. Поиск при этом, естественно, будет гораздо более
эффективен, чем нахождение нужной последовательности по всему
документу.
В XML документе, как правило, определяется хотя бы
один элемент, называемый корневым и с него программы-анализаторы
начинают просмотр документа. В приведенном примере этим элементом
является <country>
В некоторых случаях тэги могут изменять и уточнять
семантику тех или иных фрагментов документа, по разному определяя одну и
ту же информацию и тем самым предоставляя приложению-анализатору этого
документа сведения о контексте использования описываемых данных.
Например, прочитав фрагмент <city>Holliwood</city> мы можем догадаться, что речь в этой части документа идет о городе, а вот во фрагменте <restaurant>Holliwood</restaurant> - о забегаловке.
В случае, если элемент не имеет содержимого, т.е. нет
данных, которые он должен определять, он называется пустым. Примером
пустых элементов в HTML могут служить такие тэги HTML, как <br>, <hr>, <img>;.
Необходимо только помнить, что начальный и конечные тэги пустого
элемента как бы объединяется в один, и надо обязательно ставить косую
черту перед закрывающей угловой скобкой (например, <empty/>;)
Комментарии
Комментариями является любая область данных,
заключенная между последовательностями символов <!-- и -->
Комментарии пропускаются анализатором и поэтому при разборе структуры
документа в качестве значащей информации не рассматриваются.
Атрибуты
Если при определении элементов необходимо задать
какие-либо параметры, уточняющие его характеристики, то имеется
возможность использовать атрибуты эдлемента. Атрибут - это пара
"название" = "значение", которую надо задавать при определении элемента в
начальном тэге. Пример:
<color RGB="true">#ff08ff</color>
<color RGB="false">white</color>
или<author id=0>Ivan Petrov</author>
Примером использования атрибутов в HTML является описание элемента <font>:
<font color=”white” name=”Arial”>Black</font>
Cпециальные символы
Для того, чтобы включить в документ символ,
используемый для определения каких-либо конструкций языка (например,
символ угловой скобки) и не вызвать при этом ошибок в процессе разбора
такого документа, нужно использовать его специальный символьный либо
числовой идентификатор. Например, < , > " или
$(десятичная форма записи),  (шестнадцатеричная) и
т.д. Строковые обозначения спецсиволов могут определяться в XML
документе при помощи компонентов (entity), о чем мы еще поговорим
немного позже.
Директивы анализатора
Инструкции, предназначенные для анализаторов языка, описываются в XML документе при помощи специальных тэгов - <? и ?>;.
Программа клиента использует эти инструкции для управления процессом
разбора документа. Наиболее часто инструкции используются при
определении типа документа (например, <? Xml version=”1.0”?>) или
создании пространства имен[11].
CDATA
Чтобы задать область документа, которую при разборе
анализатор будет рассматривать как простой текст, игнорируя любые
инструкции и специальные символы, но, в отличии от комментариев, иметь
возможность использовать их в приложении, необходимо использовать тэги
<![CDATA] и ]]>. Внутри этого блока можно помещать любую
информацию, которая может понадобится программе- клиенту для выполнения
каких-либо действий (в область CDATA, можно помещать, например,
инструкции JavaScript). Естественно, надо следить за тем, чтобы в
области, ограниченной этими тэгами не было последовательности символов
]].
Что дальше