Представление данных в S-выражениях

Требования

  1. Определите формат представления данных с древовидной структурой в виде S-выражений. В качестве семантической основы рекомендуется рассмотреть форматы XML и/или JSON. Допускается использование как классических S-выражений, так и расширенных, используемых в языке Clojure.
  2. Разработайте язык навигации и простых запросов для заданного формата. Должны поддерживаться: относительный или абсолютный путь к узлу дерева, путь с условиями на свойства промежуточных узлов, путь с переменной вложенностью. В качестве семантической основы рекомендуется рассмотреть язык XPath для XML. Реализуйте функции поиска и модификации заданного формата посредством этого языка.
  3. Разработайте представление схемы (по аналогии с XML Schema). Реализуйте функции проверки документа по схеме.

Дополнительные требования

Рекомендации

Ознакомьтесь XML-технологиями (SAX, DOM, XML Schema, XPath, XSLT)