- if (std::string((const char *)attr->name) == "xmlns")
- {
- const xmlNode *val = attr->children;
- if (std::string((const char *)val->content)
- != "http://indexdata.dk/yp2/config/1")
- xml_dom_error(root,
- "expected xmlns=\"http://indexdata.dk/yp2/config/1\", got ");
- }
- }
- std::cout << "processing /yp2" << std::endl;
-
- // process <start> node which is expected first element node
- const xmlNode* node = jump_to_children(root, XML_ELEMENT_NODE);
- //for (; node && node->type != XML_ELEMENT_NODE; node = node->next)
- // ;
-
- check_node_name(node, "start");
- std::cout << "processing /yp2/start" << std::endl;
-
- // process <filters> node which is expected second element node
- node = jump_to_next(node, XML_ELEMENT_NODE);
- check_node_name(node, "filters");
- std::cout << "processing /yp2/filters" << std::endl;
-
- // process <filter> nodes in next level
- const xmlNode* node2 = jump_to_children(node, XML_ELEMENT_NODE);
- check_node_name(node2, "filter");
-
- unsigned int filter_nr = 0;
- while(node2 && std::string((const char *)node2->name) == "filter"){
- filter_nr++;
- std::cout << "processing /yp2/filters/filter["
- << filter_nr << "]" << std::endl;
- node2 = jump_to_next(node2, XML_ELEMENT_NODE);
- }
-
- // process <routes> node which is expected third element node
- node = jump_to_next(node, XML_ELEMENT_NODE);
- check_node_name(node, "routes");
- std::cout << "processing /yp2/routes" << std::endl;
-
- // process <route> nodes in next level
- node2 = jump_to_children(node, XML_ELEMENT_NODE);
- check_node_name(node2, "route");
-
- unsigned int route_nr = 0;
- while(node2 && std::string((const char *)node2->name) == "route"){
- route_nr++;
- std::cout << "processing /yp2/routes/route["
- << route_nr << "]" << std::endl;