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