#ifndef JEZUK_SimpleDOM_COMMENTIMPL_H #define JEZUK_SimpleDOM_COMMENTIMPL_H #include #include namespace Arabica { namespace SimpleDOM { template class CommentImpl : public DOM::Comment_impl, public CharacterDataImpl { typedef CharacterDataImpl CharDataT; public: CommentImpl(DocumentImpl* ownerDoc, const stringT& data) : CharacterDataImpl(ownerDoc, data) { } // CommentImpl virtual ~CommentImpl() { } /////////////////////////////////////////////////////// // DOM::Node methods virtual DOM::Node_base::Type getNodeType() const { return DOM::Node_base::COMMENT_NODE; } // getNodeType virtual DOM::Node_impl* cloneNode(bool deep) const { return CharDataT::ownerDoc_->createComment(CharDataT::getData()); } // cloneNode virtual const stringT& getNodeName() const { static const stringT comment = string_adaptorT::construct_from_utf8("#comment"); return comment; } // getNodeName }; // class CommentImpl } // namespace SAX2DOM } // namespace Arabica #endif