xref: /aosp_15_r20/external/libxml2/os400/libxmlrpg/c14n.rpgle (revision 7c5688314b92172186c154356a6374bf7684c3ca)
1*7c568831SAndroid Build Coastguard Worker      * Summary: Provide Canonical XML and Exclusive XML Canonicalization
2*7c568831SAndroid Build Coastguard Worker      * Description: the c14n modules provides a
3*7c568831SAndroid Build Coastguard Worker      *
4*7c568831SAndroid Build Coastguard Worker      * "Canonical XML" implementation
5*7c568831SAndroid Build Coastguard Worker      * http://www.w3.org/TR/xml-c14n
6*7c568831SAndroid Build Coastguard Worker      *
7*7c568831SAndroid Build Coastguard Worker      * and an
8*7c568831SAndroid Build Coastguard Worker      *
9*7c568831SAndroid Build Coastguard Worker      * "Exclusive XML Canonicalization" implementation
10*7c568831SAndroid Build Coastguard Worker      * http://www.w3.org/TR/xml-exc-c14n
11*7c568831SAndroid Build Coastguard Worker      *
12*7c568831SAndroid Build Coastguard Worker      * Copy: See Copyright for the status of this software.
13*7c568831SAndroid Build Coastguard Worker      *
14*7c568831SAndroid Build Coastguard Worker      * Author: Patrick Monnerat <[email protected]>, DATASPHERE S.A.
15*7c568831SAndroid Build Coastguard Worker
16*7c568831SAndroid Build Coastguard Worker      /if not defined(XML_C14N_H__)
17*7c568831SAndroid Build Coastguard Worker      /define XML_C14N_H__
18*7c568831SAndroid Build Coastguard Worker
19*7c568831SAndroid Build Coastguard Worker      /include "libxmlrpg/xmlversion"
20*7c568831SAndroid Build Coastguard Worker
21*7c568831SAndroid Build Coastguard Worker      /if defined(LIBXML_C14N_ENABLED)
22*7c568831SAndroid Build Coastguard Worker      /if defined(LIBXML_OUTPUT_ENABLED)
23*7c568831SAndroid Build Coastguard Worker
24*7c568831SAndroid Build Coastguard Worker      /include "libxmlrpg/xmlTypesC"
25*7c568831SAndroid Build Coastguard Worker      /include "libxmlrpg/tree"
26*7c568831SAndroid Build Coastguard Worker      /include "libxmlrpg/xpath"
27*7c568831SAndroid Build Coastguard Worker
28*7c568831SAndroid Build Coastguard Worker      * XML Canonicazation
29*7c568831SAndroid Build Coastguard Worker      * http://www.w3.org/TR/xml-c14n
30*7c568831SAndroid Build Coastguard Worker      *
31*7c568831SAndroid Build Coastguard Worker      * Exclusive XML Canonicazation
32*7c568831SAndroid Build Coastguard Worker      * http://www.w3.org/TR/xml-exc-c14n
33*7c568831SAndroid Build Coastguard Worker      *
34*7c568831SAndroid Build Coastguard Worker      * Canonical form of an XML document could be created if and only if
35*7c568831SAndroid Build Coastguard Worker      *  a) default attributes (if any) are added to all nodes
36*7c568831SAndroid Build Coastguard Worker      *  b) all character and parsed entity references are resolved
37*7c568831SAndroid Build Coastguard Worker      * In order to achive this in libxml2 the document MUST be loaded with
38*7c568831SAndroid Build Coastguard Worker      * following global setings:
39*7c568831SAndroid Build Coastguard Worker      *
40*7c568831SAndroid Build Coastguard Worker      *    xmlLoadExtDtdDefaultValue = XML_DETECT_IDS � XML_COMPLETE_ATTRS;
41*7c568831SAndroid Build Coastguard Worker      *    xmlSubstituteEntitiesDefault(1);
42*7c568831SAndroid Build Coastguard Worker      *
43*7c568831SAndroid Build Coastguard Worker      * or corresponding parser context setting:
44*7c568831SAndroid Build Coastguard Worker      *    xmlParserCtxtPtr ctxt;
45*7c568831SAndroid Build Coastguard Worker      *
46*7c568831SAndroid Build Coastguard Worker      *    ...
47*7c568831SAndroid Build Coastguard Worker      *    ctxt->loadsubset = XML_DETECT_IDS � XML_COMPLETE_ATTRS;
48*7c568831SAndroid Build Coastguard Worker      *    ctxt->replaceEntities = 1;
49*7c568831SAndroid Build Coastguard Worker      *    ...
50*7c568831SAndroid Build Coastguard Worker
51*7c568831SAndroid Build Coastguard Worker      * xmlC14NMode:
52*7c568831SAndroid Build Coastguard Worker      *
53*7c568831SAndroid Build Coastguard Worker      * Predefined values for C14N modes
54*7c568831SAndroid Build Coastguard Worker
55*7c568831SAndroid Build Coastguard Worker     d xmlBufferAllocationScheme...
56*7c568831SAndroid Build Coastguard Worker     d xmlC14NMode     s                   based(######typedef######)
57*7c568831SAndroid Build Coastguard Worker     d                                     like(xmlCenum)
58*7c568831SAndroid Build Coastguard Worker     d  XML_C14N_1_0   c                   0                                    Original C14N 1.0
59*7c568831SAndroid Build Coastguard Worker     d  XML_C14N_EXCLUSIVE_1_0...                                               Exclusive C14N 1.0
60*7c568831SAndroid Build Coastguard Worker     d                 c                   1
61*7c568831SAndroid Build Coastguard Worker     d  XML_C14N_1_1   c                   2                                    C14N 1.1 spec
62*7c568831SAndroid Build Coastguard Worker
63*7c568831SAndroid Build Coastguard Worker     d xmlC14NDocSaveTo...
64*7c568831SAndroid Build Coastguard Worker     d                 pr                  extproc('xmlC14NDocSaveTo')
65*7c568831SAndroid Build Coastguard Worker     d                                     like(xmlCint)
66*7c568831SAndroid Build Coastguard Worker     d  doc                                value like(xmlDocPtr)
67*7c568831SAndroid Build Coastguard Worker     d  nodes                              value like(xmlNodeSetPtr)
68*7c568831SAndroid Build Coastguard Worker     d  mode                               value like(xmlCint)
69*7c568831SAndroid Build Coastguard Worker     d  inclusive_ns_prefixes...
70*7c568831SAndroid Build Coastguard Worker     d                                 *   options(*omit)                       xmlChar *(*)
71*7c568831SAndroid Build Coastguard Worker     d  with_comments                      value like(xmlCint)
72*7c568831SAndroid Build Coastguard Worker     d  buf                                value like(xmlOutputBufferPtr)
73*7c568831SAndroid Build Coastguard Worker
74*7c568831SAndroid Build Coastguard Worker     d xmlC14NDocDumpMemory...
75*7c568831SAndroid Build Coastguard Worker     d                 pr                  extproc('xmlC14NDocDumpMemory')
76*7c568831SAndroid Build Coastguard Worker     d                                     like(xmlCint)
77*7c568831SAndroid Build Coastguard Worker     d  doc                                value like(xmlDocPtr)
78*7c568831SAndroid Build Coastguard Worker     d  nodes                              value like(xmlNodeSetPtr)
79*7c568831SAndroid Build Coastguard Worker     d  mode                               value like(xmlCint)
80*7c568831SAndroid Build Coastguard Worker     d  inclusive_ns_prefixes...
81*7c568831SAndroid Build Coastguard Worker     d                                 *   options(*omit)                       xmlChar *(*)
82*7c568831SAndroid Build Coastguard Worker     d  with_comments                      value like(xmlCint)
83*7c568831SAndroid Build Coastguard Worker     d  doc_txt_ptr                    *                                        xmlChar *(*)
84*7c568831SAndroid Build Coastguard Worker
85*7c568831SAndroid Build Coastguard Worker     d xmlC14NDocSave  pr                  extproc('xmlC14NDocSave')
86*7c568831SAndroid Build Coastguard Worker     d                                     like(xmlCint)
87*7c568831SAndroid Build Coastguard Worker     d  doc                                value like(xmlDocPtr)
88*7c568831SAndroid Build Coastguard Worker     d  nodes                              value like(xmlNodeSetPtr)
89*7c568831SAndroid Build Coastguard Worker     d  mode                               value like(xmlCint)
90*7c568831SAndroid Build Coastguard Worker     d  inclusive_ns_prefixes...
91*7c568831SAndroid Build Coastguard Worker     d                                 *   options(*omit)                       xmlChar *(*)
92*7c568831SAndroid Build Coastguard Worker     d  with_comments                      value like(xmlCint)
93*7c568831SAndroid Build Coastguard Worker     d  filename                       *   value options(*string)               const char *
94*7c568831SAndroid Build Coastguard Worker     d  compression                        value like(xmlCint)
95*7c568831SAndroid Build Coastguard Worker
96*7c568831SAndroid Build Coastguard Worker      * This is the core C14N function
97*7c568831SAndroid Build Coastguard Worker
98*7c568831SAndroid Build Coastguard Worker      * xmlC14NIsVisibleCallback:
99*7c568831SAndroid Build Coastguard Worker      * @user_data: user data
100*7c568831SAndroid Build Coastguard Worker      * @node: the curent node
101*7c568831SAndroid Build Coastguard Worker      * @parent: the parent node
102*7c568831SAndroid Build Coastguard Worker      *
103*7c568831SAndroid Build Coastguard Worker      * Signature for a C14N callback on visible nodes
104*7c568831SAndroid Build Coastguard Worker      *
105*7c568831SAndroid Build Coastguard Worker      * Returns 1 if the node should be included
106*7c568831SAndroid Build Coastguard Worker
107*7c568831SAndroid Build Coastguard Worker     d xmlC14NIsVisibleCallback...
108*7c568831SAndroid Build Coastguard Worker     d                 s               *   based(######typedef######)
109*7c568831SAndroid Build Coastguard Worker     d                                     procptr
110*7c568831SAndroid Build Coastguard Worker
111*7c568831SAndroid Build Coastguard Worker     d xmlC14NExecute  pr                  extproc('xmlC14NExecute')
112*7c568831SAndroid Build Coastguard Worker     d                                     like(xmlCint)
113*7c568831SAndroid Build Coastguard Worker     d  doc                                value like(xmlDocPtr)
114*7c568831SAndroid Build Coastguard Worker     d  is_visible_callback...
115*7c568831SAndroid Build Coastguard Worker     d                                     value like(xmlC14NIsVisibleCallback)
116*7c568831SAndroid Build Coastguard Worker     d  user_data                      *   value                                void *
117*7c568831SAndroid Build Coastguard Worker     d  mode                               value like(xmlCint)
118*7c568831SAndroid Build Coastguard Worker     d  inclusive_ns_prefixes...
119*7c568831SAndroid Build Coastguard Worker     d                                 *   options(*omit)                       xmlChar *(*)
120*7c568831SAndroid Build Coastguard Worker     d  with_comments                      value like(xmlCint)
121*7c568831SAndroid Build Coastguard Worker     d  buf                                value like(xmlOutputBufferPtr)
122*7c568831SAndroid Build Coastguard Worker
123*7c568831SAndroid Build Coastguard Worker      /endif                                                                    LIBXML_OUTPUT_ENABLD
124*7c568831SAndroid Build Coastguard Worker      /endif                                                                    LIBXML_C14N_ENABLED
125*7c568831SAndroid Build Coastguard Worker      /endif                                                                    XML_C14N_H__
126