xref: /aosp_15_r20/external/libxml2/include/libxml/xmlsave.h (revision 7c5688314b92172186c154356a6374bf7684c3ca)
1*7c568831SAndroid Build Coastguard Worker /*
2*7c568831SAndroid Build Coastguard Worker  * Summary: the XML document serializer
3*7c568831SAndroid Build Coastguard Worker  * Description: API to save document or subtree of document
4*7c568831SAndroid Build Coastguard Worker  *
5*7c568831SAndroid Build Coastguard Worker  * Copy: See Copyright for the status of this software.
6*7c568831SAndroid Build Coastguard Worker  *
7*7c568831SAndroid Build Coastguard Worker  * Author: Daniel Veillard
8*7c568831SAndroid Build Coastguard Worker  */
9*7c568831SAndroid Build Coastguard Worker 
10*7c568831SAndroid Build Coastguard Worker #ifndef __XML_XMLSAVE_H__
11*7c568831SAndroid Build Coastguard Worker #define __XML_XMLSAVE_H__
12*7c568831SAndroid Build Coastguard Worker 
13*7c568831SAndroid Build Coastguard Worker #include <libxml/xmlversion.h>
14*7c568831SAndroid Build Coastguard Worker #include <libxml/tree.h>
15*7c568831SAndroid Build Coastguard Worker #include <libxml/encoding.h>
16*7c568831SAndroid Build Coastguard Worker #include <libxml/xmlIO.h>
17*7c568831SAndroid Build Coastguard Worker 
18*7c568831SAndroid Build Coastguard Worker #ifdef LIBXML_OUTPUT_ENABLED
19*7c568831SAndroid Build Coastguard Worker #ifdef __cplusplus
20*7c568831SAndroid Build Coastguard Worker extern "C" {
21*7c568831SAndroid Build Coastguard Worker #endif
22*7c568831SAndroid Build Coastguard Worker 
23*7c568831SAndroid Build Coastguard Worker /**
24*7c568831SAndroid Build Coastguard Worker  * xmlSaveOption:
25*7c568831SAndroid Build Coastguard Worker  *
26*7c568831SAndroid Build Coastguard Worker  * This is the set of XML save options that can be passed down
27*7c568831SAndroid Build Coastguard Worker  * to the xmlSaveToFd() and similar calls.
28*7c568831SAndroid Build Coastguard Worker  */
29*7c568831SAndroid Build Coastguard Worker typedef enum {
30*7c568831SAndroid Build Coastguard Worker     XML_SAVE_FORMAT     = 1<<0,	/* format save output */
31*7c568831SAndroid Build Coastguard Worker     XML_SAVE_NO_DECL    = 1<<1,	/* drop the xml declaration */
32*7c568831SAndroid Build Coastguard Worker     XML_SAVE_NO_EMPTY	= 1<<2, /* no empty tags */
33*7c568831SAndroid Build Coastguard Worker     XML_SAVE_NO_XHTML	= 1<<3, /* disable XHTML1 specific rules */
34*7c568831SAndroid Build Coastguard Worker     XML_SAVE_XHTML	= 1<<4, /* force XHTML1 specific rules */
35*7c568831SAndroid Build Coastguard Worker     XML_SAVE_AS_XML     = 1<<5, /* force XML serialization on HTML doc */
36*7c568831SAndroid Build Coastguard Worker     XML_SAVE_AS_HTML    = 1<<6, /* force HTML serialization on XML doc */
37*7c568831SAndroid Build Coastguard Worker     XML_SAVE_WSNONSIG   = 1<<7, /* format with non-significant whitespace */
38*7c568831SAndroid Build Coastguard Worker     /* Available since 2.14.0 */
39*7c568831SAndroid Build Coastguard Worker     XML_SAVE_EMPTY      = 1<<8, /* force empty tags, overriding global */
40*7c568831SAndroid Build Coastguard Worker     XML_SAVE_NO_INDENT  = 1<<9, /* disable indenting */
41*7c568831SAndroid Build Coastguard Worker     XML_SAVE_INDENT     = 1<<10 /* force indenting, overriding global */
42*7c568831SAndroid Build Coastguard Worker } xmlSaveOption;
43*7c568831SAndroid Build Coastguard Worker 
44*7c568831SAndroid Build Coastguard Worker 
45*7c568831SAndroid Build Coastguard Worker typedef struct _xmlSaveCtxt xmlSaveCtxt;
46*7c568831SAndroid Build Coastguard Worker typedef xmlSaveCtxt *xmlSaveCtxtPtr;
47*7c568831SAndroid Build Coastguard Worker 
48*7c568831SAndroid Build Coastguard Worker XMLPUBFUN xmlSaveCtxtPtr
49*7c568831SAndroid Build Coastguard Worker 		xmlSaveToFd		(int fd,
50*7c568831SAndroid Build Coastguard Worker 					 const char *encoding,
51*7c568831SAndroid Build Coastguard Worker 					 int options);
52*7c568831SAndroid Build Coastguard Worker XMLPUBFUN xmlSaveCtxtPtr
53*7c568831SAndroid Build Coastguard Worker 		xmlSaveToFilename	(const char *filename,
54*7c568831SAndroid Build Coastguard Worker 					 const char *encoding,
55*7c568831SAndroid Build Coastguard Worker 					 int options);
56*7c568831SAndroid Build Coastguard Worker 
57*7c568831SAndroid Build Coastguard Worker XMLPUBFUN xmlSaveCtxtPtr
58*7c568831SAndroid Build Coastguard Worker 		xmlSaveToBuffer		(xmlBufferPtr buffer,
59*7c568831SAndroid Build Coastguard Worker 					 const char *encoding,
60*7c568831SAndroid Build Coastguard Worker 					 int options);
61*7c568831SAndroid Build Coastguard Worker 
62*7c568831SAndroid Build Coastguard Worker XMLPUBFUN xmlSaveCtxtPtr
63*7c568831SAndroid Build Coastguard Worker 		xmlSaveToIO		(xmlOutputWriteCallback iowrite,
64*7c568831SAndroid Build Coastguard Worker 					 xmlOutputCloseCallback ioclose,
65*7c568831SAndroid Build Coastguard Worker 					 void *ioctx,
66*7c568831SAndroid Build Coastguard Worker 					 const char *encoding,
67*7c568831SAndroid Build Coastguard Worker 					 int options);
68*7c568831SAndroid Build Coastguard Worker 
69*7c568831SAndroid Build Coastguard Worker XMLPUBFUN long
70*7c568831SAndroid Build Coastguard Worker 		xmlSaveDoc		(xmlSaveCtxtPtr ctxt,
71*7c568831SAndroid Build Coastguard Worker 					 xmlDocPtr doc);
72*7c568831SAndroid Build Coastguard Worker XMLPUBFUN long
73*7c568831SAndroid Build Coastguard Worker 		xmlSaveTree		(xmlSaveCtxtPtr ctxt,
74*7c568831SAndroid Build Coastguard Worker 					 xmlNodePtr node);
75*7c568831SAndroid Build Coastguard Worker 
76*7c568831SAndroid Build Coastguard Worker XMLPUBFUN int
77*7c568831SAndroid Build Coastguard Worker 		xmlSaveFlush		(xmlSaveCtxtPtr ctxt);
78*7c568831SAndroid Build Coastguard Worker XMLPUBFUN int
79*7c568831SAndroid Build Coastguard Worker 		xmlSaveClose		(xmlSaveCtxtPtr ctxt);
80*7c568831SAndroid Build Coastguard Worker XMLPUBFUN int
81*7c568831SAndroid Build Coastguard Worker 		xmlSaveFinish		(xmlSaveCtxtPtr ctxt);
82*7c568831SAndroid Build Coastguard Worker XMLPUBFUN int
83*7c568831SAndroid Build Coastguard Worker 		xmlSaveSetIndentString	(xmlSaveCtxtPtr ctxt,
84*7c568831SAndroid Build Coastguard Worker 					 const char *indent);
85*7c568831SAndroid Build Coastguard Worker XML_DEPRECATED
86*7c568831SAndroid Build Coastguard Worker XMLPUBFUN int
87*7c568831SAndroid Build Coastguard Worker 		xmlSaveSetEscape	(xmlSaveCtxtPtr ctxt,
88*7c568831SAndroid Build Coastguard Worker 					 xmlCharEncodingOutputFunc escape);
89*7c568831SAndroid Build Coastguard Worker XML_DEPRECATED
90*7c568831SAndroid Build Coastguard Worker XMLPUBFUN int
91*7c568831SAndroid Build Coastguard Worker 		xmlSaveSetAttrEscape	(xmlSaveCtxtPtr ctxt,
92*7c568831SAndroid Build Coastguard Worker 					 xmlCharEncodingOutputFunc escape);
93*7c568831SAndroid Build Coastguard Worker 
94*7c568831SAndroid Build Coastguard Worker XML_DEPRECATED
95*7c568831SAndroid Build Coastguard Worker XMLPUBFUN int
96*7c568831SAndroid Build Coastguard Worker                 xmlThrDefIndentTreeOutput(int v);
97*7c568831SAndroid Build Coastguard Worker XML_DEPRECATED
98*7c568831SAndroid Build Coastguard Worker XMLPUBFUN const char *
99*7c568831SAndroid Build Coastguard Worker                 xmlThrDefTreeIndentString(const char * v);
100*7c568831SAndroid Build Coastguard Worker XML_DEPRECATED
101*7c568831SAndroid Build Coastguard Worker XMLPUBFUN int
102*7c568831SAndroid Build Coastguard Worker                 xmlThrDefSaveNoEmptyTags(int v);
103*7c568831SAndroid Build Coastguard Worker 
104*7c568831SAndroid Build Coastguard Worker #ifdef __cplusplus
105*7c568831SAndroid Build Coastguard Worker }
106*7c568831SAndroid Build Coastguard Worker #endif
107*7c568831SAndroid Build Coastguard Worker 
108*7c568831SAndroid Build Coastguard Worker #endif /* LIBXML_OUTPUT_ENABLED */
109*7c568831SAndroid Build Coastguard Worker #endif /* __XML_XMLSAVE_H__ */
110*7c568831SAndroid Build Coastguard Worker 
111*7c568831SAndroid Build Coastguard Worker 
112