+XmlDocPtrWrapper XML_Template_process(XmlDocPtrWrapper doc, Directive *root_directive, bool clean)
+{
+ xmlDocPtr new_doc = xmlCopyDoc(doc->ptr, 1);
+ root_directive->process(xmlDocGetRootElement(new_doc), clean);
+ delete root_directive;
+ return XmlDocPtrWrapper(new XmlDocWrapper { new_doc });
+}
+