2008-11-05 03:54:49 +01:00
|
|
|
#ifndef ARABICA_XSLT_STYLESHEET_HPP
|
|
|
|
#define ARABICA_XSLT_STYLESHEET_HPP
|
|
|
|
|
|
|
|
namespace Arabica
|
|
|
|
{
|
|
|
|
namespace XSLT
|
|
|
|
{
|
|
|
|
|
|
|
|
#include <string>
|
|
|
|
#include <iostream>
|
|
|
|
#include <DOM/Node.hpp>
|
2012-11-06 20:35:28 +01:00
|
|
|
template<class string_type, class string_adaptor> class Sink;
|
2008-11-05 03:54:49 +01:00
|
|
|
|
|
|
|
class Stylesheet
|
|
|
|
{
|
|
|
|
public:
|
|
|
|
virtual ~Stylesheet() { }
|
|
|
|
|
|
|
|
virtual void set_parameter(const std::string& name, bool value) = 0;
|
|
|
|
virtual void set_parameter(const std::string& name, double value) = 0;
|
|
|
|
virtual void set_parameter(const std::string& name, const char* value) = 0;
|
|
|
|
virtual void set_parameter(const std::string& name, const std::string& value) = 0;
|
|
|
|
|
2012-11-06 20:29:22 +01:00
|
|
|
virtual void set_output(Sink<std::string>& sink) = 0;
|
2008-11-05 03:54:49 +01:00
|
|
|
|
|
|
|
virtual void set_error_output(std::ostream& os) = 0;
|
|
|
|
|
|
|
|
virtual void execute(const DOM::Node<std::string>& initialNode) const = 0;
|
|
|
|
}; // class Stylesheet
|
|
|
|
|
|
|
|
} // namespace XSLT
|
|
|
|
} // namespace Arabica
|
|
|
|
|
|
|
|
#endif
|