Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Ermak.doc
Скачиваний:
7
Добавлен:
16.09.2019
Размер:
940.03 Кб
Скачать

Структура xml-документа

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

Давайте сразу приведу простой пример XML-документа:

<?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE shop [   <!ENTITY n "Ноутбук">   <!ENTITY g "Игра"> ]> <shop id="1">   <notebooks>     <prod>&n; IBM Lenovo V570</prod>     <prod>&n; DELL Inspiron N5010</prod>   </notebooks>   <games>     <prod>&g; Готика 2</prod>     <prod>&g; Might & Magic 6</prod>   </games> </shop>

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

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

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

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

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

  • Родитель. Родителем для заданного является тот элемент, который находится ровно на 1 уровень выше. Например, для элемента "notebooks" родителем является "shop".

  • Дочерний элемент. Противоположность родителю. Дочерним элементом является тот, который находится ровно на 1уровень ниже и находится внутри заданного элемента. Например, дочерними элементами "shop" являются "notebooks" и "games". Обратите внимание, что родитель всегда один, тогда как дочерних элементом может быть много.

  • Предок. Предком является тот элемент для заданного, который находится на более, чем 1 уровень выше. Например, для элемента "prod" предком является "shop".

  • Потомок. Аналогично дочернему элементу, но только элементы должны быть ниже 1-го уровня вложенности в заданный элемент. Например, для "shop" потомком является "prod".

  • Брат. Элемент называется братом другому элементу, если он находится на том же уровне, что и другой. Безусловно, помимо одного уровня требуется и наличие общего родителя. Например, элементы "notebooks" и "games" являются братьями.

Вот и всё, что мне хотелось бы рассказать Вам о структуре XML-документа. И для закрепления рекомендую Вам сделать простенькую задачку: сделать внутри элемента prod ещё два элемента, один из которых будет содержать название продукта, а другой - его цену. Чтобы проверить правильность XML-документа, откройте его в браузере. Если никаких ошибок не возникло, значит, синтаксически всё написано правильно.

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]