Представление данных в S-выражениях
Требования
- Определите формат представления данных с древовидной структурой в виде
S-выражений. В качестве семантической основы рекомендуется рассмотреть форматы
XML и/или JSON. Допускается использование как классических S-выражений, так и
расширенных, используемых в языке Clojure.
- Разработайте язык навигации и простых запросов для заданного формата.
Должны поддерживаться: относительный или абсолютный путь к узлу дерева, путь с
условиями на свойства промежуточных узлов, путь с переменной вложенностью. В
качестве семантической основы рекомендуется рассмотреть язык XPath для XML.
Реализуйте функции поиска и модификации заданного формата посредством этого
языка.
- Разработайте представление схемы (по аналогии с XML Schema). Реализуйте
функции проверки документа по схеме.
Дополнительные требования
- Разработайте язык трансформации в HTML, как упрощенный аналог XSLT.
- Реализуйте модель разбора по аналогии с XML SAХ, обеспечте поддержку
трансформации и валидации по схеме в этом режиме.
Рекомендации
Ознакомьтесь XML-технологиями (SAX, DOM, XML Schema, XPath, XSLT)