diff options
Diffstat (limited to 'libxml2/include/libxml/uri.h')
| -rw-r--r-- | libxml2/include/libxml/uri.h | 94 | 
1 files changed, 94 insertions, 0 deletions
| diff --git a/libxml2/include/libxml/uri.h b/libxml2/include/libxml/uri.h new file mode 100644 index 000000000..db48262b1 --- /dev/null +++ b/libxml2/include/libxml/uri.h @@ -0,0 +1,94 @@ +/** + * Summary: library of generic URI related routines + * Description: library of generic URI related routines + *              Implements RFC 2396 + * + * Copy: See Copyright for the status of this software. + * + * Author: Daniel Veillard + */ + +#ifndef __XML_URI_H__ +#define __XML_URI_H__ + +#include <libxml/xmlversion.h> +#include <libxml/tree.h> + +#ifdef __cplusplus +extern "C" { +#endif + +/** + * xmlURI: + * + * A parsed URI reference. This is a struct containing the various fields + * as described in RFC 2396 but separated for further processing. + * + * Note: query is a deprecated field which is incorrectly unescaped. + * query_raw takes precedence over query if the former is set. + * See: http://mail.gnome.org/archives/xml/2007-April/thread.html#00127 + */ +typedef struct _xmlURI xmlURI; +typedef xmlURI *xmlURIPtr; +struct _xmlURI { +    char *scheme;	/* the URI scheme */ +    char *opaque;	/* opaque part */ +    char *authority;	/* the authority part */ +    char *server;	/* the server part */ +    char *user;		/* the user part */ +    int port;		/* the port number */ +    char *path;		/* the path string */ +    char *query;	/* the query string (deprecated - use with caution) */ +    char *fragment;	/* the fragment identifier */ +    int  cleanup;	/* parsing potentially unclean URI */ +    char *query_raw;	/* the query string (as it appears in the URI) */ +}; + +/* + * This function is in tree.h: + * xmlChar *	xmlNodeGetBase	(xmlDocPtr doc, + *                               xmlNodePtr cur); + */ +XMLPUBFUN xmlURIPtr XMLCALL +		xmlCreateURI		(void); +XMLPUBFUN xmlChar * XMLCALL +		xmlBuildURI		(const xmlChar *URI, +					 const xmlChar *base); +XMLPUBFUN xmlChar * XMLCALL +		xmlBuildRelativeURI	(const xmlChar *URI, +					 const xmlChar *base); +XMLPUBFUN xmlURIPtr XMLCALL +		xmlParseURI		(const char *str); +XMLPUBFUN xmlURIPtr XMLCALL +		xmlParseURIRaw		(const char *str, +					 int raw); +XMLPUBFUN int XMLCALL +		xmlParseURIReference	(xmlURIPtr uri, +					 const char *str); +XMLPUBFUN xmlChar * XMLCALL +		xmlSaveUri		(xmlURIPtr uri); +XMLPUBFUN void XMLCALL +		xmlPrintURI		(FILE *stream, +					 xmlURIPtr uri); +XMLPUBFUN xmlChar * XMLCALL +		xmlURIEscapeStr         (const xmlChar *str, +					 const xmlChar *list); +XMLPUBFUN char * XMLCALL +		xmlURIUnescapeString	(const char *str, +					 int len, +					 char *target); +XMLPUBFUN int XMLCALL +		xmlNormalizeURIPath	(char *path); +XMLPUBFUN xmlChar * XMLCALL +		xmlURIEscape		(const xmlChar *str); +XMLPUBFUN void XMLCALL +		xmlFreeURI		(xmlURIPtr uri); +XMLPUBFUN xmlChar* XMLCALL +		xmlCanonicPath		(const xmlChar *path); +XMLPUBFUN xmlChar* XMLCALL +		xmlPathToURI		(const xmlChar *path); + +#ifdef __cplusplus +} +#endif +#endif /* __XML_URI_H__ */ | 
