1/** 2 * Summary: library of generic URI related routines 3 * Description: library of generic URI related routines 4 * Implements RFC 2396 5 * 6 * Copy: See Copyright for the status of this software. 7 * 8 * Author: Daniel Veillard 9 */ 10 11#ifndef __XML_URI_H__ 12#define __XML_URI_H__ 13 14#include <libxml/xmlversion.h> 15#include <libxml/tree.h> 16 17#ifdef __cplusplus 18extern "C" { 19#endif 20 21/** 22 * xmlURI: 23 * 24 * A parsed URI reference. This is a struct containing the various fields 25 * as described in RFC 2396 but separated for further processing. 26 */ 27typedef struct _xmlURI xmlURI; 28typedef xmlURI *xmlURIPtr; 29struct _xmlURI { 30 char *scheme; /* the URI scheme */ 31 char *opaque; /* opaque part */ 32 char *authority; /* the authority part */ 33 char *server; /* the server part */ 34 char *user; /* the user part */ 35 int port; /* the port number */ 36 char *path; /* the path string */ 37 char *query; /* the query string */ 38 char *fragment; /* the fragment identifier */ 39 int cleanup; /* parsing potentially unclean URI */ 40}; 41 42/* 43 * This function is in tree.h: 44 * xmlChar * xmlNodeGetBase (xmlDocPtr doc, 45 * xmlNodePtr cur); 46 */ 47XMLPUBFUN xmlURIPtr XMLCALL 48 xmlCreateURI (void); 49XMLPUBFUN xmlChar * XMLCALL 50 xmlBuildURI (const xmlChar *URI, 51 const xmlChar *base); 52XMLPUBFUN xmlChar * XMLCALL 53 xmlBuildRelativeURI (const xmlChar *URI, 54 const xmlChar *base); 55XMLPUBFUN xmlURIPtr XMLCALL 56 xmlParseURI (const char *str); 57XMLPUBFUN xmlURIPtr XMLCALL 58 xmlParseURIRaw (const char *str, 59 int raw); 60XMLPUBFUN int XMLCALL 61 xmlParseURIReference (xmlURIPtr uri, 62 const char *str); 63XMLPUBFUN xmlChar * XMLCALL 64 xmlSaveUri (xmlURIPtr uri); 65XMLPUBFUN void XMLCALL 66 xmlPrintURI (FILE *stream, 67 xmlURIPtr uri); 68XMLPUBFUN xmlChar * XMLCALL 69 xmlURIEscapeStr (const xmlChar *str, 70 const xmlChar *list); 71XMLPUBFUN char * XMLCALL 72 xmlURIUnescapeString (const char *str, 73 int len, 74 char *target); 75XMLPUBFUN int XMLCALL 76 xmlNormalizeURIPath (char *path); 77XMLPUBFUN xmlChar * XMLCALL 78 xmlURIEscape (const xmlChar *str); 79XMLPUBFUN void XMLCALL 80 xmlFreeURI (xmlURIPtr uri); 81XMLPUBFUN xmlChar* XMLCALL 82 xmlCanonicPath (const xmlChar *path); 83XMLPUBFUN xmlChar* XMLCALL 84 xmlPathToURI (const xmlChar *path); 85 86#ifdef __cplusplus 87} 88#endif 89#endif /* __XML_URI_H__ */ 90