]> git.sesse.net Git - xml-template/blobdiff - c++0x/xml-template.h
Merge.
[xml-template] / c++0x / xml-template.h
index d29cbaeeb5b17594a5e5db7fd5ea80fcab4fae60..7cfa0d8dc1a3de85ffc2fdae41e3d41108dc1062 100644 (file)
@@ -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<std::string> &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)