Создание корректно сформированных XML-документов. Структура XML-документа. Пролог, корневой элемент

Корректно сформированным называется документ, отвечающий минимальному набору критериев соответствия для ХМL-документа. Корректно сформированный XML-документ может содержать комментарии, инструкции по обработке, пробелы.

В самом начале идёт заголовок XML-документа. Заголовок в примере является универсальным, единственное, что кодировка иногда бывает разной

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

После секции DOCTYPE идёт тело XML-документа. Здесь всё аналогично синтаксису языка HTML, то есть имеются теги (они же элементы), они имеют атрибуты, а также внутренние теги. Но в отличии от HTML, здесь Вы сами придумываете названия элементов, также в XML очень строгий синтаксис, то есть не должно быть никаких незакрывающих тегов или пропущенных кавычек в значениях атрибутов у тегов.

Обратите внимание на то, как используются описанные нами в секции CDATAсущности. Если требуется вывести какой-нибудь спецсимвол, например, & или <, то необходимо использовать соответствующие зарезервированные сущности.

Что касается взаимосвязи между различными элементами. Есть 5 видов связей:

  • Родитель. Родителем для заданного является тот элемент, который находится ровно на 1 уровень выше.
  • Дочерний элемент. Противоположность родителю. Дочерним элементом является тот, который находится ровно на 1 уровень ниже и находится внутри заданного элемента. Обратите внимание, что родитель всегда один, тогда как дочерних элементом может быть много.
  • Предок. Предком является тот элемент для заданного, который находится на более, чем 1 уровень выше.
  • Потомок. Аналогично дочернему элементу, но только элементы должны быть ниже 1-го уровня вложенности в заданный элемент.
  • Брат. Элемент называется братом другому элементу, если он находится на том же уровне, что и другой. Безусловно, помимо одного уровня требуется и наличие общего родителя.

XML-документ состоит из двух основных частей: пролога и корневого элемента, как показано на рисунке 2.1.

Создание корректно сформированных XML-документов. Структура XML-документа. Пролог, корневой элемент - student2.ru

Рис. 2.1

Пролог

В данном примере документа пролог состоит из трех строк:

<?xml version="1.0"?>

<!-- File Name: Inventory.xml -->

Первая строка представляет собой объявление XML, указывающее на то, что это XML-документ и содержащее номер версии. (На момент создания курса последняя версия XML имела номер 1.0.) Объявление XML не является обязательным, хотя спецификация требует его включения. Если вы включаете XML-объявление, оно должно находиться в начале документа.

Вторая строка пролога состоит из пробела. С целью улучшения внешнего вида документа вы можете вставлять любое количество пустых строк между элементами пролога. При обработке они будут игнорироваться.

Третья строка пролога представляет собой комментарий. Добавление комментариев в XML-документ не обязательно, но позволяет сделать его более понятным. Комментарий начинается с символов <!-- и заканчивается символами -->. Между этими двумя группами символов вы можете поместить любой текст (за исключением -->); XML-процессор проигнорирует его.

Пролог может также содержать следующие необязательные компоненты:

  • объявление типа документа, определяющее тип и структуру документа.
  • объявление типа документа должно следовать после XML-объявления;
  • одна или несколько инструкций по обработке, содержащих информацию о порядке проходов при обработке приложения XML-процессором.

Корневой элемент

Второй основной частью XML-документа является единый корневой элемент, который в свою очередь содержит дополнительные элементы.

В XML-документе элементы определяют его логическую структуру и несут в себе информацию, содержащуюся в документе (в нашем примере это информация о книгах, такая как название, автор, цена). Типовой элемент состоит из начального тега, содержимого элемента и конечного тега. Содержимым элемента могут быть символьные данные, другие (вложенные) элементы, либо сочетание данных и вложенных элементов.

В рассматриваемом примере корневой элемент – INVENTORY. Его начальный тег – <INVENTORY>, конечный тег – </INVENTORY>, а содержимое – восемь вложенных элементов BOOK.

Примечание. Текст в XML-документе представляет собой перемежающиеся символьные данные и данные, относящиеся к разметке. Разметка – это текст, ограниченный разделителями и описывающий структуру документа. А именно, начальный и конечный теги элемента, теги пустого элемента, объявления типа документа, инструкции по обработке, ограничители раздела CDATA, символьные ссылки, ссылки на примитивы (entity). Остальной текст представляет собой символьные данные – реальное информационное содержимое документа (в нашем примере это названия, фамилии авторов, цена и другая информация о книге).

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

В свою очередь, каждый элемент BOOK содержит ряд вложенных элементов, как показано на рисунке 2.2.

Создание корректно сформированных XML-документов. Структура XML-документа. Пролог, корневой элемент - student2.ru


Рис. 2.2

Наши рекомендации