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