Hash :
7bd8d1d9
Author :
Date :
2025-05-28T15:53:38
doc: Prefix autolinks with '#' Use `#func` instead of `func()` to ignore parameters and make all autolinks work.
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 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155
/**
* @file
*
* @brief XML/HTML serializer
*
* API to save documents or subtrees of documents.
*
* @copyright 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
/**
* This is the set of XML save options that can be passed down
* to the #xmlSaveToFd and similar calls.
*/
typedef enum {
/**
* Format output. This adds newlines and enables indenting
* by default.
*/
XML_SAVE_FORMAT = 1<<0,
/**
* Don't emit an XML declaration.
*/
XML_SAVE_NO_DECL = 1<<1,
/**
* Don't emit empty tags.
*/
XML_SAVE_NO_EMPTY = 1<<2,
/**
* Don't serialize as XHTML.
*/
XML_SAVE_NO_XHTML = 1<<3,
/**
* Always serialize as XHTML.
*/
XML_SAVE_XHTML = 1<<4,
/**
* Serialize HTML documents as XML.
*/
XML_SAVE_AS_XML = 1<<5,
/**
* Serialize XML documents as HTML.
*/
XML_SAVE_AS_HTML = 1<<6,
/**
* Format with non-significant whitespace.
* TODO: What does this mean?
*/
XML_SAVE_WSNONSIG = 1<<7,
/**
* Always emit empty tags. This is the default unless the
* deprecated thread-local setting xmlSaveNoEmptyTags is
* set to 1.
*
* @since 2.14
*/
XML_SAVE_EMPTY = 1<<8,
/**
* Don't indent output when formatting.
*
* @since 2.14
*/
XML_SAVE_NO_INDENT = 1<<9,
/**
* Always indent output when formatting. This is the default
* unless the deprecated thread-local setting
* xmlIndentTreeOutput is set to 0.
*
* @since 2.14
*/
XML_SAVE_INDENT = 1<<10
} xmlSaveOption;
typedef struct _xmlSaveCtxt xmlSaveCtxt;
typedef xmlSaveCtxt *xmlSaveCtxtPtr;
XMLPUBFUN xmlSaveCtxt *
xmlSaveToFd (int fd,
const char *encoding,
int options);
XMLPUBFUN xmlSaveCtxt *
xmlSaveToFilename (const char *filename,
const char *encoding,
int options);
XMLPUBFUN xmlSaveCtxt *
xmlSaveToBuffer (xmlBuffer *buffer,
const char *encoding,
int options);
XMLPUBFUN xmlSaveCtxt *
xmlSaveToIO (xmlOutputWriteCallback iowrite,
xmlOutputCloseCallback ioclose,
void *ioctx,
const char *encoding,
int options);
XMLPUBFUN long
xmlSaveDoc (xmlSaveCtxt *ctxt,
xmlDoc *doc);
XMLPUBFUN long
xmlSaveTree (xmlSaveCtxt *ctxt,
xmlNode *node);
XMLPUBFUN int
xmlSaveFlush (xmlSaveCtxt *ctxt);
XMLPUBFUN int
xmlSaveClose (xmlSaveCtxt *ctxt);
XMLPUBFUN xmlParserErrors
xmlSaveFinish (xmlSaveCtxt *ctxt);
XMLPUBFUN int
xmlSaveSetIndentString (xmlSaveCtxt *ctxt,
const char *indent);
XML_DEPRECATED
XMLPUBFUN int
xmlSaveSetEscape (xmlSaveCtxt *ctxt,
xmlCharEncodingOutputFunc escape);
XML_DEPRECATED
XMLPUBFUN int
xmlSaveSetAttrEscape (xmlSaveCtxt *ctxt,
xmlCharEncodingOutputFunc escape);
XML_DEPRECATED
XMLPUBFUN int
xmlThrDefIndentTreeOutput(int v);
XML_DEPRECATED
XMLPUBFUN const char *
xmlThrDefTreeIndentString(const char * v);
XML_DEPRECATED
XMLPUBFUN int
xmlThrDefSaveNoEmptyTags(int v);
#ifdef __cplusplus
}
#endif
#endif /* LIBXML_OUTPUT_ENABLED */
#endif /* __XML_XMLSAVE_H__ */