#ifndef JEZUK_DOM_TRAVERSAL_DOCUMENT_TRAVERSAL_IMPL_H #define JEZUK_DOM_TRAVERSAL_DOCUMENT_TRAVERSAL_IMPL_H ///////////////////////////////////////// // C++ DOM Traversal Implementation // // $Id: TreeWalker.h 2 2002-06-21 11:16:28Z jez_higgins $ ///////////////////////////////////////// #include namespace Arabica { namespace DOM { namespace Traversal { template class DocumentTraversalImpl : public DocumentTraversal_impl { public: typedef DOM::Node NodeT; typedef NodeFilter NodeFilterT; typedef NodeIterator_impl NodeIterator_implT; typedef TreeWalker_impl TreeWalker_implT; typedef TreeWalkerImpl TreeWalkerImplT; DocumentTraversalImpl() {} virtual NodeIterator_implT* createNodeIterator(NodeT root, unsigned long whatToShow, NodeFilterT* filter, bool entityRefExpansion) { return 0; } virtual TreeWalker_implT* createTreeWalker(NodeT root, unsigned long whatToShow, NodeFilterT* filter, bool entityRefExpansion) { return new TreeWalkerImplT(root, whatToShow, filter, entityRefExpansion); } }; // class DocumentTraversalImpl //todo: move to DOM::Document? template DocumentTraversal make_document_traversal_t() { DocumentTraversal docTraversal(new DocumentTraversalImpl()); return docTraversal; } } // namespace Traversal } // namespace DOM } // namespace Arabica #endif //JEZUK_DOM_TRAVERSAL_DOCUMENT_TRAVERSAL_IMPL_H // end of file