2
* Summary: Provide Canonical XML and Exclusive XML Canonicalization
3
* Description: the c14n modules provides a
5
* "Canonical XML" implementation
6
* http://www.w3.org/TR/xml-c14n
10
* "Exclusive XML Canonicalization" implementation
11
* http://www.w3.org/TR/xml-exc-c14n
13
* Copy: See Copyright for the status of this software.
15
* Author: Aleksey Sanin <aleksey@aleksey.com>
17
#ifndef __XML_C14N_H__
18
#define __XML_C14N_H__
19
#ifdef LIBXML_C14N_ENABLED
20
#ifdef LIBXML_OUTPUT_ENABLED
24
#endif /* __cplusplus */
26
#include <libxml/xmlversion.h>
27
#include <libxml/tree.h>
28
#include <libxml/xpath.h>
32
* http://www.w3.org/TR/xml-c14n
34
* Exclusive XML Canonicazation
35
* http://www.w3.org/TR/xml-exc-c14n
37
* Canonical form of an XML document could be created if and only if
38
* a) default attributes (if any) are added to all nodes
39
* b) all character and parsed entity references are resolved
40
* In order to achive this in libxml2 the document MUST be loaded with
41
* following global setings:
43
* xmlLoadExtDtdDefaultValue = XML_DETECT_IDS | XML_COMPLETE_ATTRS;
44
* xmlSubstituteEntitiesDefault(1);
46
* or corresponding parser context setting:
47
* xmlParserCtxtPtr ctxt;
50
* ctxt->loadsubset = XML_DETECT_IDS | XML_COMPLETE_ATTRS;
51
* ctxt->replaceEntities = 1;
57
xmlC14NDocSaveTo (xmlDocPtr doc,
60
xmlChar **inclusive_ns_prefixes,
62
xmlOutputBufferPtr buf);
65
xmlC14NDocDumpMemory (xmlDocPtr doc,
68
xmlChar **inclusive_ns_prefixes,
70
xmlChar **doc_txt_ptr);
73
xmlC14NDocSave (xmlDocPtr doc,
76
xmlChar **inclusive_ns_prefixes,
83
* This is the core C14N function
85
typedef int (*xmlC14NIsVisibleCallback) (void* user_data,
90
xmlC14NExecute (xmlDocPtr doc,
91
xmlC14NIsVisibleCallback is_visible_callback,
94
xmlChar **inclusive_ns_prefixes,
96
xmlOutputBufferPtr buf);
100
#endif /* __cplusplus */
102
#endif /* LIBXML_OUTPUT_ENABLED */
103
#endif /* LIBXML_C14N_ENABLED */
104
#endif /* __XML_C14N_H__ */