1      * Summary: the XML document serializer
2      * Description: API to save document or subtree of document
3      *
4      * Copy: See Copyright for the status of this software.
5      *
6      * Author: Patrick Monnerat <pm@datasphere.ch>, DATASPHERE S.A.
7
8      /if not defined(XML_XMLSAVE_H__)
9      /define XML_XMLSAVE_H__
10
11      /include "libxmlrpg/xmlversion"
12
13      /if defined(LIBXML_OUTPUT_ENABLED)
14
15      /include "libxmlrpg/xmlTypesC"
16      /include "libxmlrpg/tree"
17      /include "libxmlrpg/encoding"
18      /include "libxmlrpg/xmlIO"
19
20      * xmlSaveOption:
21      *
22      * This is the set of XML save options that can be passed down
23      * to the xmlSaveToFd() and similar calls.
24
25     d xmlSaveOption   s                   based(######typedef######)
26     d                                     like(xmlCenum)
27     d  XML_SAVE_FORMAT...                                                      Format save output
28     d                 c                   X'0001'
29     d  XML_SAVE_NO_DECL...                                                     Drop xml declaration
30     d                 c                   X'0002'
31     d  XML_SAVE_NO_EMPTY...                                                    No empty tags
32     d                 c                   X'0004'
33     d  XML_SAVE_NO_XHTML...                                                    No XHTML1 specific
34     d                 c                   X'0008'
35     d  XML_SAVE_XHTML...                                                       Frce XHTML1 specific
36     d                 c                   X'0010'
37     d  XML_SAVE_AS_XML...                                                      Frce XML on HTML doc
38     d                 c                   X'0020'
39     d  XML_SAVE_AS_HTML...                                                     Frce HTML on XML doc
40     d                 c                   X'0040'
41     d  XML_SAVE_WSNONSIG...                                                    Fmt w/ non-sig space
42     d                 c                   X'0080'
43
44     d xmlSaveCtxtPtr  s               *   based(######typedef######)
45
46     d xmlSaveToFd     pr                  extproc('xmlSaveToFd')
47     d                                     like(xmlSaveCtxtPtr)
48     d  fd                                 value like(xmlCint)
49     d  encoding                       *   value options(*string)               const char *
50     d  options                            value like(xmlCint)
51
52     d xmlSaveToFilename...
53     d                 pr                  extproc('xmlSaveToFilename')
54     d                                     like(xmlSaveCtxtPtr)
55     d  filename                       *   value options(*string)               const char *
56     d  encoding                       *   value options(*string)               const char *
57     d  options                            value like(xmlCint)
58
59     d xmlSaveToBuffer...
60     d                 pr                  extproc('xmlSaveToBuffer')
61     d                                     like(xmlSaveCtxtPtr)
62     d  buffer                             value like(xmlBufferPtr)
63     d  encoding                       *   value options(*string)               const char *
64     d  options                            value like(xmlCint)
65
66     d xmlSaveToIO     pr                  extproc('xmlSaveToIO')
67     d                                     like(xmlSaveCtxtPtr)
68     d  iowrite                            value like(xmlOutputWriteCallback)
69     d  ioclose                            value like(xmlOutputCloseCallback)
70     d  ioctx                          *   value                                void *
71     d  encoding                       *   value options(*string)               const char *
72     d  options                            value like(xmlCint)
73
74     d xmlSaveDoc      pr                  extproc('xmlSaveDoc')
75     d                                     like(xmlClong)
76     d  ctxt                               value like(xmlSaveCtxtPtr)
77     d  doc                                value like(xmlDocPtr)
78
79     d xmlSaveTree     pr                  extproc('xmlSaveTree')
80     d                                     like(xmlClong)
81     d  ctxt                               value like(xmlSaveCtxtPtr)
82     d  node                               value like(xmlNodePtr)
83
84     d xmlSaveFlush    pr                  extproc('xmlSaveFlush')
85     d                                     like(xmlCint)
86     d  ctxt                               value like(xmlSaveCtxtPtr)
87
88     d xmlSaveClose    pr                  extproc('xmlSaveClose')
89     d                                     like(xmlCint)
90     d  ctxt                               value like(xmlSaveCtxtPtr)
91
92     d xmlSaveSetEscape...
93     d                 pr                  extproc('xmlSaveSetEscape')
94     d                                     like(xmlCint)
95     d  ctxt                               value like(xmlSaveCtxtPtr)
96     d  escape                             value like(xmlCharEncodingOutputFunc)
97
98     d xmlSaveSetAttrEscape...
99     d                 pr                  extproc('xmlSaveSetAttrEscape')
100     d                                     like(xmlCint)
101     d  ctxt                               value like(xmlSaveCtxtPtr)
102     d  escape                             value like(xmlCharEncodingOutputFunc)
103
104      /endif                                                                    LIBXML_OUTPUT_ENABLD
105      /endif                                                                    XML_XMLSAVE_H__
106