williamr@4: /* williamr@4: * Summary: library of generic URI related routines williamr@4: * Description: library of generic URI related routines williamr@4: * Implements RFC 2396 williamr@4: * williamr@4: * Copy: See Copyright for the status of this software. williamr@4: * williamr@4: * Author: Daniel Veillard williamr@4: * Portion Copyright © 2009 Nokia Corporation and/or its subsidiary(-ies). All rights reserved. williamr@4: */ williamr@4: williamr@4: /** @file williamr@4: @publishedAll williamr@4: @released williamr@4: */ williamr@4: williamr@4: #ifndef XML_URI_H williamr@4: #define XML_URI_H williamr@4: williamr@4: #include williamr@4: williamr@4: #ifdef __cplusplus williamr@4: extern "C" { williamr@4: #endif williamr@4: williamr@4: /** williamr@4: * xmlURI: williamr@4: * williamr@4: * A parsed URI reference. This is a struct containing the various fields williamr@4: * as described in RFC 2396 but separated for further processing. williamr@4: */ williamr@4: typedef struct _xmlURI xmlURI; williamr@4: typedef xmlURI *xmlURIPtr; williamr@4: struct _xmlURI { williamr@4: char *scheme; /* the URI scheme */ williamr@4: char *opaque; /* opaque part */ williamr@4: char *authority; /* the authority part */ williamr@4: char *server; /* the server part */ williamr@4: char *user; /* the user part */ williamr@4: int port; /* the port number */ williamr@4: char *path; /* the path string */ williamr@4: char *query; /* the query string */ williamr@4: char *fragment; /* the fragment identifier */ williamr@4: int cleanup; /* parsing potentially unclean URI */ williamr@4: }; williamr@4: williamr@4: /* williamr@4: * This function is in tree.h: williamr@4: * xmlChar * xmlNodeGetBase (xmlDocPtr doc, williamr@4: * xmlNodePtr cur); williamr@4: */ williamr@4: XMLPUBFUN xmlURIPtr XMLCALL williamr@4: xmlCreateURI (void); williamr@4: XMLPUBFUN xmlChar * XMLCALL williamr@4: xmlBuildURI (const xmlChar *URI, williamr@4: const xmlChar *base); williamr@4: XMLPUBFUN xmlURIPtr XMLCALL williamr@4: xmlParseURI (const char *str); williamr@4: XMLPUBFUN int XMLCALL williamr@4: xmlParseURIReference (xmlURIPtr uri, williamr@4: const char *str); williamr@4: XMLPUBFUN xmlChar * XMLCALL williamr@4: xmlSaveUri (xmlURIPtr uri); williamr@4: williamr@4: #ifndef XMLENGINE_EXCLUDE_FILE_FUNC williamr@4: XMLPUBFUN void XMLCALL williamr@4: xmlPrintURI (FILE *stream, williamr@4: xmlURIPtr uri); williamr@4: #endif williamr@4: williamr@4: XMLPUBFUN xmlChar * XMLCALL williamr@4: xmlURIEscapeStr (const xmlChar *str, williamr@4: const xmlChar *list); williamr@4: XMLPUBFUN char * XMLCALL williamr@4: xmlURIUnescapeString (const char *str, williamr@4: int len, williamr@4: char *target); williamr@4: XMLPUBFUN int XMLCALL williamr@4: xmlNormalizeURIPath (char *path); williamr@4: XMLPUBFUN xmlChar * XMLCALL williamr@4: xmlURIEscape (const xmlChar *str); williamr@4: XMLPUBFUN void XMLCALL williamr@4: xmlFreeURI (xmlURIPtr uri); williamr@4: XMLPUBFUN xmlChar* XMLCALL williamr@4: xmlCanonicPath (const xmlChar *path); williamr@4: williamr@4: #ifdef __cplusplus williamr@4: } williamr@4: #endif williamr@4: #endif /* XML_URI_H */ williamr@4: