/opt/xml2/share/gtk-doc/html/libxml2
NameSizeModeActions
general.html54700644editdlrm
home.png6540644editdlrm
index.html43210644editdlrm
left.png4590644editdlrm
libxml2-c14n.html135460644editdlrm
libxml2-catalog.html365490644editdlrm
libxml2-chvalid.html198350644editdlrm
libxml2-debugXML.html333170644editdlrm
libxml2-dict.html135820644editdlrm
libxml2-DOCBparser.html173610644editdlrm
libxml2-encoding.html295150644editdlrm
libxml2-entities.html231260644editdlrm
libxml2-globals.html356420644editdlrm
libxml2-hash.html420550644editdlrm
libxml2-HTMLparser.html580950644editdlrm
libxml2-HTMLtree.html244160644editdlrm
libxml2-list.html255680644editdlrm
libxml2-nanoftp.html224030644editdlrm
libxml2-nanohttp.html166140644editdlrm
libxml2-parser.html1374950644editdlrm
libxml2-parserInternals.html1253570644editdlrm
libxml2-pattern.html193620644editdlrm
libxml2-relaxng.html352300644editdlrm
libxml2-SAX.html388750644editdlrm
libxml2-SAX2.html396590644editdlrm
libxml2-schemasInternals.html651190644editdlrm
libxml2-schematron.html171050644editdlrm
libxml2-threads.html128960644editdlrm
libxml2-tree.html2344020644editdlrm
libxml2-uri.html184340644editdlrm
libxml2-valid.html985040644editdlrm
libxml2-xinclude.html159200644editdlrm
libxml2-xlink.html173290644editdlrm
libxml2-xmlautomata.html351790644editdlrm
libxml2-xmlerror.html847130644editdlrm
libxml2-xmlexports.html35850644editdlrm
libxml2-xmlIO.html574960644editdlrm
libxml2-xmlmemory.html240120644editdlrm
libxml2-xmlmodule.html73700644editdlrm
libxml2-xmlreader.html1080930644editdlrm
libxml2-xmlregexp.html420130644editdlrm
libxml2-xmlsave.html148420644editdlrm
libxml2-xmlschemas.html425210644editdlrm
libxml2-xmlschemastypes.html444510644editdlrm
libxml2-xmlstring.html351130644editdlrm
libxml2-xmlunicode.html1065960644editdlrm
libxml2-xmlversion.html190260644editdlrm
libxml2-xmlwriter.html1120770644editdlrm
libxml2-xpath.html622850644editdlrm
libxml2-xpathInternals.html1449130644editdlrm
libxml2-xpointer.html254530644editdlrm
libxml2.devhelp3431850644editdlrm
right.png4720644editdlrm
style.css8200644editdlrm
up.png4060644editdlrm
Edit: /opt/xml2/share/gtk-doc/html/libxml2/libxml2-uri.html (18434B)
uri: library of generic URI related routines

uri

uri - library of generic URI related routines

library of generic URI related routines Implements RFC 2396

Author(s): Daniel Veillard

Synopsis

typedef struct _xmlURI xmlURI;
typedef xmlURI * xmlURIPtr;
int	xmlNormalizeURIPath		(char * path);
void	xmlPrintURI			(FILE * stream, 
xmlURIPtr uri); xmlURIPtr xmlParseURIRaw (const char * str,
int raw); char * xmlURIUnescapeString (const char * str,
int len,
char * target); xmlURIPtr xmlParseURI (const char * str); xmlURIPtr xmlCreateURI (void); xmlChar * xmlURIEscapeStr (const xmlChar * str,
const xmlChar * list); xmlChar * xmlPathToURI (const xmlChar * path); xmlChar * xmlCanonicPath (const xmlChar * path); void xmlFreeURI (xmlURIPtr uri); int xmlParseURIReference (xmlURIPtr uri,
const char * str); xmlChar * xmlBuildRelativeURI (const xmlChar * URI,
const xmlChar * base); xmlChar * xmlSaveUri (xmlURIPtr uri); xmlChar * xmlURIEscape (const xmlChar * str); xmlChar * xmlBuildURI (const xmlChar * URI,
const xmlChar * base);

Description

Details

Structure xmlURI

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)
} xmlURI;


Typedef xmlURIPtr

xmlURI * xmlURIPtr;


xmlBuildRelativeURI ()

xmlChar *	xmlBuildRelativeURI	(const xmlChar * URI, 
const xmlChar * base)

