mirror of
https://github.com/GNOME/libxml2.git
synced 2025-04-18 19:40:25 +08:00
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
62 lines
1.2 KiB
C
62 lines
1.2 KiB
C
/**
|
|
* uri.c: library of generic URI related routines
|
|
*
|
|
* Reference: RFC 2396
|
|
*
|
|
* See Copyright for the status of this software.
|
|
*
|
|
* Daniel.Veillard@w3.org
|
|
*/
|
|
|
|
#ifndef __XML_URI_H__
|
|
#define __XML_URI_H__
|
|
|
|
#include <libxml/tree.h>
|
|
|
|
#ifdef __cplusplus
|
|
extern "C" {
|
|
#endif
|
|
|
|
/**
|
|
*
|
|
*/
|
|
typedef struct _xmlURI xmlURI;
|
|
typedef xmlURI *xmlURIPtr;
|
|
struct _xmlURI {
|
|
char *scheme;
|
|
char *opaque;
|
|
char *authority;
|
|
char *server;
|
|
char *user;
|
|
int port;
|
|
char *path;
|
|
char *query;
|
|
char *fragment;
|
|
};
|
|
|
|
/*
|
|
* This function is in tree.h:
|
|
* xmlChar * xmlNodeGetBase (xmlDocPtr doc,
|
|
* xmlNodePtr cur);
|
|
*/
|
|
xmlURIPtr xmlCreateURI (void);
|
|
xmlChar * xmlBuildURI (const xmlChar *URI,
|
|
const xmlChar *base);
|
|
xmlURIPtr xmlParseURI (const char *URI);
|
|
int xmlParseURIReference (xmlURIPtr uri,
|
|
const char *str);
|
|
xmlChar * xmlSaveUri (xmlURIPtr uri);
|
|
void xmlPrintURI (FILE *stream,
|
|
xmlURIPtr uri);
|
|
char * xmlURIUnescapeString (const char *str,
|
|
int len,
|
|
char *target);
|
|
int xmlNormalizeURIPath (char *path);
|
|
xmlChar * xmlURIEscape (const xmlChar *str);
|
|
void xmlFreeURI (xmlURIPtr uri);
|
|
|
|
#ifdef __cplusplus
|
|
}
|
|
#endif
|
|
#endif /* __XML_URI_H__ */
|