- xmlpp::Element *child(dynamic_cast<xmlpp::Element*>(*iter));
- if(!child)
- continue;
- else
- if(child->get_name()=="lhs")
- {
- if(lhs)
- {
- error(child,"LHS component of <subtract> already defined!");
- continue;
- }
-
- xmlpp::Element::NodeList list = child->get_children();
- xmlpp::Element::NodeList::iterator iter;
-
- // Search for the first non-text XML element
- for(iter = list.begin(); iter != list.end(); ++iter)
- if(dynamic_cast<xmlpp::Element*>(*iter)) break;
-
- if(iter==list.end())
- {
- error(child,_("<lhs> is missing its contents"));
- continue;
- }
-
- lhs=parse_value_node(dynamic_cast<xmlpp::Element*>(*iter),canvas);
-
- if(lhs)
- value_node->set_lhs(lhs);
- else
- {
- error((*iter),"Parse of LHS ValueNode failed");
- }
-
- // \todo do a search for more elements and warn if they are found
- }
- else
- if(child->get_name()=="rhs")
- {
- if(rhs)
- {
- error(child,"RHS component of <subtract> already defined!");
- continue;
- }
-
- xmlpp::Element::NodeList list = child->get_children();
- xmlpp::Element::NodeList::iterator iter;
-
- // Search for the first non-text XML element
- for(iter = list.begin(); iter != list.end(); ++iter)
- if(dynamic_cast<xmlpp::Element*>(*iter)) break;
-
- if(iter==list.end())
- {
- error(child,_("<rhs> is missing its contents"));
- continue;
- }
-
- rhs=parse_value_node(dynamic_cast<xmlpp::Element*>(*iter),canvas);
-
- if(rhs)
- value_node->set_rhs(rhs);
- else
- {
- error((*iter),"Parse of RHS ValueNode failed");
- }
-
- // \todo do a search for more elements and warn if they are found
- }
- else
- if(child->get_name()=="scalar")