]> URI 3 REDLAND Library URI URI class Synopsis typedef librdf_uri; librdf_uri* librdf_new_uri (librdf_world *world, unsigned char *uri_string); librdf_uri* librdf_new_uri_from_uri (librdf_uri *old_uri); librdf_uri* librdf_new_uri_from_uri_local_name (librdf_uri *old_uri, unsigned char *local_name); void librdf_free_uri (librdf_uri *uri); unsigned char* librdf_uri_as_string (librdf_uri *uri); unsigned char* librdf_uri_as_counted_string (librdf_uri *uri, size_t *len_p); void librdf_uri_print (librdf_uri *uri, FILE *fh); unsigned char* librdf_uri_to_string (librdf_uri *uri); unsigned char* librdf_uri_to_counted_string (librdf_uri *uri, size_t *len_p); int librdf_uri_equals (librdf_uri *first_uri, librdf_uri *second_uri); int librdf_uri_is_file_uri (librdf_uri *uri); const char* librdf_uri_to_filename (librdf_uri *uri); librdf_uri* librdf_new_uri_normalised_to_base (unsigned char *uri_string, librdf_uri *source_uri, librdf_uri *base_uri); librdf_uri* librdf_new_uri_relative_to_base (librdf_uri *base_uri, unsigned char *uri_string); librdf_uri* librdf_new_uri_from_filename (librdf_world *world, const char *filename); int librdf_uri_compare (librdf_uri *uri1, librdf_uri *uri2); int (*librdf_uri_filter_func) (void *user_data, librdf_uri *uri); Description A class for absolute URIs and relative URI computation utility functions. Only absolute URIs are provided, with no current access to internals of URIs such as URI scheme, path, authority. Relative URIs can be generated against some base or turned to and from local filenames. Details librdf_uri librdf_uritypedef struct librdf_uri_s librdf_uri; Redland URI class. librdf_new_uri () librdf_new_urilibrdf_uri* librdf_new_uri (librdf_world *world, unsigned char *uri_string); Constructor - create a new librdf_uri object from a URI string. A new URI is constructed from a copy of the string. If the string is a NULL pointer or empty (0 length) then the result is NULL. world : redland world object uri_string : URI in string form Returns : a new librdf_uri object or NULL on failure librdf_new_uri_from_uri () librdf_new_uri_from_urilibrdf_uri* librdf_new_uri_from_uri (librdf_uri *old_uri); Copy constructor - create a new librdf_uri object from an existing librdf_uri object. old_uri : librdf_uri object Returns : a new librdf_uri object or NULL on failure librdf_new_uri_from_uri_local_name () librdf_new_uri_from_uri_local_namelibrdf_uri* librdf_new_uri_from_uri_local_name (librdf_uri *old_uri, unsigned char *local_name); Copy constructor - create a new librdf_uri object from an existing librdf_uri object and a local name. old_uri : librdf_uri object local_name : local name to append to URI Returns : a new librdf_uri object or NULL on failure librdf_free_uri () librdf_free_urivoid librdf_free_uri (librdf_uri *uri); Destructor - destroy a librdf_uri object. uri : librdf_uri object librdf_uri_as_string () librdf_uri_as_stringunsigned char* librdf_uri_as_string (librdf_uri *uri); Get a pointer to the string representation of the URI. Returns a shared pointer to the URI string representation. Note: does not allocate a new string so the caller must not free it. uri : librdf_uri object Returns : string representation of URI librdf_uri_as_counted_string () librdf_uri_as_counted_stringunsigned char* librdf_uri_as_counted_string (librdf_uri *uri, size_t *len_p); Get a pointer to the string representation of the URI with length. Returns a shared pointer to the URI string representation. Note: does not allocate a new string so the caller must not free it. uri : librdf_uri object len_p : pointer to location to store length Returns : string representation of URI librdf_uri_print () librdf_uri_printvoid librdf_uri_print (librdf_uri *uri, FILE *fh); Print the URI to the given file handle. uri : librdf_uri object fh : file handle librdf_uri_to_string () librdf_uri_to_stringunsigned char* librdf_uri_to_string (librdf_uri *uri); Format the URI as a string. Note: this method allocates a new string since this is a _to_ method and the caller must free the resulting memory. uri : librdf_uri object Returns : string representation of the URI or NULL on failure librdf_uri_to_counted_string () librdf_uri_to_counted_stringunsigned char* librdf_uri_to_counted_string (librdf_uri *uri, size_t *len_p); Format the URI as a counted string. Note: this method allocates a new string since this is a _to_ method and the caller must free the resulting memory. uri : librdf_uri object len_p : pointer to location to store length Returns : string representation of the URI or NULL on failure librdf_uri_equals () librdf_uri_equalsint librdf_uri_equals (librdf_uri *first_uri, librdf_uri *second_uri); Compare two librdf_uri objects for equality. first_uri : librdf_uri object 1 second_uri : librdf_uri object 2 Returns : non 0 if the objects are equal librdf_uri_is_file_uri () librdf_uri_is_file_uriint librdf_uri_is_file_uri (librdf_uri *uri); Test if a URI points to a filename. uri : librdf_uri object Returns : Non zero if the URI points to a file librdf_uri_to_filename () librdf_uri_to_filenameconst char* librdf_uri_to_filename (librdf_uri *uri); Return pointer to filename of URI. Returns a pointer to a newly allocated buffer that the caller must free. This will fail if the URI is not a file: URI. This can be checked with librdf_uri_is_file_uri uri : librdf_uri object Returns : pointer to filename or NULL on failure librdf_new_uri_normalised_to_base () librdf_new_uri_normalised_to_baselibrdf_uri* librdf_new_uri_normalised_to_base (unsigned char *uri_string, librdf_uri *source_uri, librdf_uri *base_uri); Constructor - create a new librdf_uri object from a URI string stripped of the source URI, made relative to the base URI. uri_string : URI in string form source_uri : source URI to remove base_uri : base URI to add Returns : a new librdf_uri object or NULL on failure librdf_new_uri_relative_to_base () librdf_new_uri_relative_to_baselibrdf_uri* librdf_new_uri_relative_to_base (librdf_uri *base_uri, unsigned char *uri_string); Constructor - create a new librdf_uri object from a URI string relative to a base URI. An empty uri_string or NULL is equivalent to librdf_new_uri_from_uri(base_uri) base_uri : absolute base URI uri_string : relative URI string Returns : a new librdf_uri object or NULL on failure librdf_new_uri_from_filename () librdf_new_uri_from_filenamelibrdf_uri* librdf_new_uri_from_filename (librdf_world *world, const char *filename); Constructor - create a new librdf_uri object from a filename. world : Redland librdf_world object filename : filename Returns : a new librdf_uri object or NULL on failure librdf_uri_compare () librdf_uri_compareint librdf_uri_compare (librdf_uri *uri1, librdf_uri *uri2); Compare two librdf_uri objects lexicographically. A NULL URI is always less than (never equal to) a non-NULL URI. uri1 : librdf_uri object 1 or NULL uri2 : librdf_uri object 2 or NULL Returns : <0 if uri1 is less than uri2, 0 if equal, >0 if uri1 is greater than uri2 librdf_uri_filter_func () librdf_uri_filter_funcint (*librdf_uri_filter_func) (void *user_data, librdf_uri *uri); Callback function for librdf_parser_set_uri_filter() user_data : user data uri : librdf_uri URI to check Returns : non-0 to filter the URI