xmlsave

xmlsave - the XML document serializer

API to save document or subtree of document

Author(s): Daniel Veillard

Synopsis

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);

Description

Details

Structure xmlSaveCtxt

struct _xmlSaveCtxt {
The content of this structure is not made public by the API.
} xmlSaveCtxt;


Typedef xmlSaveCtxtPtr

xmlSaveCtxt * xmlSaveCtxtPtr;


Enum xmlSaveOption

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 */
};


xmlSaveClose ()

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.

xmlSaveDoc ()

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

xmlSaveFlush ()

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.

xmlSaveSetAttrEscape ()

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.

xmlSaveSetEscape ()

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.

xmlSaveToBuffer ()

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.

xmlSaveToFd ()

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.

xmlSaveToFilename ()

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.

xmlSaveToIO ()

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.

xmlSaveTree ()

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:
Returns: the number of byte written or -1 in case of error