Простейший XML- документ может выглядеть так, как это показано в
Примере 1
Пример 1
<?xml version="1.0"?> <list_of_items> <item id="1"><first/>Первый</item> <item id="2">Второй <sub_item>подпункт 1</sub_item></item> <item id="3">Третий</item> <item id="4"><last/>Последний</item> </list_of_items>
Обратите внимание на то, что этот документ очень похож на обычную HTML-страницу. Также, как и в HTML, инструкции, заключенные в угловые скобки называются тэгами и служат для разметки основного текста документа. В XML существуют открывающие, закрывающие и пустые тэги (в HTML понятие пустого тэга тоже существует, но специального его обозначения не требуется).
Тело документа XML состоит из элементов разметки (markup) и непосредственно содержимого документа - данных (content). XML - тэги предназначены для определения элементов документа, их атрибутов и других конструкций языка. Более подробно о типах применяемой в документах разметки мы поговорим чуть позже.
Любой XML-документ должен всегда начинаться с инструкции , внутри которой также можно задавать номер версии языка, номер кодовой страницы и другие параметры, необходимые программе-анализатору в процессе разбора документа.
Правила создания XML- документа
В общем случае XML- документы должны удовлетворять следующим требованиям:
Если XML- документ не нарушает приведенные правила, то он называется формально-правильным и все анализаторы, предназначенные для разбора XML- документов, смогут работать с ним корректно.
Однако кроме проверки на формальное соответствие грамматике языка, в документе могут присутствовать средства контроля над содержанием документа, за соблюдением правил, определяющих необходимые соотношений между элементами и формирующих структуру документа. Например, следующий текст, являясь вполне правильным XML- документом, будет абсолютно бессмысленным:
<country><title>Russia</title><city><title>Novosibirsk</country> </title></city>
Для того, чтобы обеспечить проверку корректности XML- документов, необходимо использовать анализаторы, производящие такую проверку и называемые верифицирующими.
На сегодняшний день существует два способа контроля правильности XML- документа: DTD - определения (Document Type Definition) и схемы данных (Semantic Schema). Более подробно об использовании DTD и схемах будет описано в следующих разделах. В отличии от SGML, определение DTD- правил в XML не является необходимостью, и это обстоятельство позволяет нам создавать любые XML- документы, не ломая пока голову над весьма непростым синтаксисом DTD.
Конструкции языка
Содержимое XML- документа представляет собой набор элементов, секций CDATA, директив анализатора, комментариев, спецсимволов, текстовых данных. Рассмотрим каждый из них подробней.
Элементы данных
Элемент - это структурная единица XML- документа. Заключая слово rose в
в тэги Любой непустой элемент должен состоять из начального, конечного тэгов и
данных, между ними заключенных. Например, следующие фрагменты будут
являться элементами: Набором всех элементов, содержащихся в документе, задается его
структура и определяются все иерархическое соотношения. Плоская модель
данных превращается с использованием элементов в сложную иерархическую
систему со множеством возможных связей между элементами. Например, в
следующем примере мы описываем месторасположение Новосибирских
университетов (указываем, что Новосибирский Университет расположен в
городе Новосибирске, который, в свою очередь, находится в России),
используя для этого вложенность элементов XML : Производя в последствии поиск в этом документе, программа клиента будет
опираться на информацию, заложенную в его структуру - используя элементы
документа. Т.е. если, например, требуется найти нужный университет в
нужном городе, используя приведенный фрагмент документа, то необходимо
будет просмотреть содержимое конкретного элемента <university>,
находящегося внутри конкретного элемента <city>. Поиск при этом,
естественно, будет гораздо более эффективен, чем нахождение нужной
последовательности по всему документу.
В XML документе, как правило, определяется хотя бы один элемент,
называемый корневым и с него программы-анализаторы начинают просмотр
документа. В приведенном примере этим элементом является <country>
В некоторых случаях тэги могут изменять и уточнять семантику тех или
иных фрагментов документа, по разному определяя одну и ту же информацию и
тем самым предоставляя приложению-анализатору этого документа сведения о
контексте использования описываемых данных. Например, прочитав фрагмент
<river>Lena</river> мы можем догадаться, что речь в этой части
документа идет о реке, а вот во фрагменте <name>Lena</name> -
о имени.
В случае, если элемент не имеет содержимого, т.е. нет данных, которые
он должен определять, он называется пустым. Примером пустых элементов в
HTML могут служить такие тэги HTML, как <br>, <hr>,
<img>;. Необходимо только помнить, что начальный и конечные тэги
пустого элемента как бы объединяется в один, и надо обязательно ставить
косую черту перед закрывающей угловой скобкой (например, <empty/>;)
Комментарии
Комментариями является любая область данных, заключенная между
последовательностями символов Комментарии пропускаются
анализатором и поэтому при разборе структуры документа в качестве значащей
информации не рассматриваются.
Атрибуты
Если при определении элементов необходимо задать какие-либо параметры,
уточняющие его характеристики, то имеется возможность использовать
атрибуты эдлемента. Атрибут - это пара "название" = "значение", которую
надо задавать при определении элемента в начальном тэге. Пример: Cпециальные символы
Для того, чтобы включить в документ символ, используемый для
определения каких-либо конструкций языка (например, символ угловой скобки)
и не вызвать при этом ошибок в процессе разбора такого документа, нужно
использовать его специальный символьный либо числовой идентификатор.
Например, < , > " или $(десятичная форма записи), 
(шестнадцатеричная) и т.д. Строковые обозначения спецсиволов могут
определяться в XML документе при помощи компонентов (entity).
Директивы анализатора
Инструкции, предназначенные для анализаторов языка, описываются в XML
документе при помощи специальных тэгов - и ?>;. Программа клиента
использует эти инструкции для управления процессом разбора документа.
Наиболее часто инструкции используются при определении типа документа
(например, Xml version="1.0"?>) или создании пространства имен.
CDATA
Чтобы задать область документа, которую при разборе анализатор будет
рассматривать как простой текст, игнорируя любые инструкции и специальные
символы, но, в отличии от комментариев, иметь возможность использовать их
в приложении, необходимо использовать тэги . Внутри этого
блока можно помещать любую информацию, которая может понадобится
программе- клиенту для выполнения каких-либо действий (в область CDATA,
можно помещать, например, инструкции JavaScript). Естественно, надо
следить за тем, чтобы в области, ограниченной этими тэгами не было
последовательности символов ]].
<flower>rose</flower>
<city>Novosibirsk</city>
а эти - нет: <rose>
<flower>
rose
<country id="Russia">
<cities-list>
<city>
<title>Новосибирск</title>
<universities-list>
<university id="1">
<title>Сибирский Государственный Университет Телекоммуникаций и Информатики</title>
<address URL="www.neic.nsk.su"/>
</university>
<university id="2">
<title>Новосибирский Государственный Университет</title>
<address URL="www.nsu.ru"/>
</university>
</universities-list>
</city>
<city>
<title>Москва</title>
<universities-list>
<university id="1">
<title>Московский Государственный Университет</title>
<address URL="www.msu.ru"/>
</university>
</universities-list>
</city>
</cities-list>
</country>
<color RGB="true">#ff08ff</color>
<color RGB="false">white</color>
или <author id=0>Ivan Petrov</autho>
Примером использования атрибутов в HTML является описание элемента
<font>:
<font color="white" name="Arial">Black</font>
Навигация :
К Предыдущей Странице
В Оглавление.
На Следующую Страницу