Кищенко О.Н.
ЛЕКЦИИ по дисциплине «Языки информационного обмена»
2006 г. 1
Содержание Предисловие .................................................................................................................................4 Языки разметки ...........................................................................................................................5 Введение в XML...........................................................................................................................9 Синтаксис XML .........................................................................................................................11 Определения типа документа .................................................................................................21 Зачем нужно DTD. ......................................................................................................21 Написание определений DTD: общие принципы. ...................................................22 Недостатки и особенности определений DTD. ........................................................27 Моделирование данных и XML..............................................................................................29 Моделирование информации.....................................................................................29 Документы и данные..............................................................................................30 Статическая информационная модель .................................................................31 Динамическая информационная модель ..............................................................34 Проектирование документов XML............................................................................36 Отображение информационной модели на язык XML ...........................................39 Языки схемы и нотации..............................................................................................40 Объектная модель документа .................................................................................................42 Зачем нужна модель DOM .........................................................................................43 Модель DOM в окружающем мире ...........................................................................44 Клиент и сервер...........................................................................................................45 DOM и базы данных ...................................................................................................46 Применение DOM для создания комплексных документов XML .........................46 Пример использования модели DOM. ......................................................................47 Пространства имен и схемы...................................................................................................50 Смешение словарей ....................................................................................................51 Пространства имен......................................................................................................51 Использование и декларация пространств имен......................................................52 Схемы ...........................................................................................................................55 Проблемы определений DTD ................................................................................56 Усилия по созданию схем......................................................................................57 Связи и запросы.........................................................................................................................64 XML Information Set....................................................................................................64 Важность проекта Information Set .............................................................................70 Создание ссылок на языке XLink ..............................................................................71 2
Уточненные ссылки XPointer.....................................................................................72 Адресация на языке XPath..........................................................................................78 Язык запросов XQuery................................................................................................81 Трансформация документа XML ...........................................................................................85 Причины трансформации XML .................................................................................85 XSL ...............................................................................................................................86 Трансформация документа XML с помощью модели DOM...................................98 Дизайн документов XML .......................................................................................................100 Где осуществляется визуализация...........................................................................100 Трансформация XML на сервере ........................................................................100 Трансформация XML у клиента .........................................................................101 Модели представления .............................................................................................101 Формирование визуального изображения .........................................................101 Формирование звукового представления ..........................................................102 Как ассоциировать таблицу стилей с документом XML.......................................102 Языки, основанные на правилах..............................................................................103 Таблица стилей CSS..................................................................................................104 XSL .............................................................................................................................109 Web-службы..............................................................................................................................112 Основные понятия web-службы ..............................................................................112 Основы web-служб....................................................................................................114 Базовые технологии ..................................................................................................121 Web-службы конкурирующих фирм-производителей ..........................................126 Другие технологии....................................................................................................126 Система обмена сообщениями.................................................................................128 Список литературы.................................................................................................................130 Основная литература: ...............................................................................................130 Дополнительная литература: ...................................................................................130
3
ПРЕДИСЛОВИЕ Данный курс предназначен
для
студентов
3
курса,
имеющих
навыки
программирования в среде Microsoft Visual Studio .Net. В результате прохождения данного курса студент должен приобрести следующие знания: 1. Что такое языки разметки. Для чего они используются. Историю развития языков разметки. 2. Принципы моделирование данных с использованием XML. 3. Web службы. Построение Web служб: SOAP, UDDI, USDL, WSFL. Концепция .NET . А также научиться: 1. Использовать языки разметки. 2. Разрабатывать, отображать содержимое и извлекать необходимую информацию из XML-документов. 3. Разрабатывать и в дальнейшем использовать web-сервисы. В данном курсе использовались материалы: Хабибуллин И.Ш. «Самоучитель XML», Шапошников И.В. «Web- сервисы Microsoft .Net», Бумфрей Ф., Дирецо О., Дакетт Й. и др. «XML. Новые преспективы WWW», Дидье Мартин, Марк Бирбек, Майкл Кэй и др.
«XML
для
профессионалов»,
Алекс
Феррара,
Мэтью
Мак-Дональд
«Программирование web-сервисов для .NET», материалы сайта http://www.citforum.ru/
4
ЯЗЫКИ РАЗМЕТКИ Язык разметки (markup languages) - это набор специальных инструкций, называемых тэгами, предназначенных для формирования в документах какой-либо структуры и определения отношений между различными элементами этой структуры. Другими словами разметка показывает, какая часть документа является заголовком, какая подзаголовком, что следует считать именем автора и т. д. Разметка разделяется на стилистическую разметку, структурную и семантическую. Стилистическая разметка Стилистическая разметка отвечает за внешний вид документа. Например, в HTML к данному типу разметки относятся
такие теги
как (курсив),
(жирный), (подчеркивание), (перечеркнутый текст) и т.д. Структурная разметка Структурная разметка задает структуру документа. В HTML за данный тип разметки отвечают, например, теги
(параграф), (заглавие), (секция) и т.д. Семантическая разметка Семантическая разметка информирует о содержании данных. Примера данного типа разметки являются теги (имя документа),
(код, используется для листингов кода), (переменная), (адрес автора). Основными понятиями любого языка разметки являются теги, элементы и атрибуты. Тэги и элементы. Значения понятий тэги и элементы часто путают. Тэги, или, как их еще называю, управляющие дескрипторы, служат в качестве инструкций для программы, производящей показ содержимого документа на стороне клиента как поступить с содержимым тега. Для того чтобы выделить, тег, относительно основного содержимого документа используются угловые скобки: тег начинается со знака "меньше" (), внутри которых помещаются название инструкций и их параметры. Например, в языке HTML тег указывает на то, что следующий за ним текст должен быть выведен курсивом. Элемент – это тэги в совокупности с их содержанием. Следующая конструкция является примером элемента: Это текст, выделен курсивом . 5
Элемент состоит из открывающего тега (в нашем примере это тег ), содержимого тега (в примере это текст «Это текст, выделен курсивом») и закрывающего тега(), правда иногда в HTML, закрывающий тег можно опустить. Атрибуты Для того, что бы при определении элемента задать какие-либо параметры, уточняющие характеристики данного элемента используются атрибуты. Атрибуты состоят из пары "название" = "значение", которую надо задавать при определении элемента в начальном тэге. Слева и справа от символа равенства можно оставлять пробелы. Значение атрибута указывается в виде строки, заключенной в одинарные или двойные кавычки. Любой тэг может иметь атрибут, если этот атрибут определен. В случае использования атрибута элемент принимает следующую форму: