| 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 */
/* Added when merging 2.3.5 code */
xmlBufferPtr raw; /* if encoder != NULL buffer for raw input */
}; |
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 |