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:
FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>