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