- •Лабораторная работа 4-03
- •3.1.2. Пространство имен xslt
- •3.1.3. Корневые элементы и элементы верхнего уровня документаXslt
- •3.1.4. Условное включение элемента
- •3.1.5. Модульная структура преобразованийXslt
- •3.1.4. Совместное использование преобразований и документов xml
- •3.2. Управление выводом в xslt
- •3.2.1. Элементxsl:output
- •3.2.2. Метод вывода "xml"
- •3.2.3. Метод вывода "xhtml"
- •3.2.4. Метод вывода "html"
- •3.2.5. Метод вывода "text"
- •3.3.Язык xslt
- •3.3.1. Образцы и шаблоны
- •3.3.2. Объявлениешаблона
- •3.3.3. Вызов неименованных правил шаблона
- •3.3.4. Создание узлов элементов и атрибутов вXslt
- •3.3.4.1. Элемент xsl:element
- •3.3.4.2. Элементxsl:attribute
- •3.3.4.3. Элементxsl:attribute-set
- •3.3.5. Создание текстовых узлов вXslt
- •3.3.5.1. Элементxsl:text
- •3.3.5.2. Элементxsl:value-of
- •3.3.5.3. Встроенные правила шаблона
- •3.3.5.4. Обработка пробельных символов
- •3.3.6. Создание узлов документа, комментариев, инструкций по обработке и пространства имен в xslt
- •3.3.6.1. Элемент xsl:document
- •3.3.6.2. Элементxsl:result-document
- •3.3.6.3. Элементxsl:comment
- •3.3.6.4. Элемент xsl:processing-instruction
- •3.3.6.5. Элементxsl:namespace
- •3.3.7. Копирование узлов вXslt
- •3.3.7.1. Элементxsl:copy
- •3.3.7.2. Элементxsl:copy-of
- •3.3.7.3. Элементxsl:sequence
- •3.3.8. Условная и циклическая обработка вXslt
- •3.3.8.1. Элементxsl:if
- •3.3.8.2. Элементы xsl:choose, xsl:when и xsl:otherwise
- •3.3.8.3. Элементxsl:for-each
- •3.3.9. Сортировка в xslt
- •3.3.10. Нумерация в xslt
- •3.3.11. Переменные и параметры в xslt
- •3.3.11.1. Переменные в xslt
- •3.3.11.2. Вызов именованных правил шаблона
- •3.3.11.3. Параметры в xslt
- •3.4. Выполнение преобразований документов в xmlSpy
- •3.4.1. Создание документа xslt
- •3.4.2. Выполнение преобразования xslt
- •4. Порядок выполнения работы
- •Вариант 5-01
- •Вариант 5-02
- •Вариант 5-03
- •Вариант 5-04
- •Вариант 5-05
- •Вариант 5-06
- •Вариант 5-07
- •Вариант 5-08
- •Вариант 5-09
- •Вариант 5-10
- •Вариант 5-11
- •Вариант 5-12
- •Вариант 5-13
- •Вариант 5-14
- •Вариант 5-15
- •Вариант 5-16
- •Вариант 5-17
- •Вариант 5-18
- •Вариант 5-19
- •Вариант 5-20
- •Вариант 5-21
- •Вариант 5-22
- •Вариант 5-23
- •Вариант 5-24
- •Вариант 5-25
- •Вариант 5-26
- •Вариант 5-27
- •Вариант 5-28
- •Вариант 5-29
- •Вариант 5-30
- •5. Содержание отчета
- •6. Вопросы для самоконтроля
Вариант 5-13
Создайте следующие преобразования XSLT для исходного документа XML, содержащего справочник полей языкаJava:
1. Преобразуйте исходный документ в новый документ XML со следующими элементами и атрибутами (элементы в выходном документе должны быть отсортированы по классам, в которых определено поле):
<field-list>(список полей) – корневой элемент;
<name>(наименование справочника) – элемент второго уровня с текстовым содержимым – наименованием справочника;
<field>(поле) – элемент второго уровня с атрибутомversion(версияJava, в которой впервые появилось поле);
<name>– (имя) – элемент третьего уровня с текстовым содержимым – именем поля;
<description> (описание поля) – элемент третьего уровня с текстовым содержимым – кратким описанием поля;
<class>(класс, в котором определено поле) – элемент третьего уровня с текстовым содержимым – именем класса;
<type>(тип поля) – элемент третьего уровня с текстовым содержимым – типом данных для поля;
<static>(статическое поле) – элемент третьего уровня с текстовым содержимым, которое имеет либо значение"yes", либо значение"no";
<protected>(защищенное поле) – элемент третьего уровня с текстовым содержимым, которое имеет либо значение"yes", либо значение"no";
<value>(значение поля) – элемент третьего уровня с текстовым содержимым – значением поля.
2. Преобразуйте исходный документ XML в документ HTML, содержащий поля для заданного класса. В документе HTML выводится общее количество найденных полей и, для каждого найденного поля, его имя, описание, тип и значение (с использованием поясняющих надписей и стилей CSS). Выводимые программы должны быть отсортированы по именам полей.
Вариант 5-14
Создайте следующие преобразования XSLT для исходного документа XML, содержащего расписание полетов самолетов:
1. Преобразуйте исходный документ в новый документ XML со следующими элементами и атрибутами (элементы в выходном документе должны быть отсортированы по времени вылета):
<new-airport-table>(расписание полетов) – корневой элемент;
<airport-list>(список аэропортов назначения) – элемент второго уровня;
<airport> (аэропорт назначения) – элемент третьего уровня с текстовым содержимым – наименованием аэропорта;
<airplane-type-list>(список типов самолетов) – элемент второго уровня;
<airplane-type>(тип самолета) – элемент третьего уровня с текстовым содержимым – типом самолета;
элементы <current-airport>,<date>и<airplane-table>копируются в выходной документ без изменения;
<number>(номер рейса) – элемент четвертого уровня с атрибутомvalue– номером рейса;
<departure>(время вылета) – элемент четвертого уровня с атрибутомtime– значением времени вылета;
<arrival>(время прилета в аэропорт назначения) – элемент четвертого уровня с атрибутомtime– значением времени прилета;
<airplane-ref> (ссылка на тип самолета) – элемент четвертого уровня с атрибутомrefтипаIDREF.
2. Преобразуйте исходный документ XML в документ HTML, содержащий авиарейсы для заданного аэропорта назначения. В документе HTML выводится общее количество найденных рейсов и, для каждого найденного рейса, его номер, тип самолета, время вылета и время прилета (с использованием поясняющих надписей и стилей CSS). Выводимые рейсы должны быть отсортированы по номерам рейсов.
