+void yp2::filter::QueryRewrite::Rep::configure(const xmlNode *filter)
+{
+
+ //std::cout << "XML node '" << filter->name << "'\n";
+ yp2::xml::check_element_yp2(filter, "filter");
+
+ const xmlNode* regex
+ = yp2::xml::jump_to_children(filter, XML_ELEMENT_NODE);
+
+ while (regex){
+ //std::cout << "XML node '" << regex->name << "'\n";
+ yp2::xml::check_element_yp2(regex, "regex");
+
+ // parsing action
+// const xmlNode* action
+// = yp2::xml::jump_to_children(regex, XML_ATTRIBUTE_NODE);
+// if (action){
+// std::cout << "XML node '" << action->name << "' '";
+// std::cout << yp2::xml::get_text(action) << "'\n";
+// //yp2::xml::check_element_yp2(expression, "expression");
+// }
+
+ // parsing regex expression
+ std::string expr;
+ const xmlNode* expression
+ = yp2::xml::jump_to_children(regex, XML_ELEMENT_NODE);
+ if (expression){
+ yp2::xml::check_element_yp2(expression, "expression");
+ expr = yp2::xml::get_text(expression);
+ //std::cout << "XML node '" << expression->name << "' '";
+ //std::cout << yp2::xml::get_text(expression) << "'\n";
+ }
+
+ // parsing regex format
+ std::string form;
+ const xmlNode* format
+ = yp2::xml::jump_to_next(expression, XML_ELEMENT_NODE);
+ if (format){
+ yp2::xml::check_element_yp2(format, "format");
+ form = yp2::xml::get_text(format);
+ //std::cout << "XML node '" << format->name << "' '";
+ //std::cout << yp2::xml::get_text(format) << "'\n";
+ }
+
+ // adding configuration
+ if (expr.size() && form.size()){
+ //std::cout << "adding regular expression\n";
+ }
+
+ // moving forward to next regex
+ regex = yp2::xml::jump_to_next(regex, XML_ELEMENT_NODE);
+ }
+
+ // done parsing XML config
+
+}
+