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