Смекни!
smekni.com

Методические указания к лабораторным работам для студентов III курса фпми всех направлений и специальностей новосибирск (стр. 1 из 6)

Министерство образования и науки Российской Федерации

НОВОСИБИРСКИЙ ГОСУДАРСТВЕННЫЙ ТЕХНИЧЕСКИЙ УНИВЕРСИТЕТ

ЯЗЫКИ ИНФОРМАЦИОННОГО ОБМЕНА

Методические указания к лабораторным работам
для студентов III курса ФПМИ всех направлений

и специальностей

НОВОСИБИРСК

2008

Составитель: О.Н. Кищенко, ассистент кафедры ПСиБД.

Рецензент: Кобылянский В.Г., к.ф.-м.н., доцент кафедры ПСиБД.

Работа подготовлена на кафедре программных систем

и баз данных

Содержание

ВВодные замечания.. 4

Лабораторная работа №1. Правильно оформленный XML документ. 5

1. Методические указания. 5

2. Перечень вопросов к разработке. 11

3. Варианты заданий. 12

4. Контрольные вопросы.. 13

Лабораторная работа №2. Отображение XML документа с помощью каскадной таблицы стилей. 14

1. Методические указания. 14

2. Перечень вопросов к разработке. 18

3. Контрольные вопросы.. 18

Лабораторная работа №3. Отображение XML документа с помощью XSL. 19

1. Методические указания. 19

2. Перечень вопросов к разработке. 26

3. Контрольные вопросы.. 26

Лабораторная работа №4. Отображение XML документа с помощью связывания данных. 27

1. Методические указания. 27

2. Перечень вопросов к разработке. 30

3. Контрольные вопросы.. 31

Лабораторная работа №5. Отображение XML документа с помощью DOM.. 32

1. Методические указания. 32

2. Перечень вопросов к разработке. 34

3. Контрольные вопросы.. 35

Лабораторная работа № 6. Написание WEB-сервиса для обработки XML документа. 36

1. Методические указания. 36

2. Перечень вопросов к разработке. 39

3. Контрольные вопросы.. 40

Список литературы.. 41


ВВодные замечания

Лабораторный практикум состоит из 6 лабораторных работ, ориентированных на получение навыков создания оформления и обработки XML-документов.

Материал к каждой работе разделен на следующий разделы:

- методические указания к лабораторным работам,

- задание к выполнению,

- контрольные вопросы.

Защита работ предполагает демонстрацию выполненного задания и ответы на контрольные вопросы.

Для проведения лабораторных работ по данному курсу используется Microsoft Visual Studio .Net.

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

- что такое языки разметки и для чего они используются,

- принципы моделирования данных с использованием XML,

- Web службы. Построение Web служб: SOAP, UDDI, USDL, WSFL. Концепция .NET .

А также научиться:

использовать языки разметки,

разрабатывать, отображать содержимое и извлекать необходимую информацию из XML-документов,

разрабатывать и в дальнейшем использовать web-сервисы.


Лабораторная работа №1

правильно оформленный XML-документ

Цель работы: Изучить конструкции языка XML. Научиться составлять валидные XML документы.

1. Методические указания

Любой XML-документ состоит из следующих частей [2-5,7-8]:

• Необязательный пролог.

• Тело документа.

• Необязательный эпилог, следующий за деревом элементов.

Пролог состоит из нескольких частей:

1. необязательное объявление XML (XML Declaration), которое заключено между символами <?...?>. Объявление содержит:

· пометку xml и номер версии (version) спецификации XML;

· указание на кодировку символов (encoding), в которой написан документ (по умолчанию encoding=”UTF-8”);

· параметр standalone, который может принимать значения “yes” или “no” (по умолчанию standalone=”yes”). Значение “yes” показывает, что в документе содержатся все требуемые декларации элементов, a “no” – что нужны внешние определения DTD.

Все это вместе может выглядеть следующим образом:

<?xml version ="1.0" encoding-"windows-1251" standalone="yes"?>.

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

После объявления могут следовать комментарии, команды обработки, символы пустых пространств.

2. необязательное объявление типа документа DTD (Document Type Declaration), которое заключено между символами <!DOCTYPE...> и может занимать несколько строк. После объявления типа документа так же могут следовать комментарии, команды обработки и символы пустых пространств.

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

<ns:city ns:type=”город”>Новосибирск</ns:city>.

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

<ns:root_element_name xmlns:ns = “http://URI_namespace”>

Атрибут xmlns может появиться в любом элементе XML. Определенный им префикс можно применять в том элементе, в котором он записан, и во всех его вложенных элементах. В элементе можно определить несколько пространств имен. Во вложенных элементах пространство имен можно переопределить.

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

1. другие элементы;

2. символьные данные;

3. ссылки на символы; они используются, чтобы вставить в текст документа некоторый символ, который, например, не присутствует в раскладке клавиатуры либо может быть неправильно истолкован анализатором. Ссылка на символ начинается со знака «амперсанта» и заканчивается точкой с запятой:

&# код_символа_в_Unicode; или &#xШестнадцатеричный_код_символа;.

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

&имя_сущности;.

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

5. комментарии; используются для того, чтобы сделать какой-то фрагмент "невидимым" для программы-анализатора.

<!--…текст комментария…-->

6. разделы CDATA; используются для того, чтобы задать область документа, которую при разборе анализатор будет рассматривать как простой текст, игнорируя любые инструкции и специальные символы. Программа-анализатор не разбивает секцию CDATA на элементы, а считает ее просто набором символов. В отличие от комментариев, содержание данной секции не игнорируется, а передается без изменений на выход программы анализатора, благодаря чему его можно использовать в приложении. Секция CDATA начинается со строки <![cdata[ после которой записывается содержимое секции. Завершается секция двумя закрывающими квадратными скобками и знаком "больше":

<![CDATA[ содержание секции ]]>

7. инструкции по обработки. Инструкции по обработке содержат указания программе-анализатору документа XML. Инструкции по обработке заключаются между символами <? и ?>. Сразу за начальным вопросительным знаком записывается имя программного модуля, которому предназначена инструкция. Затем через пробел идет сама инструкция, передаваемая программному модулю. Сама инструкция – это обычная строка, которая не должна содержать набор символов «?>», означающий конец инструкции.

Открывающие теги либо теги пустых элементов в XML могут содержать атрибуты, представляющие собой пару имя=значение. Атрибуты могут содержать ссылки на объекты, ссылки на символы, текстовые символы. В отличие от языка HTML, в XML значения атрибутов обязательно надо заключать в апострофы (‘), либо в кавычки (“). Атрибут может быть записан в одном из двух форматов:

имя_атрибута=”значение_атрибута” или имя_атрибута= 'значение_атрибута’.

Описание структуры документа средствами DTD

Для связывания декларации DTD с экземпляром документа в версии XML 1.0 предлагается специальная декларация DOCTYPE [2-5, 7-8].

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

Блок внутренней декларации разметки тега DOCTYPE состоит из левой квадратной скобки, списка деклараций и правой квадратной скобки: