Home | History | Annotate | Download | only in libxml
      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 
     89