Использование расширяемых языков разметки для хранения структурированных данных. Теоретический материал о принципах и методах использования расширяемых языков разметки

Страницы работы

Фрагмент текста работы

ЛАБОРАТОРНАЯ РАБОТА № 6 Использование расширяемых языков разметки для хранения структурированных данных.

ХОД РАБОТЫ

1.  Изучить теоретический материал о принципах и методах использования расширяемых языков разметки.

2.  Изучить конструкции языка XML, способы описания структуры документа средствами DTD, описания схемы документа на языке XSD. Изучить способы обработки документов XML.

3.  Написать XML документ для одной из перечисленных предметных областей (не менее трех уровней вложений, не менее 10 атрибутов):

·  Книжный каталог

·  Адресная книга

·  Книга рецептов

·  Прайс-лист компании

·  Расписание занятий

·  Табло рейсов самолетов

·  Каталог сайтов

·  БД студентов

·  БД склада компании

·  Каталог фирм

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

5.  Описать схему документа на языке XSD.

6.  Преобразовать документ средствами XSLT.

7.  Ознакомиться с примерами 001-029.

8.  Добавить вывод названия родительской категории рядом с названием сайта в примере 009а.

9.  Создать таблицу стилей (файл 010.xsl) для примера 010.

10.  Создать таблицу стилей (файл fighters.xsl) для примера 011. Учесть тот факт, что не все записи (элементы <fighter>) содержат все возможные поля (вложенные тэги) - например <photo>, <coach>.

11.  Для каждого из наборов данных XML, размещенных в  папке 030, создать stylesheet (таблицу стилей) - файл *.xsl.

Таблицу стилей нужно привязать к соответствующему XML документу, чтобы она автоматически применялась при открытии XML документа в Internet Explorer или Mozilla Firefox.

В результате применения таблицы стилей XML документ должен принимать вид нормальной оформленной для пользователя веб-страницы (с использованием таблиц, списков, оформления). Все данные из XML документа должны найти то или иное отображение в выходной форме.

Можно добавлять, изменять данные в файлах в рамках имеющейся структуры. Однако таблица стилей должна работать нормально и на исходных наборах данных.

В примерах 7...28 использовались различные конструкции XSLT. Нужно их применить все в выполняемых заданиях. Таким образом, в каждом из выполняемых заданий должно быть использовано как минимум по 3 позиции из указанных 22 примеров.

В результате должно получиться 10 файлов *.xsl, которые приводят 10 документов *.xml в удобоваримый, красивый, читабельный вид.

12.  Оформить отчет, включающий тексты XML, DTD, XSD, XSLT документов и копии экранов с  демонстрацией преобразованных документов в Internet Explorer.

ИСПОЛЬЗУЕМЫЕ ИСТОЧНИКИ

1.  http://ru.wikipedia.org/wiki/XSLT

2.  http://www.w3schools.com/xsl/

3.  http://zvon.org/xxl/XSLTutorial/Output_rus/index.htm


ПРИЛОЖЕНИЕ А

СТРУКТУРА ПАПОК С ФАЙЛАМИ – ПРИМЕРАМИ

001. Документ XML. Элементы, вложенные элементы. Открывающие, закрывающие тэги.

002. Использование кириллицы. Декларация документа XML. Указание кодировки текста (windows-1251).

003. Использование атрибутов элементов для хранения дополнительных данных.

004. Использование вложенных элементов для хранения дополнительных данных.

005. Макет каталога (категории).

006. Макет каталога (часть категорий заполнено).

007. Использование стиля XSL (вывод списка категорий). Декларация документа XSL. Пространство имен xsl. Элементы xsl:stylesheet, xsl:output, xsl:template, xsl:apply-templates, xsl:value-of.

008. XML+XSL вывод категорий и списков сайтов. Тэг xsl:attribute.

009. Вывод категорий и сайтов с проверкой условия (пустые категории не выводятся). Тэг - xsl:if. Функция count().

009a. Вывод тех же xml-данных, но с другим стилем (в виде таблицы). Использование тэга xsl:for-each. Альтернативный способ вставки значений в атрибуты тэгов (<a href ="{url}" >). Задание: добавить вывод названия родительской категории рядом с названием сайта.

010. Пример RSS-фида (используется, например, в блогах, новостях). Задание: по аналогам из предыдущих примеров создать таблицу стилей для 010.xml (в файле 010.xsl), а также привязать её к нему.

011 (внеклассное). Дан документ (fighters.xml), в самостоятельном порядке создать к нему таблицу стилей XSLT. Учесть тот факт, что не все записи (элементы <fighter>) содержат все возможные поля (вложенные тэги) - например <photo>, <coach>.

012. Пример шаблона XSL без обработки корневого элемента. Задаются шаблоны для элементов <bold>, <red>, <italic>, в остальном используются шаблоны по умолчанию, в т.ч. для корневого шаблона (отсутствует шаблон match="/"). Создание собственные тэги <green>, <blue>, модификация шаблона для <red> для обработки новых тэгов (match="red|green|blue"), использование функции name() для вывода значения цвета шрифта по имени текущего тэга.

013. Взят набор данных XML, который отдается ЦБ РФ по запросу на извлечение курсов на определенную валюту. Пример использования адресации всех узлов данного типа в документе (//Record). Элемент xsl:text.

014. Оформление данных в виде таблицы. Два шаблона - для ValCurs и Record. Использование переменных - xsl:variable. Функции concat, substring-before, substring-after. Функция format-number (пробуем её не использовать - видим неформатированные числа). Элемент xsl:when, xsl:choose, xsl:otherwise (аналогия switch-case-default в C/PHP, case X of/else/end в Pascal/Delphi).

015. Структура документа - <NavTree>-<Folder>-<Item>. Структура дерева. Особенность - шаблон для folder используется как для папок, так и для подпапок (субфолдеров). Не по теме - использование сообщений Javascript (alert) в ссылках (href ="javascript:...") на элементы дерева (item).

Укрупненно тему занятия можно считать "основные возможности XPath". Полезно прочитать русский перевод спецификации XPath.

016 - адресация узлов //Folder - выбрать узлы Folder на любом уровне

Похожие материалы

Информация о работе