
- •1. Технологии публикации баз данных
- •1.1. Сценарии JavaScript, jScript и vbScript
- •1.2. Элементы управления ActiveX
- •1.3. Апплеты и сервлеты Java
- •1.4. Интерфейсы cgi и WinCgi
- •1.5. Интерфейсы isapi/nsapi
- •1.6. Asp, php и idc/htx-страницы
- •1.7. Формирование Web-страниц
- •1.8. Интерфейсы ole db, ado, odbc
- •1.9. Статическая публикация бд
- •1.10. Динамическая публикация бд
- •1.12. Протоколы передачи данных
- •1.13. Универсальный указатель ресурсов
- •3. Расширяемый язык разметки xml
- •3.1. Составляющие xml-документа
- •3.2. Информационные объекты
- •3.3. Определение типа документа
- •3.4. Xml как средство обмена данными
- •4. Программа xml Mapper
3. Расширяемый язык разметки xml
Расширяемый язык разметки XML представляет собой дальнейшее развитие языка HTML и по сравнению с ним обеспечивает ряд дополнительных возможностей, таких как:
подготовка и настройка XML-документов со сложной структурой;
использование информационных объектов (entity) для работы с группами данных;
описание типа документа DTD (Document Type Definition);
контроль правильности документа;
использование XML-формата для хранения структурированных однотипных данных (ранее для этой цели применялись только БД).
Отметим, что XML принадлежит подмножеству стандартного обобщенного языка разметки SGML (Standard Generalized Markup Language). Хотя язык SGML предоставляет более развитые возможности по сравнению с XML, однако его применение требует больших затрат времени на подготовку и обработку соответствующего SGML-документа. Поэтому он не получил такого широкого распространения, как XML или HTML.
Главное отличие XML от HTML заключается в том, что с помощью XML выполняется не только наполнение создаваемого документа содержанием с указанием разметки, но и определяется структура документа и типы хранимых в нем данных. Средства XML обеспечивают стандартизованное представления данных, облегчая тем самым задачу использования (импорта) данных из других источников.
Документы XML можно разделить на правильно построенные (well-formed) и действительные (valid).
Правильно построенные документы XML удовлетворяют спецификации XML, но не имеют определения типа документа DTD (Document Type Definition).
Действительные документы XML, в отличие от правильно построенных, содержат также определение типа документа DTD (определяющее типы используемых данных и возможную структуру документа) или ссылаются на него.
Спецификация XML поддерживается рядом современных программ просмотра, в частности, браузерами Internet Explorer с версии 4.0 и выше и Netscape Navigator 5.0 и выше.
При описании XML-документа накладываются следующие дополнительные (по сравнению с HTML) ограничения:
каждому открывающему тегу должен соответствовать закрывающий тег;
пары открывающих и закрывающих тегов могут вкладываться друг в друга, однако пересечение открывающего и закрывающего тегов не допускается;
при определении элементов н атрибутов учитывается регистр символов;
все значения атрибутов должны указываться в одинарных (' ') или двойных (" ") кавычках.
Рассмотрим более подробно составляющие XML-документа, их назначение, объявления и примеры использования.
3.1. Составляющие xml-документа
В XML-документе обычно присутствуют следующие составляющие: элементы, атрибуты, информационные объекты и комментарии.
Элементы представляют собой части документа. Объявление элемента выполняется так:
<!ELEMENT Имя Содержание>
Объявление элементов может размещаться внутри документа или в определении типа документа DTD. В DTD можно объявить произвольное число элементов, при этом не все из них должны использоваться в документе XML. Отдельные элементы могут содержать другие элементы. Например, для указания того, что элемент еmрlоуее(сотрудник) содержит элементы surname (фамилия) и post (должность), нужно поместить в DTD определения элементов в следующем порядке:
<!ELEMENT surname(#PCDATA)>
<!ELEMENT post(#PCDATA)>
<!ELEMENT employee(surname, post)>
Здесь строка #pcdata является атрибутом и указывает, что соответствующий элемент содержит символьные данные.
Другие символы служат для задания режима использования элемента, например, что элемент в содержании документа необязателен или может использоваться несколько раз. Основные символы, применяемые при описании элемента, приведены в табл. 13.1.
Таблица 13.1
Основные символы для описания элемента
-
Символ
Имя символа
Назначение
( )
Круглые скобки
Содержит альтернативные элементы или элементы списка
|
Вертикальная
линия
Разделение альтернативных элементов
?
Знак вопроса
Элемент может отсутствовать или использоваться один раз
,
Запятая
Разделение элементов в списке
*
Звездочка
Элемент может отсутствовать или использоваться любое число раз
+
Плюс
Элемент должен использоваться не менее одного раза
Например, в строке
<!ELEMENT employee(surname, post+)>
знак + указывает на то, что в составе элемента employee элемент post должен присутствовать не менее одного раза.
Атрибуты служат для уточнения характеристик элементов, вида содержащейся в них информации и порядка ее размещения. Атрибуты можно указывать в строке объявления элемента (как показано выше) или в описании DTD в задаваемом с помощью тега <!attlist> списке атрибутов. Для действительного документа XML объявление атрибута в DTD задается следующим образом:
<!ATTLIST Имя_элемента Имя_атрибута Тип Значение_по_умолчанию>
Атрибут элемента может быть строковым, маркированным или перечислимым и иметь следующие типы и назначение:
cdata — символьные данные;
Enumerated — набор возможных значений;
id — уникальный идентификационный номер;
idref — указатель на элемент с заданным значением id;
idrefs — указатель на несколько элементов в документе с помощью списка id, разделенного пробелами;
entity — имя внешнего информационного объекта;
entities — указатель на несколько внешних информационных объектов с помощью множества имен, разделенных пробелами;
nmtoken — имя XML;
notation — имя в обозначении, объявленном в DTD;
nmtokens — множество имен XML, разделенных пробелами.
Например, предположим, что в документе содержится тег вида:
<greeting language="Russia">
Приведенный тег может быть объявлен в DTD следующим образом:
<!ELEMENT greeting #PCDATA
<!ATTLIST greeting language CDATA "English"
Здесь в первой строке указывается, что элемент greeting может содержать контролируемые символьные данные. Во второй строке для этого элемента задается атрибут language типа cdata, и для атрибута устанавливается значение English, используемое по умолчанию.
Комментарии в XML, как и в HTML, пишутся в обрамлении открывающего <!-- и закрывающего --> тегов.