Gnome XML Library Reference Manual | |||
---|---|---|---|
<<< Previous Page | Home | Up | Next Page >>> |
struct xmlParserInputBuffer; typedef xmlParserInputBufferPtr; xmlParserInputBufferPtr xmlAllocParserInputBuffer (xmlCharEncoding enc); xmlParserInputBufferPtr xmlParserInputBufferCreateFilename (const char *filename, xmlCharEncoding enc); xmlParserInputBufferPtr xmlParserInputBufferCreateFile (FILE *file, xmlCharEncoding enc); xmlParserInputBufferPtr xmlParserInputBufferCreateFd (int fd, xmlCharEncoding enc); int xmlParserInputBufferRead (xmlParserInputBufferPtr in, int len); int xmlParserInputBufferGrow (xmlParserInputBufferPtr in, int len); int xmlParserInputBufferPush (xmlParserInputBufferPtr in, int len, const char *buf); void xmlFreeParserInputBuffer (xmlParserInputBufferPtr in); char* xmlParserGetDirectory (const char *filename); |
struct xmlParserInputBuffer { /* Inputs */ FILE *file; /* Input on file handler */ void* gzfile; /* Input on a compressed stream */ int fd; /* Input on a file descriptor */ void *httpIO; /* Input from an HTTP stream */ void *ftpIO; /* Input from an FTP stream */ xmlCharEncodingHandlerPtr encoder; /* I18N conversions to UTF-8 */ xmlBufferPtr buffer; /* Local buffer encoded in UTF-8 */ }; |
xmlParserInputBufferPtr xmlAllocParserInputBuffer (xmlCharEncoding enc); |
Create a buffered parser input for progressive parsing
enc : | the charset encoding if known |
Returns : | the new parser input or NULL |
xmlParserInputBufferPtr xmlParserInputBufferCreateFilename (const char *filename, xmlCharEncoding enc); |
Create a buffered parser input for the progressive parsing of a file If filename is "-' then we use stdin as the input. Automatic support for ZLIB/Compress compressed document is provided by default if found at compile-time.
filename : | a C string containing the filename |
enc : | the charset encoding if known |
Returns : | the new parser input or NULL |
xmlParserInputBufferPtr xmlParserInputBufferCreateFile (FILE *file, xmlCharEncoding enc); |
Create a buffered parser input for the progressive parsing of a FILE * buffered C I/O
file : | a FILE* |
enc : | the charset encoding if known |
Returns : | the new parser input or NULL |
xmlParserInputBufferPtr xmlParserInputBufferCreateFd (int fd, xmlCharEncoding enc); |
Create a buffered parser input for the progressive parsing for the input from a file descriptor
fd : | a file descriptor number |
enc : | the charset encoding if known |
Returns : | the new parser input or NULL |
int xmlParserInputBufferRead (xmlParserInputBufferPtr in, int len); |
Refresh the content of the input buffer, the old data are considered consumed This routine handle the I18N transcoding to internal UTF-8
in : | a buffered parser input |
len : | indicative value of the amount of chars to read |
Returns : | the number of chars read and stored in the buffer, or -1 in case of error. |
int xmlParserInputBufferGrow (xmlParserInputBufferPtr in, int len); |
Grow up the content of the input buffer, the old data are preserved This routine handle the I18N transcoding to internal UTF-8 This routine is used when operating the parser in normal (pull) mode TODO: one should be able to remove one extra copy
in : | a buffered parser input |
len : | indicative value of the amount of chars to read |
Returns : | the number of chars read and stored in the buffer, or -1 in case of error. |
int xmlParserInputBufferPush (xmlParserInputBufferPtr in, int len, const char *buf); |
Push the content of the arry in the input buffer This routine handle the I18N transcoding to internal UTF-8 This is used when operating the parser in progressive (push) mode.
in : | a buffered parser input |
len : | the size in bytes of the array. |
buf : | an char array |
Returns : | the number of chars read and stored in the buffer, or -1 in case of error. |
void xmlFreeParserInputBuffer (xmlParserInputBufferPtr in); |
Free up the memory used by a buffered parser input
in : | a buffered parser input |