Российские Электронные Библиотеки

XML и функциональное программирование

Данные представляются на XML в виде упорядоченных иерархий, называемых XML-документами, которые образуются вложенными друг в друга элементами XML-документа. Языки функционального программирования оперируют списками, где список определяется как упорядоченный набор членов. Список может содержать в качестве своих членов другие списки, т.е. являться многоуровневым. Благодаря естественной близости между иерархической структурой XML-документов и многоуровневыми списками в языках функционального программирования, представляемая на XML информация очень хорошо поддается описанию в виде многоуровневых списков.

Представленный в виде многоуровневого списка XML-документ может теперь рассматриваться как данные на языке функционального программирования и даже как вычислимая программа, поскольку языки функционального программирования используют списки для представления и своих данных, и своего кода. Как следствие из этого любопытного факта, языки функционального программирования естественным образом поддерживают структуры данных XML и обеспечивают их эффективную обработку.

Получившие широкое распространение язык преобразования XML-документов XSLT и язык запросов XML - XQuery являются функциональными, и поэтому они могут быть компактно и естественно реализованы средствами языков функционального программирования. Языки функционального программирования позволяют создавать элегантные XML-приложения; и по сравнению с традиционными языками программирования (в частности, процедурными и объектно-ориентированными), языки функционального программирования более привлекательны для создания законченных XML-приложений.

Интеграция XML и языков функционального программирования возможна также и в обратном направлении: те алгоритмы обработки многоуровневых списков, которые были накоплены за более чем 30-летнюю историю существования языков функционального программирования, дают интересные и актуальные результаты при их применении в контексте преобразования XML-документов и XML-запросов.

В предлагаемом ниже методическом материале раскрываются преимущества, которые могут быть получены при представлении содержащихся в XML-документе данных в виде многоуровневых списков, и доказывается формальная правомерность подобного представления. Рассматриваются такие актуальные в контексте электронных библиотек языки платформы XML, как XPath, XSLT и XLink, и с помощью функциональной парадигмы иллюстрируются базовые принципы, лежащие в основе этих языков. Затрагиваются вопросы расширения и интеграции этих языков платформы XML функциональными методами, что обеспечивает мощную и гибкую технологию для основанных на XML электронных библиотек.

Методический материал по теме


Поиск:
Последнее обновление страницы было произведено: 2004-01-05

Все предложения и пожелания по содержанию и структуре портала направляйте по адресу: rdlp@iis.ru