1 * Summary: Provide Canonical XML and Exclusive XML Canonicalization
2 * Description: the c14n modules provides a
4 * "Canonical XML" implementation
5 * http://www.w3.org/TR/xml-c14n
9 * "Exclusive XML Canonicalization" implementation
10 * http://www.w3.org/TR/xml-exc-c14n
12 * Copy: See Copyright for the status of this software.
14 * Author: Patrick Monnerat <pm@datasphere.ch>, DATASPHERE S.A.
16 /if not defined(XML_C14N_H__)
19 /include "libxmlrpg/xmlversion"
21 /if defined(LIBXML_C14N_ENABLED)
22 /if defined(LIBXML_OUTPUT_ENABLED)
24 /include "libxmlrpg/xmlTypesC"
25 /include "libxmlrpg/tree"
26 /include "libxmlrpg/xpath"
29 * http://www.w3.org/TR/xml-c14n
31 * Exclusive XML Canonicazation
32 * http://www.w3.org/TR/xml-exc-c14n
34 * Canonical form of an XML document could be created if and only if
35 * a) default attributes (if any) are added to all nodes
36 * b) all character and parsed entity references are resolved
37 * In order to achive this in libxml2 the document MUST be loaded with
38 * following global setings:
40 * xmlLoadExtDtdDefaultValue = XML_DETECT_IDS ã XML_COMPLETE_ATTRS;
41 * xmlSubstituteEntitiesDefault(1);
43 * or corresponding parser context setting:
44 * xmlParserCtxtPtr ctxt;
47 * ctxt->loadsubset = XML_DETECT_IDS ã XML_COMPLETE_ATTRS;
48 * ctxt->replaceEntities = 1;
53 * Predefined values for C14N modes
55 d xmlBufferAllocationScheme...
56 d xmlC14NMode s based(######typedef######)
58 d XML_C14N_1_0 c 0 Original C14N 1.0
59 d XML_C14N_EXCLUSIVE_1_0... Exclusive C14N 1.0
61 d XML_C14N_1_1 c 2 C14N 1.1 spec
64 d pr extproc('xmlC14NDocSaveTo')
66 d doc value like(xmlDocPtr)
67 d nodes value like(xmlNodeSetPtr)
68 d mode value like(xmlCint)
69 d inclusive_ns_prefixes...
70 d * options(*omit) xmlChar *(*)
71 d with_comments value like(xmlCint)
72 d buf value like(xmlOutputBufferPtr)
74 d xmlC14NDocDumpMemory...
75 d pr extproc('xmlC14NDocDumpMemory')
77 d doc value like(xmlDocPtr)
78 d nodes value like(xmlNodeSetPtr)
79 d mode value like(xmlCint)
80 d inclusive_ns_prefixes...
81 d * options(*omit) xmlChar *(*)
82 d with_comments value like(xmlCint)
83 d doc_txt_ptr * xmlChar *(*)
85 d xmlC14NDocSave pr extproc('xmlC14NDocSave')
87 d doc value like(xmlDocPtr)
88 d nodes value like(xmlNodeSetPtr)
89 d mode value like(xmlCint)
90 d inclusive_ns_prefixes...
91 d * options(*omit) xmlChar *(*)
92 d with_comments value like(xmlCint)
93 d filename * value options(*string) const char *
94 d compression value like(xmlCint)
96 * This is the core C14N function
98 * xmlC14NIsVisibleCallback:
99 * @user_data: user data
100 * @node: the curent node
101 * @parent: the parent node
103 * Signature for a C14N callback on visible nodes
105 * Returns 1 if the node should be included
107 d xmlC14NIsVisibleCallback...
108 d s * based(######typedef######)
111 d xmlC14NExecute pr extproc('xmlC14NExecute')
113 d doc value like(xmlDocPtr)
114 d is_visible_callback...
115 d value like(xmlC14NIsVisibleCallback)
116 d user_data * value void *
117 d mode value like(xmlCint)
118 d inclusive_ns_prefixes...
119 d * options(*omit) xmlChar *(*)
120 d with_comments value like(xmlCint)
121 d buf value like(xmlOutputBufferPtr)
123 /endif LIBXML_OUTPUT_ENABLD
124 /endif LIBXML_C14N_ENABLED