static void processNewMetaNode(const std::string &name, const TypedValue &value, XmlNodeHelper &result, xmlNodePtr &last_node) { XmlTypedVisitor visitor; value.visit(&visitor); XmlNodeHelper res = visitor.result(); xmlNewProp(res.get(), (const xmlChar*)"name", (const xmlChar*)name.c_str()); if (result.get()) { last_node = xmlAddNextSibling(last_node, res.release()); } else { result = res; last_node = result.get(); } }