Название: Базы данных. Концепция баз данных, реляционная модель данных, языки SQL и XML (Токмаков Г. П.)

Жанр: Информационные системы и технологии

Просмотров: 1401


7.2. язык xml и его основы

 

В последние годы консорциум W3C (WWW Consorcium) ведет активную дея- тельность,  направленную  на  радикальный  пересмотр  основ  Web-технологий. В результате был создан язык разметки XML (Extensible Markup Language  рас- ширяемый язык разметки), служащий для описания и обработки информацион- ных ресурсов Web.

Основная цель создания XML  обеспечение совместимости при передаче структурированных данных между разными системами обработки информации, особенно при передаче таких данных через Интернет. Этого удалось добиться путем возврата к разметке документов на логическом уровне, а не на уровне форматирования отдельных элементов.

У языка XML много общего с языком HTML, так как концепции обоих языков ба- зируются на понятии разметки документа. Таким образом, XML и HTML являются родственным языками, происходящими от общего предка  языка SGML. На ос- нове XML могут быть созданы другие специализированные языки разметки (на- пример, MathML), иногда называемые словарями.

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

В XML реализованы более жесткие правила определения структуры доку- мента, чем в HTML, и большинство компонентов и возможностей данного языка ориентированы на представление логической структуры документа. Эту ориен- тацию еще больше усиливают сопутствующие стандарты, такие как XML Schema.

На Рис. 7.1.   приведен фрагмент типичного XML-документа, содержащего описание второй части нашего учебного пособия. Продемонстрируем на основе

этого примера основные концепции XML.

 

7.2.1.  О БЪЯ В Л Е НИЕ  XML

 

Первая строка XML-документа называется объявлением XML. Это необяза- тельная строка, указывающая версию стандарта XML (обычно это 1.0), также здесь может быть указана кодировка символов и внешние зависимости.

 

 

Спецификация требует, чтобы процессоры XML обязательно поддерживали Юникод-кодировки UTF‐8 и UTF‐16 (UTF‐32 не обязателен). Признаются допусти- мыми, поддерживаются и широко используются (но не обязательны) другие ко- дировки, основанные на стандарте ISO/IEC 8859. Также допустимы другие ко- дировки, например, русские Windows-1251, KOI-8.

Объявление типа документа решает три задачи:

– задает корневой элемент документа (для XML-документа корневым элемен-

том является xml, а для HTML-документа  html);

– определяет элементы, атрибуты и сущности, используемые в документе.

Первая строка XML-документа на Рис. 7.1.           идентифицирует его как доку-

мент XML 1.0. Остальные его части определяют структуру, атрибуты и содер-

жимое элементов.

 

7.2.2.  Э ЛЕМЕН Т Ы  И  ТЕГИ

 

Остальная часть этого XML-документа состоит из вложенных элементов. Некоторые из этих элементов имеют атрибуты и содержимое. Элемент обыч- но состоит из открывающего и закрывающего тегов, обрамляющих текст и дру- гие элементы. Открывающий тег состоит из имени элемента в угловых скоб- ках. Например, в рассмотренном примере абзацы идентифицируются откры- вающим тегом <para>, а заголовки - открывающим тегом <header>.

Конец каждого элемента в XML-документе идентифицируется закрывающим

тегом, содержащим символ косой черты ‘/’ и имя типа элемента, заключенные между символами угловыми скобками. Так, на Рис. 7.1.  абзацы заканчиваются

тегом </para>, а заголовки  тегом </header>.

158-

G

 
17        !

i wx cmytayoy

>

<section>

 

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

 

7.2.3.  А ТРИБУТ Ы

 

Часто требуется связать некоторую информацию с блоком данных, а не просто включить эту информацию в качестве содержания этих данных. Поэто- му  кроме  содержания  у   элемента  могут  быть  атрибуты    пары  «имя- значение», добавляемые в открывающий тег после названия элемента. Значения атрибутов всегда заключаются в кавычки. Атрибут ассоциируется с отдельным XML-элементом и описывает некоторые его характеристики. У каждого атрибута имеется имя и значение. На Рис. 7.1.   элемент <chapter> содержит атрибут ChapNum, значением которого является номер главы. Элемент <chapter>, таким образом, связывает номер главы с ее содержимым. У элементов <header> тоже есть атрибут, названный hdrNum. Значением этого атрибута является номер раз- дела.

 

7.2.4.  И ЕРАРХИЧНОСТЬ  СТРУКТУРЫ  XML- ДОКУМЕНТА

 

Иерархическая структура XML является одним из его ключевых параметров. В приведенном примере показана иерархия элементов, типичная для большин- ства XML-документов. На верхнем уровне располагается элемент <book>. Его со- держимым является не текст, а последовательность элементов <chapter>. Каж- дый элемент <chapter> содержит элемент <title>, за ним может следовать не- сколько  вводных  элементов  <para> и  затем  последовательность  элементов

<section.

Каждый элемент <section> содержит элемент <header> и  один или  не-

сколько элементов <para>, которые могут перемежаться элементами <figure> и

<table>. Содержимым элемента <para> является только текст.

Спецификация XML определяет правила, в соответствии с которыми необхо-

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

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

 

7.2.5.  К ОММЕН Т АРИИ

 

Как в HTML, так и в XML позволяет включать в документ комментарии, кото- рые не интерпретируются ни как содержимое, ни как разметка. XML коммента- рии размещаются внутри пары тегов <!‐‐ и ‐‐>, и могут быть помещены в лю- бом месте дерева. Комментарии полезны для создания заметок о структуре до- кумента и изменениях, которые вы намерены внести в него в будущем.

Вот пример комментария