- •Лабораторная работа 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-17
Создайте следующие преобразования XSLT для исходного документа XML, содержащего учебные программы дисциплин:
1. Преобразуйте исходный документ в новый документ XML со следующими элементами и атрибутами (элементы в выходном документе должны быть отсортированы по специальностям):
<new-study-subject-list>(список дисциплин) – корневой элемент;
<study-subject>(дисциплина) – элемент второго уровня с атрибутамиend-date(дата окончания составления программы) иfio(фамилия, имя и отчество преподавателя);
<name>(наименование дисциплины) – элемент третьего уровня с текстовым содержимым – наименованием дисциплины;
<information>(информация о дисциплине) – элемент третьего уровня;
<specialty>(специальность, по которой проходит дисциплина) – элемент четвертого уровня с текстовым содержимым;
<general-information>(общие сведения) – элемент четвертого уровня с текстовым содержимым – краткими сведениями о дисциплине;
<aims-and-goals>(цели и задачи дисциплины) – элемент четвертого уровня с текстовым содержимым – кратким описанием целей и задач дисциплины;
Элементы <content>,<methodic>и<source-list> со своими дочерними элементами копируются в выходной документ без изменения.
2. Преобразуйте исходный документ XML в документ HTML, содержащий учебные программы по заданной дисциплине. В документе HTML выводится общее количество найденных программ и, для каждой найденной программы, ее наименование, общие сведения, цели и задачи дисциплины, а также фамилия, имя и отчество преподавателя (с использованием поясняющих надписей и стилей CSS). Выводимые программы должны быть отсортированы по своим наименованиям.
Вариант 5-18
Создайте следующие преобразования XSLT для исходного документа XML, содержащего контракты на выполнение работ:
1. Преобразуйте исходный документ в новый документ XML со следующими элементами и атрибутами (элементы в выходном документе должны быть отсортированы по ФИО контрактантов):
<new-contract-list>(список контрактов) – корневой элемент;
<contract>(контракт) – элемент второго уровня с атрибутомresults-proprietor– собственник результатов работы;
<title(заголовок контракта) – элемент третьего уровня с атрибутомdate– датой заключения контракта;
<city>(город) – элемент третьего уровня с текстовым содержимым – местом заключения контракта;
<director>(заказчик) – элемент третьего уровня с атрибутамиorganization– организация иfio– фамилия, имя и отчество заказчика;
<contractor>(контрактант) – элемент третьего уровня с атрибутамиstatus – должность, на которую принимают контрактанта,fio– фамилия, имя и отчество контрактанта и month-salary– месячная зарплата;
<conditions>(условия контракта) – элемент третьего уровня с текстовым содержимым;
элемент третьего уровня <task-content-list>(список заданий) со своими дочерними элементами копируется в выходной документ без изменения;
<duration>(сроки выполнения работ по контракту) – элемент третьего уровня;
<time-begin>(начальное время) – элемент четвертого уровня с текстовым содержимым – временем начала действия контракта;
<time-end>(конечное время) – элемент четвертого уровня с текстовым содержимым – временем окончания действия контракта.
2. Преобразуйте исходный документ XML в документ HTML, содержащий контракты для заданного ФИО заказчика. В документе HTML выводится общее количество найденных контрактов и, для каждого найденного контракта, его заголовок, ФИО контрактанта, сроки выполнения работ, месячная зарплата и условия контракта (с использованием поясняющих надписей и стилей CSS). Выводимые контракты должны быть отсортированы по ФИО контрактанта.
