1. Генератор тестовых XML-данных
По заданным схемам DTD или XSD генерируется набор согласованных
XML-документов. Параметры генерации: количество элементов,
законы распределения значений, общий объем данных и т.п.
Значения элементов могут выбираться из справочников.
Если в документах предусмотрены ссылки (уникальные ID-атрибуты),
они должны быть согласованы.
По сгенерированным данным провести нагрузочное тестирование алгоритмов
обработки (например, XSLT-преобразований).
В качестве примера можно взять XML-схему выписки ЦБ РФ (или какого-либо
другого XML-приложения).
2. Генератор классов C# по схемам XML-документов
По заданным схемам DTD или XSD генерируется программа на C#
с описанием согласованных классов и процедур сериализации
и десериализации. Сгенерированная программа должна иметь интерфейс
для загрузки и выгрузки XML-докуметов с проверкой действительности и
некоторый набор методов для типовых алгоритмов обработки данных.
3. Расписание занятий в ВУЗе
Разработать программу редактирования расписания. На входе и на
выходе - XML-документ. Редактор расписания должен использовать
справочники потоков, групп, дисциплин, аудиторий и т.п.
Экспорт и импорт в Excel.
Расписание занятий в форме XML-документа размещается на сайте ВУЗа.
Клиентская программа скачивает расписание и производит обработку
с помощью набора XSLT-преобразований:
- выборка расписания для заданной группы;
- выборка расписания для кафедры (только дисциплины, читаемые заданной
кафедрой);
- и т.п.
Такая же обработка может быть предусмотрена и на самом сайте.
4. Учебные планы
Разработать XML-представление для учебных планов.
Разработать программу редактирования учебного плана в форме XML-документа.
Предусмотреть экспорт и импорт в Excel согласно с существующими формами.
Программа должна выполнять расчеты часов и делать выборки по кафедрам,
курсам, модулям, циклам и т.п.
Преобразование в HTML с помощью XSLT. Размещение на сайте.
5. Учебные программы
Разработать XML-представление для учебной программы.
Разработать программу редактирования учебной программы в форме XML-документа.
Программа должна выполнять расчеты часов по видам нагрузки и проверять
согласование с учебным планом.
Преобразование с помощью XSLT (CSS) в стандартные представления
учебных программ. Размещение на сайте.
6. Образовательные Госстандарты нового поколения
Разработать XML-представление для образовательного Госстандарта,
списка компетенций.
Разработать программу редактирования Госстандарта в форме XML-документа.
Учесть профессиональные стандарты в области информационных
технологий АПКИТ (www.apkit.ru). Перевести эти стандарты в XML и
использовать в качестве справочников компетенций при редактировании
образовательных Госстандартов.
7. Учет учебной нагрузки на кафедре
Разработать комплекс XML-документов и их схем для информационного
обеспечения кафедры.
Разработать программу расчета учебной нагрузки.
Есть прототипы.
8. Генерация программ по XMI-представлению UML-диаграмм
Пакет ArgoUML для построения диаграмм UML сохраняет их
в стандартном XML-представлении. Разработать XSLT-преобразователи,
генерирующие программные коды на некотором языке программирования
(например, C#). Можно ограничиться диаграммами классов.
При повторной генерации программа должна сохранять коды методов,
внесенные программистом вручную.
9. Конвертор XML-программ в программы на заданном языке программирования
Результатом синтаксического анализа во многих трансляторах
является синтаксическое атрибутированное дерево, которое может
быть представлено в виде XML-документа. Разработать программу
(на C# или в виде XSLT-преобразователей), которая по этому
дереву строит программу на заданном языке программирования.
Имеются 1) примеры для очень ограниченного языка с XSLT-преобразователями;
2) транслятор с Компонентного Паскаля, выдающий XML-дерево;
3) программа на C#, переводящая XML-дерево в программу на C.
10. Построитель отчетных форм по XML-документам
Разработать редактор отчетов, строящихся на основе
XML-документов. В результате построения внешнего
представления генерируется XSLT-преобразование, переводящее
XML в HTML, который и выводится на экран (печать).
Отчет должен предусматривать сортировку, группировку, выборку
колонок, подведение итогов и т.п.
Есть прототип.
11. Редактор XML-документов
Разработать программу для редактирования XML-документов,
предусматривающую выполнение типовых массовых операции по изменению
и реструктуризации документов. Возможно подключение новых
операций в виде XSLT-преобразвателей.
Визуальный интерфейс строится динамически на основе некоторого
описания типа XForms.
Профессианальный аналог: InfoPath из Microsoft Office.
Имеется прототип, включающий графический редактор экранных форм.
12. Многоязычный справочник для изучения языков программирования
Имеются XML-описания грамматик языков Компонентныей Паскаль, С#,
Java, C++. Разработать программу-справочник по этим языкам, в том
числе предусматривающей сравнительное изучение основных конструкций,
функций. Элементы языков должны быть снабжены примерами, описаниями.
Программа должна позволять пополнять описание и примеры.
По набору возможностей достаточно ограничится возможностями языка КП,
как наиболее простого и компактного.
13. Проверка эквивалентности двух XPath-выражений на заданной DTD-схеме
XML-документа
Задача относится к оптимизации запросов в XML-ориентированных
базах данных. Алгоритм извествен по публикациям на англ.языке.
(http://homepages.inf.ed.ac.uk/libkin/publ.html).
В алгоритме используется аппарат темпоральных логик и конечных
автоматов.