Tag
Hash :
354edd89
Author :
Date :
2001-03-21T12:53:50
It's hard to estimate how much I hated to do this, but it's done ... The best way to solve the I18N problen is unfortunately to fix libxml1 parser to at least deal correctly with UTF8 and ISO-Latin-1 encodings. I have plugged in the 2.3.5 (or what will be it's not released yet) core XML parser in the libxml1 framework. No changes API wise. The only changes will be backward binary compatible extensions of some of the parser structures and the number of parser states. - configure.in: version will be 1.8.12 - Makefile.am: added .memdump tests - SAX.c entities.[ch] parser.[ch] tree.c valid.c xml-error.h xmlIO.[ch]: plugged the 2.3.5 libxml2 XML parser in, while preserving binary compatibility - uri.[ch]: the parser code really requires URI manipulation add this from 2.3.5 too - results/* : of course this changed the output of a number of tests - test/dtd12 : this test was actually not wellformed, the new parser pukes at it, fixed ... Daniel
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69
/*
* xmlIO.h : interface for the I/O interfaces used by the parser
*
* See Copyright for the status of this software.
*
* Daniel.Veillard@w3.org
*/
#ifndef __XML_IO_H__
#define __XML_IO_H__
#include <stdio.h>
#include "tree.h"
#include "parser.h"
#include "encoding.h"
#ifdef __cplusplus
extern "C" {
#endif
typedef struct _xmlParserInputBuffer xmlParserInputBuffer;
typedef xmlParserInputBuffer *xmlParserInputBufferPtr;
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 */
};
/*
* Interfaces
*/
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);
#ifdef __cplusplus
}
#endif
#endif /* __XML_IO_H__ */