// Site Mapper // // Douglas Thrift // // $Id$ #ifndef _SiteMapper_hpp_ #define _SiteMapper_hpp_ #include #include #include #include #include #include //using namespace std; extern std::string program; extern bool debug; #include "Page.hpp" #include #include #include #include #include #include #include #include #include #include XALAN_USING_XERCES(XMLPlatformUtils) XALAN_USING_XERCES(LocalFileInputSource) XALAN_USING_XALAN(XObjectPtr) XALAN_USING_XALAN(XPath) XALAN_USING_XALAN(XPathEvaluator) XALAN_USING_XALAN(NodeRefList) XALAN_USING_XALAN(XalanDocument) XALAN_USING_XALAN(XalanDocumentPrefixResolver) XALAN_USING_XALAN(XalanDOMString) XALAN_USING_XALAN(XalanNode) XALAN_USING_XALAN(XalanSourceTreeInit) XALAN_USING_XALAN(XalanSourceTreeDOMSupport) XALAN_USING_XALAN(XalanSourceTreeParserLiaison) class SiteMapper { private: std::ostringstream comment; std::vector pages; std::map > newPages; XalanSourceTreeInit init; XalanSourceTreeDOMSupport support; XalanSourceTreeParserLiaison liaison; XPathEvaluator evaluator; XPath* item; XPath* address; XPath* link; XPath* list; XPath* port; XPath* path; XPath* title; void oldMap(const std::string& siteMap); void oldMap(std::vector& pages, XalanNode* list); void newIndex(const std::string& siteIndex); bool newIndex(std::vector& pages, Page& page); void newMap(const std::string& siteMap); void newMap(std::vector& pages, const std::string& childOf, std::multimap& newPages); public: SiteMapper(const std::string& siteIndex, const std::string& siteMap); ~SiteMapper() {} }; #endif // _SiteMapper_hpp_