#ifndef ARABICA_XSLT_MESSAGE_HANDLER_HPP #define ARABICA_XSLT_MESSAGE_HANDLER_HPP #include "../xslt_message.hpp" #include "xslt_item_container_handler.hpp" namespace Arabica { namespace XSLT { template class MessageHandler : public ItemContainerHandler > { typedef ItemContainerHandler > baseT; typedef StylesheetConstant SC; public: MessageHandler(CompilationContext& context) : baseT(context) { } // MessageHandler protected: virtual Message* createContainer(const string_type& /* namespaceURI */, const string_type& /* localName */, const string_type& qName, const SAX::Attributes& atts) { static const ValueRule rules[] = { { SC::terminate, false, SC::no, SC::AllowedYesNo }, { string_adaptor::empty_string(), false, 0, 0 } }; return new Message(gatherAttributes(qName, atts, rules)[SC::terminate] == SC::yes); } // createContainer }; // class MessageHandler } // namespace XSLT } // namespace Arabica #endif