Expresses the URI of the reference in terms relative to the base. Some examples of this operation include: base = "http://site1.com/docs/book1.html" URI input URI returned docs/pic1.gif pic1.gif docs/img/pic1.gif img/pic1.gif img/pic1.gif ../img/pic1.gif http://site1.com/docs/pic1.gif pic1.gif http://site2.com/docs/pic1.gif http://site2.com/docs/pic1.gif base = "docs/book1.html" URI input URI returned docs/pic1.gif pic1.gif docs/img/pic1.gif img/pic1.gif img/pic1.gif ../img/pic1.gif http://site1.com/docs/pic1.gif http://site1.com/docs/pic1.gif Note: if the URI reference is really wierd or complicated, it may be worthwhile to first convert it into a "nice" one by calling xmlBuildURI (using 'base') before calling this routine, since this routine (for reasonable efficiency) assumes URI has already been through some validation.

URI:the URI reference under consideration
base:the base value
Returns:a new URI string (to be freed by the caller) or NULL in case error.

xmlBuildURI ()

xmlChar *	xmlBuildURI		(const xmlChar * URI, 
const xmlChar * base)

Computes he final URI of the reference done by checking that the given URI is valid, and building the final URI using the base URI. This is processed according to section 5.2 of the RFC 2396 5.2. Resolving Relative References to Absolute Form

URI:the URI instance found in the document
base:the base value
Returns:a new URI string (to be freed by the caller) or NULL in case of error.

xmlCanonicPath ()

xmlChar *	xmlCanonicPath		(const xmlChar * path)

Constructs a canonic path from the specified path.

path:the resource locator in a filesystem notation
Returns:a new canonic path, or a duplicate of the path parameter if the construction fails. The caller is responsible for freeing the memory occupied by the returned string. If there is insufficient memory available, or the argument is NULL, the function returns NULL.

xmlCreateURI ()

xmlURIPtr	xmlCreateURI		(void)

Simply creates an empty xmlURI

Returns:the new structure or NULL in case of error

xmlFreeURI ()

void	xmlFreeURI			(xmlURIPtr uri)

Free up the xmlURI struct

uri:pointer to an xmlURI


xmlParseURI ()

xmlURIPtr	xmlParseURI		(const char * str)

Parse an URI based on RFC 3986 URI-reference = [ absoluteURI | relativeURI ] [ "#" fragment ]

str:the URI string to analyze
Returns:a newly built xmlURIPtr or NULL in case of error

xmlParseURIRaw ()

xmlURIPtr	xmlParseURIRaw		(const char * str, 
int raw)

Parse an URI but allows to keep intact the original fragments. URI-reference = URI / relative-ref

str:the URI string to analyze
raw:if 1 unescaping of URI pieces are disabled
Returns:a newly built xmlURIPtr or NULL in case of error

xmlParseURIReference ()

int	xmlParseURIReference		(xmlURIPtr uri, 
const char * str)

Parse an URI reference string based on RFC 3986 and fills in the appropriate fields of the @uri structure URI-reference = URI / relative-ref

uri:pointer to an URI structure
str:the string to analyze
Returns:0 or the error code

xmlPathToURI ()

xmlChar *	xmlPathToURI		(const xmlChar * path)

Constructs an URI expressing the existing path

path:the resource locator in a filesystem notation
Returns:a new URI, or a duplicate of the path parameter if the construction fails. The caller is responsible for freeing the memory occupied by the returned string. If there is insufficient memory available, or the argument is NULL, the function returns NULL.

xmlPrintURI ()

void	xmlPrintURI			(FILE * stream, 
xmlURIPtr uri)

Prints the URI in the stream @stream.

stream:a FILE* for the output
uri:pointer to an xmlURI

xmlSaveUri ()

xmlChar *	xmlSaveUri		(xmlURIPtr uri)

Save the URI as an escaped string

uri:pointer to an xmlURI
Returns:a new string (to be deallocated by caller)

xmlURIEscape ()

xmlChar *	xmlURIEscape		(const xmlChar * str)

Escaping routine, does not do validity checks ! It will try to escape the chars needing this, but this is heuristic based it's impossible to be sure.

str:the string of the URI to escape
Returns:an copy of the string, but escaped 25 May 2001 Uses xmlParseURI and xmlURIEscapeStr to try to escape correctly according to RFC2396. - Carl Douglas

xmlURIEscapeStr ()

xmlChar *	xmlURIEscapeStr		(const xmlChar * str, 
const xmlChar * list)

This routine escapes a string to hex, ignoring reserved characters (a-z) and the characters in the exception list.

str:string to escape
list:exception list string of chars not to escape
Returns:a new escaped string or NULL in case of error.