Домашнее задание

  1. Описать одно их XML-приложений Можно взять XML-приложения из списка организации OASYS
  2. Преобразовать документ учебного характера (учебную программу) в XML-формат.
    Построить XSL-файл для преобразования в HTML.
    Можно использовать файлы с описанием программы "XML-технологии": (___2010_VSE.rar)
    Список программ
    progs.rar
  3. Обработка XML-документов (см.варианты). Выполнить преобразования двумя способами:
  4. Web-сервисы
    Построить клиента к одному из Web-сервисов, существующего в Интернете:
    Варианты 1-26. Web-сервисы ЦБ
    дополнительно: http://webservices.aeroflot.ru
    Варианты:
    1. AirportList - список аэропортов
    2. AirportInfo - информация об аэропорте по его коду
    3. DateList - список дат, за которые есть информация
    4. Arrival/Departure - информация о прибытии/отправлении рейсов
    5. FlightSearch - поиск рейса по номеру
    6. FlightInfo - подробная информация о текущем состоянии рейса (по ключу, полученному в результате вызова Arrival/Departure/FlightSearch).

Варианты

  1. Объединить два документа с одинаковой структурой. Элементы одного типа считаются различными, если имеют различные значения атрибута ID. Если элементы одинаковые, объединяются их подэлементы.
  2. Добавить в элементы <country name="имя"> подэлементы с заданным именем из другого документа, выбирая их из соответствующих элементов.
  3. Найти перечесение двух документов с одинаковой структурой, в которых элементы идентифицируются атрибутом ID.
  4. Для XML-документа с выбранной простой фиксированной структурой построить документ с описанием схемы (на языке XML-Schema, отображая только вложенность).
  5. Для XML-документа с выбранной простой фиксированной структурой сгенерировать описание класса на C#(Java), подготовленного для сериализации. Сериализованный документ должен совпадать с исходным.
  6. Документ содержит описание графа. Элемент вида <V id="1"/> - вершина, <L from="1" to="2"/> - дуга. Проверить правильность задания графа и вывести матрицу смежности.
  7. Сравнить в двух XML-документах первый наденный узел с заданным именем.
  8. Добавить отсутствующие элементы указанного типа на заданный уровень (из другого документа).
  9. Выбрать из заданного текстового элемента возможные атрибуты. Атрибут выбирать по шаблону. Например, для шаблона "школа" элемент .... школа 10 ... преобразовать в .... школа 10 ...
  10. Удалить из XML-документа все узлы, имеющего заданный атрибут с определенным значением.
  11. Объединить все подузлы узла заданного типа в один текстовый узел.
  12. Найти все элеметы (сформировать из них XML-документ), у которых атрибут "дата" имеет заданный диапазон значений.
  13. Сгруппировать узлы заданного типа по значению атрибута, например, <person sex="M">... <person sex="M"> ... <person sex="F"> в <person-M> <person>... <person> ... </person-M> <person-F> <person>... <person> ... <person-F>.
  14. Отсортировать элементы, имеющие подэлементы типа дата в формате dd-mm-yyyy, по mm-dd.
  15. Найти в текстовых узлах заданное слово (словосочетание) и заменить его на ссылку, добавив соответстующую сущность в описание типа документа.
  16. Удалить из документа все комментарии, содержащие заданную подстроку.
  17. Сформировать из комментариев HTML-файл с сохранением уровней вложенности. Переход на вложенный уровень по гиперрсылке.
  18. Добавить в имена тегов (по заданному списку имен) заданный префикс, добавив также в корневой элемент описание пространства имен.
  19. Для элементов заданного типа вывести таблицу (HTML-файл) с колонками, помеченными именами атрибутов, и значениями атрибутов в ячейках таблицы.
  20. По элементам типа <раздел имя="заголовок...">, возможно, вложенными друг в друга, сформировать оглавление с нумераций (1.заголовок ... 1.1 ... 1.2...) и тегами H1, H2 ... с выводом в HTML-файл.
  21. Из документа с описанием товаров вывести все товары заданного типа (по значению атрибута) с ценой меньше заданной.
  22. По документу, содержащему информацию об объектах недвижимости, вычислить среднюю стоимость объетов по типам.
  23. Преобразовать атрибуты с заданным именем в подэлементы.
  24. В документе на одном уровне находятся элементы с описанием личностей и автомобилей. В элементе "автомобиль" имеется атрибут, указывающий владельца посредством уникальныго атрибута личности. Построить документ, в котором автомобили становятся подэлементами владельцев.
  25. Продублировать элементы столько раз, сколко указано в инструкции обработки, вложенной в элемент (например, <?clone 2 ?> - два раза).
  26. Упорядочить атрибуты во всех элементах по алфавиту.
  27. Найти узел с указанным именем, имеющим наибольшее число подузлов.
  28. Добавить в узел атрибут, указывающий количество подузлов каждого типа.
  29. Упорядочить подэлементы заданного элмента по убыванию (возрастанию) значения атрибута "age" (с числовым значением).
  30. Создать на верхем уровне узел с именем "all-имя" и перенести все узлы с именем "имя" в подузлы созданного узла, не повторяя значений.
  31. Для указанного элемента и его подузлов произвести сотрировку по значению первого атрибута.
  32. Преобраовать XML-таблицу из одного представление в другое.
  33. По числовым атрибутам заданного элемента добавить итоговый элемент. Например, после <a x='1' y='2'/><a x='3' y='4'/> добавить <a x='4' y='6'/>.
  34. Транспонировать XML-матрицу, каждая строка которой представлена элементом. Например,
    <row R='x' b='1' c='2'/><row R='x' b='3' c='4'/>
    преобразуется в
  35. В заданном элементе есть атрибуты, указывающие дату начала и дату конца. Заменить этот элемент на последовательность элементов с одним атрибутом даты, имеющим значениям со всеми промежуточными датами
  36. Для элемента <занятие день='пт' группа='1' дисциплина='информатика' препод=''/> сгенерировать последовательность таких же элементов, в которых атрибут день пробегает значения в заданном диапазоне дат.
  37. Вместо содержимого элемента <md>x</md> вставить содержимое элемента, нахощегося после комбинации <md>x</md><mo>=</mo> в другом документе