ViewVC Help
View File | Revision Log | Show Annotations | Download File | View Changeset | Root Listing
root/repos/SiteMapper/SiteMapper.cpp
(Generate patch)

Comparing SiteMapper/SiteMapper.cpp (file contents):
Revision 134 by Douglas Thrift, 2004-03-24T22:23:19-08:00 vs.
Revision 135 by Douglas Thrift, 2004-03-25T01:02:24-08:00

# Line 8 | Line 8
8   #include "Matcher.hpp"
9   #include "Page.hpp"
10  
11 #include <xalanc/Include/PlatformDefinitions.hpp>
12 #include <xercesc/util/PlatformUtils.hpp>
13 #include <xercesc/framework/LocalFileInputSource.hpp>
14 #include <xalanc/XPath/XObject.hpp>
15 #include <xalanc/XPath/XPathEvaluator.hpp>
16 #include <xalanc/DOMSupport/XalanDocumentPrefixResolver.hpp>
17 #include <xalanc/XalanSourceTree/XalanSourceTreeDOMSupport.hpp>
18 #include <xalanc/XalanSourceTree/XalanSourceTreeInit.hpp>
19 #include <xalanc/XalanSourceTree/XalanSourceTreeParserLiaison.hpp>
20
21 XALAN_USING_XERCES(XMLPlatformUtils)
22 XALAN_USING_XERCES(LocalFileInputSource)
23 XALAN_USING_XALAN(XObjectPtr)
24 XALAN_USING_XALAN(XPathEvaluator)
25 XALAN_USING_XALAN(XalanDocument)
26 XALAN_USING_XALAN(XalanDocumentPrefixResolver)
27 XALAN_USING_XALAN(XalanDOMString)
28 XALAN_USING_XALAN(XalanNode)
29 XALAN_USING_XALAN(XalanSourceTreeInit)
30 XALAN_USING_XALAN(XalanSourceTreeDOMSupport)
31 XALAN_USING_XALAN(XalanSourceTreeParserLiaison)
32
11   string program;
12   bool debug = false;
13  
# Line 78 | Line 56 | int main(int argc, char* argv[])
56  
57   SiteMapper::SiteMapper(const string& siteIndex, const string& siteMap)
58   {
81        XalanSourceTreeInit init;
82
59          oldMap(siteMap);
60          index(siteIndex);
61          newMap(siteMap);
# Line 87 | Line 63 | SiteMapper::SiteMapper(const string& sit
63  
64   void SiteMapper::oldMap(const string& siteMap)
65   {
66 +        XalanSourceTreeInit init;
67          XalanSourceTreeDOMSupport support;
68          XalanSourceTreeParserLiaison liaison(support);
69  
# Line 104 | Line 81 | void SiteMapper::oldMap(const string& si
81                  XalanDOMString("/page/section/list").c_str());
82  
83          if (list == 0) return;
84 +
85 +        oldMap(pages, evaluator, support, list);
86 + }
87 +
88 + void SiteMapper::oldMap(vector<Page>& pages, XPathEvaluator& evaluator,
89 +        XalanSourceTreeDOMSupport& support, XalanNode* list)
90 + {
91 +        NodeRefList nodes = evaluator.selectNodeList(support, list,
92 +                XalanDOMString("item").c_str());
93 +
94 +
95 +        for (int index = 0; index < nodes.getLength(); index++)
96 +        {
97 +                XalanNode* node = nodes.item(index);
98 +
99 +                cerr << "node=" << node << '\n';
100 +
101 +                ostringstream url, title;
102 +
103 +                {
104 +                        XObjectPtr address = evaluator.evaluate(support, node,
105 +                                XalanDOMString("link/@address").c_str());
106 +
107 +                        if (!address.null())
108 +                        {
109 +                                url << address->str();
110 +                                cerr << "url=" << url.str() << '\n';
111 +                        }
112 +                }
113 +
114 +                {
115 +                        XObjectPtr link = evaluator.evaluate(support, node,
116 +                                XalanDOMString("link").c_str());
117 +
118 +                        if (!link.null())
119 +                        {
120 +                                title << link->str();
121 +                                cerr << "title=" << title.str() << '\n';
122 +                        }
123 +                }
124 +
125 +                Page page(url.str(), title.str());
126 +                if (title.str() == "Contact") cerr << node << '\n';
127 +                XalanNode* list = evaluator.selectSingleNode(support, node,
128 +                        XalanDOMString("list").c_str());
129 +
130 +                cerr << "list=" << list << '\n';
131 +
132 +                if (list != 0) oldMap(page.getChildren(), evaluator, support, list);
133 +
134 +                pages.push_back(page);
135 +        }
136   }
137  
138   void SiteMapper::index(const string& siteIndex)

Diff Legend

Removed lines
+ Added lines
< Changed lines
> Changed lines