00001 00011 #ifndef __XML_URI_H__ 00012 #define __XML_URI_H__ 00013 00014 #include <libxml/xmlversion.h> 00015 #include <libxml/tree.h> 00016 00017 #ifdef __cplusplus 00018 extern "C" { 00019 #endif 00020 00027 typedef struct _xmlURI xmlURI; 00028 typedef xmlURI *xmlURIPtr; 00029 struct _xmlURI { 00030 char *scheme; /* the URI scheme */ 00031 char *opaque; /* opaque part */ 00032 char *authority; /* the authority part */ 00033 char *server; /* the server part */ 00034 char *user; /* the user part */ 00035 int port; /* the port number */ 00036 char *path; /* the path string */ 00037 char *query; /* the query string */ 00038 char *fragment; /* the fragment identifier */ 00039 int cleanup; /* parsing potentially unclean URI */ 00040 }; 00041 00042 /* 00043 * This function is in tree.h: 00044 * xmlChar * xmlNodeGetBase (xmlDocPtr doc, 00045 * xmlNodePtr cur); 00046 */ 00047 XMLPUBFUN xmlURIPtr XMLCALL 00048 xmlCreateURI (void); 00049 XMLPUBFUN xmlChar * XMLCALL 00050 xmlBuildURI (const xmlChar *URI, 00051 const xmlChar *base); 00052 XMLPUBFUN xmlURIPtr XMLCALL 00053 xmlParseURI (const char *str); 00054 XMLPUBFUN int XMLCALL 00055 xmlParseURIReference (xmlURIPtr uri, 00056 const char *str); 00057 XMLPUBFUN xmlChar * XMLCALL 00058 xmlSaveUri (xmlURIPtr uri); 00059 XMLPUBFUN void XMLCALL 00060 xmlPrintURI (FILE *stream, 00061 xmlURIPtr uri); 00062 XMLPUBFUN xmlChar * XMLCALL 00063 xmlURIEscapeStr (const xmlChar *str, 00064 const xmlChar *list); 00065 XMLPUBFUN char * XMLCALL 00066 xmlURIUnescapeString (const char *str, 00067 int len, 00068 char *target); 00069 XMLPUBFUN int XMLCALL 00070 xmlNormalizeURIPath (char *path); 00071 XMLPUBFUN xmlChar * XMLCALL 00072 xmlURIEscape (const xmlChar *str); 00073 XMLPUBFUN void XMLCALL 00074 xmlFreeURI (xmlURIPtr uri); 00075 XMLPUBFUN xmlChar* XMLCALL 00076 xmlCanonicPath (const xmlChar *path); 00077 00078 #ifdef __cplusplus 00079 } 00080 #endif 00081 #endif /* __XML_URI_H__ */ 00082