Replace::Replace(const string &str)
: str(str) {}
void Replace::process(xmlNode *node, bool clean) {
Replace::Replace(const string &str)
: str(str) {}
void Replace::process(xmlNode *node, bool clean) {
void Clone::process(xmlNode *node, bool clean)
{
// We can't use xmlNewDocFragment, since xmlDOMWrapCloneNode only knows
void Clone::process(xmlNode *node, bool clean)
{
// We can't use xmlNewDocFragment, since xmlDOMWrapCloneNode only knows
for (auto child : new_nodes) {
xmlAddChild(node, child);
}
for (auto child : new_nodes) {
xmlAddChild(node, child);
}
Substitute::Substitute(initializer_list<pair<const string, Directive*>> substitution_map)
: substitution_map(substitution_map) {}
Substitute::Substitute(initializer_list<pair<const string, Directive*>> substitution_map)
: substitution_map(substitution_map) {}
void Substitute::process(xmlNode *node, bool clean)
{
for (xmlNode *child = node->children; child != NULL; child = child->next) {
void Substitute::process(xmlNode *node, bool clean)
{
for (xmlNode *child = node->children; child != NULL; child = child->next) {
xmlDocPtr doc = xmlParseFile(input_filename.c_str());
root_directive->process(xmlDocGetRootElement(doc), true);
xmlSaveFile(output_filename.c_str(), doc);
xmlDocPtr doc = xmlParseFile(input_filename.c_str());
root_directive->process(xmlDocGetRootElement(doc), true);
xmlSaveFile(output_filename.c_str(), doc);