// Site Mapper // // Douglas Thrift // // $Id$ #include "SiteMapper.hpp" #include "Matcher.hpp" #include "Page.hpp" #include #include #include #include #include #include #include #include #include XALAN_USING_XERCES(XMLPlatformUtils) XALAN_USING_XERCES(LocalFileInputSource) XALAN_USING_XALAN(XObjectPtr) XALAN_USING_XALAN(XPathEvaluator) 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) string program; bool debug = false; int main(int argc, char* argv[]) { program = argv[0]; string siteIndex, siteMap; for (int index = 1; index < argc; index++) { string arg(argv[index]); Matcher matcher; if (arg == matcher("^-index=(.*)$")) { siteIndex = matcher[1]; } else if (arg == matcher("^-map=(.*)$")) { siteMap = matcher[1]; } else if (arg == "-D") { if (!debug) debug = true; } } if (siteIndex != "" && siteMap != "") { XMLPlatformUtils::Initialize(); XPathEvaluator::initialize(); SiteMapper mapper(siteIndex, siteMap); XPathEvaluator::terminate(); XMLPlatformUtils::Terminate(); } else { cout << "Usage: " << program << " -index=index -map=map [-D]\n"; } return 0; } SiteMapper::SiteMapper(const string& siteIndex, const string& siteMap) { XalanSourceTreeInit init; oldMap(siteMap); index(siteIndex); newMap(siteMap); } void SiteMapper::oldMap(const string& siteMap) { XalanSourceTreeDOMSupport support; XalanSourceTreeParserLiaison liaison(support); support.setParserLiaison(&liaison); XalanDOMString file(siteMap.c_str()); LocalFileInputSource source(file.c_str()); XalanDocument* document = liaison.parseXMLStream(source); if (document == 0) return; XPathEvaluator evaluator; XalanNode* list = evaluator.selectSingleNode(support, document, XalanDOMString("/page/section/list").c_str()); if (list == 0) return; } void SiteMapper::index(const string& siteIndex) { // } void SiteMapper::newMap(const string& siteMap) { // }