root/third_party/libxml/src/include/libxml/uri.h

/* [<][>][^][v][top][bottom][index][help] */

INCLUDED FROM


/**
 * 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__ */

/* [<][>][^][v][top][bottom][index][help] */