libxml2 Reference Manual |
---|
xmlsave - the XML document serializer
API to save document or subtree of document
Author(s): Daniel Veillard
typedef struct _xmlSaveCtxt xmlSaveCtxt; typedef xmlSaveCtxt * xmlSaveCtxtPtr; typedef enum xmlSaveOption; int xmlSaveClose (xmlSaveCtxtPtr ctxt); long xmlSaveDoc (xmlSaveCtxtPtr ctxt,
xmlDocPtr doc); int xmlSaveFlush (xmlSaveCtxtPtr ctxt); int xmlSaveSetAttrEscape (xmlSaveCtxtPtr ctxt,
xmlCharEncodingOutputFunc escape); int xmlSaveSetEscape (xmlSaveCtxtPtr ctxt,
xmlCharEncodingOutputFunc escape); xmlSaveCtxtPtr xmlSaveToBuffer (xmlBufferPtr buffer,
const char * encoding,
int options); xmlSaveCtxtPtr xmlSaveToFd (int fd,
const char * encoding,
int options); xmlSaveCtxtPtr xmlSaveToFilename (const char * filename,
const char * encoding,
int options); xmlSaveCtxtPtr xmlSaveToIO (xmlOutputWriteCallback iowrite,
xmlOutputCloseCallback ioclose,
void * ioctx,
const char * encoding,
int options); long xmlSaveTree (xmlSaveCtxtPtr ctxt,
xmlNodePtr cur); int xmlThrDefIndentTreeOutput (int v); int xmlThrDefSaveNoEmptyTags (int v); const char * xmlThrDefTreeIndentString (const char * v);
struct _xmlSaveCtxt { The content of this structure is not made public by the API. } xmlSaveCtxt;
xmlSaveCtxt * xmlSaveCtxtPtr;
enum xmlSaveOption { XML_SAVE_FORMAT = 1 /* format save output */ XML_SAVE_NO_DECL = 2 /* drop the xml declaration */ XML_SAVE_NO_EMPTY = 4 /* no empty tags */ XML_SAVE_NO_XHTML = 8 /* disable XHTML1 specific rules */ XML_SAVE_XHTML = 16 /* force XHTML1 specific rules */ XML_SAVE_AS_XML = 32 /* force XML serialization on HTML doc */ XML_SAVE_AS_HTML = 64 /* force HTML serialization on XML doc */ XML_SAVE_WSNONSIG = 128 /* format with non-significant whitespace */ };
int xmlSaveClose (xmlSaveCtxtPtr ctxt)
Close a document saving context, i.e. make sure that all bytes have been output and free the associated data.
ctxt: | a document saving context |
Returns: | the number of byte written or -1 in case of error. |
long xmlSaveDoc (xmlSaveCtxtPtr ctxt,
xmlDocPtr doc)
Save a full document to a saving context TODO: The function is not fully implemented yet as it does not return the byte count but 0 instead
ctxt: | a document saving context |
doc: | a document |
Returns: | the number of byte written or -1 in case of error |
int xmlSaveFlush (xmlSaveCtxtPtr ctxt)
Flush a document saving context, i.e. make sure that all bytes have been output.
ctxt: | a document saving context |
Returns: | the number of byte written or -1 in case of error. |
int xmlSaveSetAttrEscape (xmlSaveCtxtPtr ctxt,
xmlCharEncodingOutputFunc escape)
Set a custom escaping function to be used for text in attribute content
ctxt: | a document saving context |
escape: | the escaping function |
Returns: | 0 if successful or -1 in case of error. |
int xmlSaveSetEscape (xmlSaveCtxtPtr ctxt,
xmlCharEncodingOutputFunc escape)
Set a custom escaping function to be used for text in element content
ctxt: | a document saving context |
escape: | the escaping function |
Returns: | 0 if successful or -1 in case of error. |
xmlSaveCtxtPtr xmlSaveToBuffer (xmlBufferPtr buffer,
const char * encoding,
int options)
Create a document saving context serializing to a buffer with the encoding and the options given
buffer: | a buffer |
encoding: | the encoding name to use or NULL |
options: | a set of xmlSaveOptions |
Returns: | a new serialization context or NULL in case of error. |
xmlSaveCtxtPtr xmlSaveToFd (int fd,
const char * encoding,
int options)
Create a document saving context serializing to a file descriptor with the encoding and the options given.
fd: | a file descriptor number |
encoding: | the encoding name to use or NULL |
options: | a set of xmlSaveOptions |
Returns: | a new serialization context or NULL in case of error. |
xmlSaveCtxtPtr xmlSaveToFilename (const char * filename,
const char * encoding,
int options)
Create a document saving context serializing to a filename or possibly to an URL (but this is less reliable) with the encoding and the options given.
filename: | a file name or an URL |
encoding: | the encoding name to use or NULL |
options: | a set of xmlSaveOptions |
Returns: | a new serialization context or NULL in case of error. |
xmlSaveCtxtPtr xmlSaveToIO (xmlOutputWriteCallback iowrite,
xmlOutputCloseCallback ioclose,
void * ioctx,
const char * encoding,
int options)
Create a document saving context serializing to a file descriptor with the encoding and the options given
iowrite: | an I/O write function |
ioclose: | an I/O close function |
ioctx: | an I/O handler |
encoding: | the encoding name to use or NULL |
options: | a set of xmlSaveOptions |
Returns: | a new serialization context or NULL in case of error. |
long xmlSaveTree (xmlSaveCtxtPtr ctxt,
xmlNodePtr cur)
Save a subtree starting at the node parameter to a saving context TODO: The function is not fully implemented yet as it does not return the byte count but 0 instead
ctxt: | a document saving context |
cur: | the top node of the subtree to save |
Returns: | the number of byte written or -1 in case of error |