Imported Upstream version 0.19.7
[platform/upstream/gettext.git] / gnulib-local / lib / libxml / c14n.in.h
index 9f4c6c0..b8971d9 100644 (file)
@@ -2,30 +2,30 @@
  * Summary: Provide Canonical XML and Exclusive XML Canonicalization
  * Description: the c14n modules provides a
  *
- * "Canonical XML" implementation 
+ * "Canonical XML" implementation
  * http://www.w3.org/TR/xml-c14n
- * 
+ *
  * and an
  *
  * "Exclusive XML Canonicalization" implementation
  * http://www.w3.org/TR/xml-exc-c14n
+
  * Copy: See Copyright for the status of this software.
- * 
+ *
  * Author: Aleksey Sanin <aleksey@aleksey.com>
  */
 #ifndef __XML_C14N_H__
-#define __XML_C14N_H__    
+#define __XML_C14N_H__
 #ifdef LIBXML_C14N_ENABLED
 #ifdef LIBXML_OUTPUT_ENABLED
 
 #ifdef __cplusplus
 extern "C" {
-#endif /* __cplusplus */ 
+#endif /* __cplusplus */
 
 #include <libxml/xmlversion.h>
 #include <libxml/tree.h>
-#include <libxml/xpath.h> 
+#include <libxml/xpath.h>
 
 /*
  * XML Canonicazation
@@ -37,44 +37,55 @@ extern "C" {
  * Canonical form of an XML document could be created if and only if
  *  a) default attributes (if any) are added to all nodes
  *  b) all character and parsed entity references are resolved
- * In order to achive this in libxml2 the document MUST be loaded with 
+ * In order to achive this in libxml2 the document MUST be loaded with
  * following global setings:
- *    
+ *
  *    xmlLoadExtDtdDefaultValue = XML_DETECT_IDS | XML_COMPLETE_ATTRS;
  *    xmlSubstituteEntitiesDefault(1);
  *
  * or corresponding parser context setting:
  *    xmlParserCtxtPtr ctxt;
- *    
- *    ... 
+ *
+ *    ...
  *    ctxt->loadsubset = XML_DETECT_IDS | XML_COMPLETE_ATTRS;
  *    ctxt->replaceEntities = 1;
  *    ...
  */
 
+/*
+ * xmlC14NMode:
+ *
+ * Predefined values for C14N modes
+ *
+ */
+typedef enum {
+    XML_C14N_1_0            = 0,    /* Origianal C14N 1.0 spec */
+    XML_C14N_EXCLUSIVE_1_0  = 1,    /* Exclusive C14N 1.0 spec */
+    XML_C14N_1_1            = 2     /* C14N 1.1 spec */
+} xmlC14NMode;
 
-XMLPUBFUN int XMLCALL          
+XMLPUBFUN int XMLCALL
                xmlC14NDocSaveTo        (xmlDocPtr doc,
                                         xmlNodeSetPtr nodes,
-                                        int exclusive,
+                                        int mode, /* a xmlC14NMode */
                                         xmlChar **inclusive_ns_prefixes,
-                                        int with_comments, 
+                                        int with_comments,
                                         xmlOutputBufferPtr buf);
 
 XMLPUBFUN int XMLCALL
                xmlC14NDocDumpMemory    (xmlDocPtr doc,
                                         xmlNodeSetPtr nodes,
-                                        int exclusive,
+                                        int mode, /* a xmlC14NMode */
                                         xmlChar **inclusive_ns_prefixes,
-                                        int with_comments, 
+                                        int with_comments,
                                         xmlChar **doc_txt_ptr);
 
 XMLPUBFUN int XMLCALL
                xmlC14NDocSave          (xmlDocPtr doc,
                                         xmlNodeSetPtr nodes,
-                                        int exclusive,
+                                        int mode, /* a xmlC14NMode */
                                         xmlChar **inclusive_ns_prefixes,
-                                        int with_comments, 
+                                        int with_comments,
                                         const char* filename,
                                         int compression);
 
@@ -82,17 +93,27 @@ XMLPUBFUN int XMLCALL
 /**
  * This is the core C14N function
  */
-typedef int (*xmlC14NIsVisibleCallback)        (void* user_data, 
+/**
+ * xmlC14NIsVisibleCallback:
+ * @user_data: user data
+ * @node: the curent node
+ * @parent: the parent node
+ *
+ * Signature for a C14N callback on visible nodes
+ *
+ * Returns 1 if the node should be included
+ */
+typedef int (*xmlC14NIsVisibleCallback)        (void* user_data,
                                         xmlNodePtr node,
                                         xmlNodePtr parent);
 
 XMLPUBFUN int XMLCALL
                xmlC14NExecute          (xmlDocPtr doc,
                                         xmlC14NIsVisibleCallback is_visible_callback,
-                                        void* user_data,                                
-                                        int exclusive,
+                                        void* user_data,
+                                        int mode, /* a xmlC14NMode */
                                         xmlChar **inclusive_ns_prefixes,
-                                        int with_comments, 
+                                        int with_comments,
                                         xmlOutputBufferPtr buf);
 
 #ifdef __cplusplus