- •Лабораторная работа 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-15
Создайте следующие преобразования XSLT для исходного документа XML, содержащего научный отчет по теме:
1. Преобразуйте исходный документ в новый документ XML со следующими элементами и атрибутами:
<new-report>(отчет) – корневой элемент;
<theme>(тема) – элемент второго уровня с атрибутомend-date– датой окончания выполнения отчета и с текстовым содержимым – наименованием темы;
<author-list>(список исполнителей отчета) – элемент второго уровня;
<author>(исполнитель отчета) – элемент третьего уровня;
<fio>(фамилия и инициалы исполнителя) – элемент четвертого уровня с текстовым содержимым – фамилией и инициалами исполнителя;
<status>(должность) – элемент четвертого уровня с текстовым содержимым – должностью исполнителя;
<sections>(разделы) – элемент четвертого уровня с текстовым содержимым – списком идентификаторов разделов, в написании которых принимал участие исполнитель;
<annotation>(аннотация работы) – элемент второго уровня;
<page-number>(количество страниц) – элемент третьего уровня с текстовым содержимым – количество страниц в работе;
<figure-number>(количество рисунков) – элемент третьего уровня с текстовым содержимым – количество рисунков в работе;
<table-number>(количество таблиц) – элемент третьего уровня с текстовым содержимым – количество таблиц в работе;
<source-number>(количество) – элемент третьего уровня с текстовым содержимым – количество источников в работе;
<text>(текст аннотации) – элемент третьего уровня с текстом аннотации;
элемент <content>и все его дочерние элементы копируются в выходной документ без изменения.
2. Преобразуйте исходный документ XML в документ HTML, содержащий все разделы, в которых принимал участие заданный автор. В документе HTML выводится общее количество найденных разделов и, для каждого найденного раздела, его наименование, а также количество абзацев, таблиц и рисунков (с использованием поясняющих надписей и стилей CSS).
Вариант 5-16
Создайте следующие преобразования XSLT для исходного документа XML, содержащего справочник классов языкаJava:
1. Преобразуйте исходный документ в новый документ XML со следующими элементами и атрибутами (элементы в выходном документе должны быть отсортированы по именам классов):
<new-class-list>(список классов) – корневой элемент;
<name>(наименование справочника) – элемент второго уровня с текстовым содержимым – наименованием справочника;
<class>(класс) – элемент второго уровня с атрибутамиname– именем класса иversion– версиейJava, в которой впервые появился класс;
<description> (краткое описание класса) – элемент третьего уровня с текстовым содержимым – кратким описанием класса;
<modifiers>(модификаторы класса) – элемент третьего уровня;
<static>(статический класс) – элемент четвертого уровня, который имеет либо значение"yes", либо значение"no";
<final>(финальный класс) – элемент четвертого уровня, который имеет либо значение"yes", либо значение"no";
<abstract> (абстрактный класс) – элемент четвертого уровня, который имеет либо значение"yes", либо значение"no";
<superclass>(класс-родитель) – элемент третьего уровня с текстовым содержимым – именем класса-родителя;
Элементы <subclass-list>,<subclass>,<interface-list>,<interface>,<fields-list>,<field>,<methods-list>и<method> копируются в выходной документ без изменений.
2. Преобразуйте исходный документ XML в документ HTML, содержащий классы для заданного класса-родителя. В документе HTML выводится общее количество найденных классов и, для каждого найденного класса, его имя, описание, класс-родитель, а также количество дочерних классов, интерфейсов, полей и методов (с использованием поясняющих надписей и стилей CSS). Выводимые классы должны быть отсортированы по именам классов.
