2001-02-23 20:55:21 +03:00
/**
* 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
/**
2001-05-19 17:24:56 +04:00
* xmlURI :
2001-02-23 20:55:21 +03:00
*
2001-05-19 17:24:56 +04:00
* A parsed URI reference . This is a struct containing the various fields
* as described in RFC 2396 but separated for further processing
2001-02-23 20:55:21 +03:00
*/
typedef struct _xmlURI xmlURI ;
typedef xmlURI * xmlURIPtr ;
struct _xmlURI {
2001-05-19 17:24:56 +04:00
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 */
char * fragment ; /* the fragment identifier */
2001-02-23 20:55:21 +03:00
} ;
/*
* 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 ) ;
2001-05-23 14:29:12 +04:00
xmlChar * xmlURIEscapeStr ( const xmlChar * str ,
const xmlChar * list ) ;
2001-02-23 20:55:21 +03:00
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__ */