X-Git-Url: https://git.sesse.net/?a=blobdiff_plain;f=c%2B%2B0x%2Fxml-template.h;h=7cfa0d8dc1a3de85ffc2fdae41e3d41108dc1062;hb=dd670f1b631ffb9531f7c58ed6410d8c043b03d6;hp=d29cbaeeb5b17594a5e5db7fd5ea80fcab4fae60;hpb=a87410331a3cf42444d92930a9a796a384278c8d;p=xml-template diff --git a/c++0x/xml-template.h b/c++0x/xml-template.h index d29cbae..7cfa0d8 100644 --- a/c++0x/xml-template.h +++ b/c++0x/xml-template.h @@ -25,6 +25,18 @@ class Replace : public Directive { const std::string str; }; +class ReplaceInclude : public Directive { + public: + ReplaceInclude(xmlNodePtr included_node); + ReplaceInclude(xmlDocPtr included_doc); + ~ReplaceInclude(); + virtual void process(xmlNode *node, bool clean); + + private: + xmlNodePtr included_node; + xmlDocPtr included_doc; +}; + class Substitute; class Clone : public Directive { @@ -59,8 +71,10 @@ class Alternate : public Clone { const std::vector &alternatives); }; -void process_file(const std::string &input_filename, - const std::string &output_filename, - Directive *root_directive); +xmlDocPtr process_file(const std::string &input_filename, + Directive *root_directive, + bool clean = true); + +void output_to_fd_and_free(xmlDocPtr doc, int fd); #endif // !defined(_XML_TEMPLATE_H)