summaryrefslogtreecommitdiff
path: root/include/libxml/uri.h
blob: 5e296718b6bddea9b8dff7231feebd19bb46054c (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
/**
 * 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.
 */
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 */
    char *fragment;	/* the fragment identifier */
    int  cleanup;	/* parsing potentially unclean 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__ */