2007-07-19 19:01:42 +02:00
|
|
|
#ifndef ARABICA_XSLT_PARAM_HPP
|
|
|
|
#define ARABICA_XSLT_PARAM_HPP
|
|
|
|
|
|
|
|
#include "xslt_variable_impl.hpp"
|
|
|
|
|
|
|
|
namespace Arabica
|
|
|
|
{
|
|
|
|
namespace XSLT
|
|
|
|
{
|
|
|
|
|
2012-11-06 09:29:42 +01:00
|
|
|
template<class stringT, class adaptorT>
|
2012-11-06 21:21:39 +01:00
|
|
|
class Param : public Variable_impl<stringT, adaptorT>
|
2007-07-19 19:01:42 +02:00
|
|
|
{
|
|
|
|
public:
|
2012-11-06 09:29:42 +01:00
|
|
|
typedef stringT string_type;
|
|
|
|
typedef adaptorT string_adaptor;
|
2012-11-04 23:34:40 +01:00
|
|
|
|
2012-11-06 09:29:42 +01:00
|
|
|
Param(const string_type& name,
|
|
|
|
const Arabica::XPath::XPathExpressionPtr<string_type, string_adaptor>& select,
|
2008-11-19 18:26:07 +01:00
|
|
|
const Precedence& precedence) :
|
2012-11-06 21:27:20 +01:00
|
|
|
Variable_impl<string_type, string_adaptor>(name, select, precedence)
|
2007-07-19 19:01:42 +02:00
|
|
|
{
|
|
|
|
} // Param
|
|
|
|
|
|
|
|
virtual ~Param() { }
|
|
|
|
|
|
|
|
protected:
|
2012-11-08 18:13:33 +01:00
|
|
|
virtual void execute(const DOM::Node<string_type, string_adaptor>& node, ExecutionContext<string_type, string_adaptor>& context) const
|
2007-07-19 19:01:42 +02:00
|
|
|
{
|
|
|
|
context.declareParam(node, *this);
|
|
|
|
} // declare
|
|
|
|
}; // Param
|
|
|
|
|
2009-11-23 22:00:23 +01:00
|
|
|
|
2007-07-19 19:01:42 +02:00
|
|
|
} // namespace XSLT
|
|
|
|
} // namespace Arabica
|
|
|
|
#endif
|
|
|
|
|