epoc32/include/stdapis/libxml2/libxml2_c14n.h
branchSymbian3
changeset 4 837f303aceeb
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/epoc32/include/stdapis/libxml2/libxml2_c14n.h	Wed Mar 31 12:33:34 2010 +0100
@@ -0,0 +1,110 @@
+/*
+ * Summary: Provide Canonical XML and Exclusive XML Canonicalization
+ * Description: the c14n modules provides a
+ *
+ * "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>
+ * Portion Copyright © 2009 Nokia Corporation and/or its subsidiary(-ies). All rights reserved. 
+ */
+
+/** @file 
+@publishedAll
+@released
+*/
+#ifndef XML_C14N_H
+#define XML_C14N_H
+
+#if defined(LIBXML_OUTPUT_ENABLED) && defined(LIBXML_C14N_ENABLED)
+
+#ifdef __cplusplus
+extern "C" {
+#endif /* __cplusplus */
+
+#include <stdapis/libxml2/libxml2_xmlversion.h>
+#include <stdapis/libxml2/libxml2_tree.h>
+#include <stdapis/libxml2/libxml2_xpath.h> 
+
+/*
+ * XML Canonicazation
+ * http://www.w3.org/TR/xml-c14n
+ *
+ * Exclusive XML Canonicazation
+ * http://www.w3.org/TR/xml-exc-c14n
+ *
+ * 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
+ * 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;
+ *    ...
+ */
+
+
+XMLPUBFUN int XMLCALL
+                xmlC14NDocSaveTo        (xmlDocPtr doc,
+                                         xmlNodeSetPtr nodes,
+                                         int exclusive,
+                                         xmlChar **inclusive_ns_prefixes,
+                                         int with_comments,
+                                         xmlOutputBufferPtr buf);
+
+XMLPUBFUN int XMLCALL
+                xmlC14NDocDumpMemory    (xmlDocPtr doc,
+                                         xmlNodeSetPtr nodes,
+                                         int exclusive,
+                                         xmlChar **inclusive_ns_prefixes,
+                                         int with_comments,
+                                         xmlChar **doc_txt_ptr);
+
+XMLPUBFUN int XMLCALL
+                xmlC14NDocSave          (xmlDocPtr doc,
+                                         xmlNodeSetPtr nodes,
+                                         int exclusive,
+                                         xmlChar **inclusive_ns_prefixes,
+                                         int with_comments,
+                                         const char* filename,
+                                         int compression);
+
+
+/**
+ * This is the core C14N function
+ */
+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,
+                                         xmlChar **inclusive_ns_prefixes,
+                                         int with_comments,
+                                         xmlOutputBufferPtr buf);
+
+#ifdef __cplusplus
+}
+#endif /* __cplusplus */
+
+#endif /* defined(LIBXML_OUTPUT_ENABLED) && defined(LIBXML_C14N_ENABLED) */
+#endif /* XML_C14N_H */
+