Книга: Технология XSLT

Использование класса XalanTransformer

Использование класса XalanTransformer

Теперь, когда мы разобрались со всякого рода настройками, можно заняться самой программой. Типичный сценарий использования Xalan в программе можно проиллюстрировать следующим кодом.

Листинг 9.2. Типовой сценарий использования Xalan

// Инициализируем Xerces
XMLPlatformUtils::Initialize();
// Инициализируем класс XalanTransformer
XalanTransformer::initialize();
// Создаем экземпляр класса XalanTransformer
XalanTransformer theXalanTransformer;
...
// Выполняем преобразование
theXalanTransformer.transform( ... );
...
// Освобождаем XalanTransformer
XalanTransformer::terminate();
// Освобождаем Xerces
XMLPlatformUtils::Terminate();

В соответствии с этим сценарием наша программа будет выглядеть следующим образом:

#include "StdAfx.h"
#include "util/PlatformUtils.hpp"
#include "XalanTransformer/XalanTransformer.hpp"
#include "strstream"
int main(int argc, const char* argv[]) {
 using std::cerr;
 // Инициализируем Xerces
 XMLPlatformUtils::Initialize();
 // Инициализируем класс XalanTransformer
 XalanTransformer::initialize();
 // Создаем экземпляр класса XalanTransformer
 XalanTransformer theXalanTransformer;
 // Выполняем преобразование
 int theResult = theXalanTransformer.transform("source.xml",
  "stylesheet.xsl", "document.out");
 // В случае, если произошла ошибка, выводим, информацию о ней
 if (theResult != 0) {
  cerr << "XalanError: n" << theXalanTransformer.getLastError();
 }
 // Освобождаем XalanTransformer
 XalanTransformer::terminate();
 // Освобождаем Xerces
 XMLPlatformUtils::Terminate();
 return theResult;
}

Оглавление книги


Генерация: 2.476. Запросов К БД/Cache: 3 / 1
поделиться
Вверх Вниз