Технология XSLT
Шрифт:
□ В некоторых случаях XSLT-преобразования документов оказываются, наоборот, настолько сложны, что из соображений эффективности и простоты бывает намного легче использовать традиционные языки.
□ Во многих проектах использование XSLT может обеспечить легкую и гибкую интеграцию. Например, если одним из этапов процедуры обмена XML-данными будет XSLT-преобразование, расширение количества форматов, известных системе, будет производиться не дописыванием исходного кода, а добавлением преобразований. А поскольку XSLT обеспечивает не только синтаксические, но и семантические преобразования, то есть преобразования на структурном уровне, роль
□ Использование XSLT-преобразований может коренным образом упростить создание Web-ориентированных приложений. Надо сказать, что во многих случаях XSLT-преобразования просто избавляют от необходимости программировать что-либо на других языках; однако даже тогда, когда без традиционных подходов не обойдешься, XSLT служит хорошую службу, обеспечивая простой, удобный и легко настраиваемый вывод фрагментов HTML.
В этом разделе мы приведем примеры использования преобразований в различных языках и средах разработки. Конечно же, предлагаемые программы очень просты, но и их уже должно быть достаточно, чтобы начать применять XSLT в составе своих проектов.
Выполнение XSLT-преобразований в Object Pascal
В этой главе мы приведем пример использования XSLT-преобразований в простом проекте, созданном в среде разработки Delphi. Базовым языком Delphi является Object Pascal. Решение, которое мы предложим, будет основываться на использовании библиотеки MSXML Parser 3.0 от Microsoft.
Небольшое приложение, которое мы создадим, будет преобразовывать XML-документ (по умолчанию — "
Импорт MSXML в Delphi
Первым шагом после создания нового проекта (назовем его
Для того чтобы импортировать библиотеку типов MSXML, выберем пункт меню Project/Import Type Library… (рис. 9.1).
Рис. 9.1. Импорт MSXML — шаг 1
В появившемся диалоге выберем пункт "Microsoft XML v3.0 (Version 3.0)" и создадим новый модуль кнопкой Create Unit (рис. 9.2).
Рис. 9.2. Импорт MSXML — шаг 2
Получившийся файл
Для того чтобы использовать MSXML в нашем проекте, нам потребуется включить модуль
Форма
Нам понадобится форма с тремя страничками и тремя компонентами
Приблизительный внешний вид формы показан на рис. 9.3.
Рис. 9.3. Внешний вид формы проекта
Использование DOMDocument
Объектная модель XML-документа в импортированной библиотеке будет представлена интерфейсом
Для того чтобы создать экземпляры объектов наших документов, мы воспользуемся классом
Для того чтобы загрузить XML-файл, мы воспользуемся функцией
При загрузке файла вполне вероятны ошибки. Например, XML-документ может не являться хорошо оформленным. Для того чтобы успешно справиться с такого рода исключительными ситуациями, мы будем использовать конструкцию
Для выполнения самого преобразования нам будет нужно использовать функцию
Для удобства мы можем также добавить диалоги для загрузки файлов и многое другое, но эти усовершенствования мы здесь разбирать не будем. Ограничимся тем, что приведем главную часть исходного кода этого проекта.