Главная » XSLT » Опрос XML-документа – Введение

0

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

«Официальным» языком запросом для XML является не XSLT, а XQuery (http://www.w3.org/TR/xquery/). У языков XSLT и XQuery много общего, но есть и очевидные различия. Например, и XSLT, и XQuery полагаются на XPath. Одна­ко XSLT-сценарий записывается в синтаксисе XML, тогда как для программ на XQuery определены две синтаксических нотации: в виде XML и в виде, больше ориентированном на человека (http://www.w3.org/TR/xqueryx).

Когда была впервые выдвинута идея языка запросов для XML, отличного от XSLT, отношение к ней было противоречивым. Многие члены сообщества XML полагали, что эти языки будут слишком сильно перекрываться. И действительно, любой запрос, сформулированный на XQuery, можно реализовать также и на XSLT. Причем во многих случаях решение на XSLT оказывается таким же компактным, как и на XQuery. Преимущество языка XQuery заключается в том, что в общем случае понять написанную на нем программу проще, чем эквивалентную программу на XSLT. Для тех, кто знаком с языком SQL, освоение XQuery не представит серьезных сложностей. Конечно, легкость овладения новым материалом – это еще и функция от того, к чему вы привыкли, поэтому все сравнения не абсолютны.

Детальное рассмотрение языка XQuery и сравнение его с XSLT выходит за рамки настоящей главы. Вместо этого мы приведем примеры запросов для тех, кто уже потратил время на изучение XSLT и не хочет учить еще один относящий­ся к XML язык.

Невозможно предложить примеры, исчерпывающие все многообразие запро­сов к XML-данным. Поэтому мы поступим иначе. Сначала приведем примеры примитивных запросов с достаточно широкой областью применимости. Они ста­нут кирпичиками, из которых будут строиться более сложные запросы. Затем мы покажем, как можно подойти к решению большинства задач, приведенных в каче­стве примеров в документе XML Query Use Cases, который опубликован на сайте W3C (http://www.w3.org/TR/xmlquery-use-cases). Для многих актуальных задач вы сможете найти в этом документе похожий сценарий. А затем уже не составит труда адаптировать решение к вашим XML-данным.

Мангано Сэл  XSLT. Сборник рецептов. – М.: ДМК Пресс, СПБ.: БХВ-Петербург, 2008. – 864 с.: ил.

По теме:

  • Комментарии