ВУЗ:
Составители:
Рубрика:
целью генерировать формат VoxML для звукового исполнения полученных
данных.
Давайте углубимся теперь в первую стадию, преобразование, стадию, с
которой, прежде всего, имеет дело XSLT и которая обеспечивает возможность
получения на выходе разнообразных форматов данных. Эта стадия может
включать выборку данных, их объединение и группирование, сортировку или
выполнение арифметических действий, например перевод сантиметров в дюй-
мы.
Итак, как же это происходит? До появления языка XSLT исходные XML
документы можно было обрабатывать только с помощью специальных прило-
жений собственной разработки. От такого приложения не требовалось проведе-
ния структурного анализа необработанного XML документа, но оно должно
было через определенный интерфейс прикладного программирования (API, Ap-
plication Programming Interface) вызвать синтаксический анализатор XML, что-
бы получить из документа информацию и както обработать ее. Для этих целей
существует два основных API: SAX (Simple API for XML, простой API для
XML) и DOM (Document Object Model, объектная модель документа).
SAX это интерфейс, основанный на событиях, когда по мере анализа
документа синтаксический анализатор уведомляет приложение о каждом от-
дельном фрагменте данных. Если же используется DOM, синтаксический ана-
лизатор считывает документ и формирует в памяти его древовидную объект-
ную структуру. Можно затем написать собственное приложение (на одном из
процедурных языков: С++, Visual Basic или Java), которое будет производить
анализ полученной древовидной структуры. Это возможно, когда определена
специальная последовательность шагов, которые нужно выполнить для получе-
ния требуемого формата выходного документа. Таким образом, независимо от
типа используемого синтаксического анализатора, этот процесс всегда имеет
один и тот же существенный недостаток: для каждого нового типа XML
документа приходится создавать новую специальную программу, описывая по-
следовательность действий при обработке данного XML.
Почему же использование XSLT для выполнения преобразований XML
лучше, чем написание вручную специальных приложений? Идея XSLT основа-
на на том, что все эти приложения похожи друг на друга, и поэтому возможно
запрограммировать то, что они делают, используя описательный язык высокого
уровня, вместо того, чтобы создавать каждую программу от начала и до конца
на языках С++, Visual Basic или Java. Нужное преобразование можно выразить
через набор правил. Эти правила определяют, что должно генерироваться на
выходе, когда в исходном документе встречается тот или иной специфический
образец. Язык XSLT является описательным в том смысле, что он описывает
требуемое преобразование, а не выдает последовательность инструкций для его
выполнения. XSLT лишь описывает необходимое преобразование, а выбор наи-
более эффективного способа его осуществления предоставляется XSLT
процессору.
XSLT все еще использует синтаксический анализатор XML (неважно,
с каким интерфейсом, DOM или SAX), чтобы привести XMLдокумент к
44
Страницы
- « первая
- ‹ предыдущая
- …
- 42
- 43
- 44
- 45
- 46
- …
- следующая ›
- последняя »
