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
20extern "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 */
29typedef 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
41typedef struct _xmlSaveCtxt xmlSaveCtxt;
42typedef xmlSaveCtxt *xmlSaveCtxtPtr;
43
44XMLPUBFUN xmlSaveCtxtPtr XMLCALL
45 xmlSaveToFd (int fd,
46 const char *encoding,
47 int options);
48XMLPUBFUN xmlSaveCtxtPtr XMLCALL
49 xmlSaveToFilename (const char *filename,
50 const char *encoding,
51 int options);
52
53XMLPUBFUN xmlSaveCtxtPtr XMLCALL
54 xmlSaveToBuffer (xmlBufferPtr buffer,
55 const char *encoding,
56 int options);
57
58XMLPUBFUN xmlSaveCtxtPtr XMLCALL
59 xmlSaveToIO (xmlOutputWriteCallback iowrite,
60 xmlOutputCloseCallback ioclose,
61 void *ioctx,
62 const char *encoding,
63 int options);
64
65XMLPUBFUN long XMLCALL
66 xmlSaveDoc (xmlSaveCtxtPtr ctxt,
67 xmlDocPtr doc);
68XMLPUBFUN long XMLCALL
69 xmlSaveTree (xmlSaveCtxtPtr ctxt,
70 xmlNodePtr node);
71
72XMLPUBFUN int XMLCALL
73 xmlSaveFlush (xmlSaveCtxtPtr ctxt);
74XMLPUBFUN int XMLCALL
75 xmlSaveClose (xmlSaveCtxtPtr ctxt);
76XMLPUBFUN int XMLCALL
77 xmlSaveSetEscape (xmlSaveCtxtPtr ctxt,
78 xmlCharEncodingOutputFunc escape);
79XMLPUBFUN 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