# getRelativeURL

0th

Percentile

##### Compute name of URL relative to a base URL

This function is a convenience function for computing the fullly qualified URI of a document relative to a base URL. It handles the case where the document is already fully qualified and so ignores the base URL or, alternatively, is a relative document name and so prepends the base URL. It does not (yet) try to be clever by collapsing relative directories such as "..".

Keywords
programming, IO
##### Usage
getRelativeURL(u, baseURL, sep = "/", addBase = TRUE, simplify = TRUE)
##### Arguments
u

the location of the target document whose fully qualified URI is to be determined.

baseURL

the base URL relative to which the value of u should be interpreted.

sep

the separator to use to separate elements of the path. For external URLs (e.g. accessed via HTTP, HTTPS, FTP), / should be used. For local files on Windows machines one might use .Platform\$file.sep, but this is incorrect unless one knows that the resulting file is to be accessed using Windows file system notation, i.e. C:\\my\\folder\\file.

a logical controlling whether we prepend the base URL to the result.

simplify

a logical value that controls whether we attempt to simplify/normalize the path to remove .. and .

##### Details

This uses the function parseURI to compute the components of the different URIs.

##### Value

A character string giving the fully qualified URI for u.

parseURI which uses the libxml2 facilities for parsing URIs.

xmlParse, xmlTreeParse, xmlInternalTreeParse. XInclude and XML Schema import/include elements for computing relative locations of included/imported files..

##### Aliases
• getRelativeURL
##### Examples
# NOT RUN {
getRelativeURL("http://www.omegahat.net", "http://www.r-project.org")

getRelativeURL("bar.html", "http://www.r-project.org/")

getRelativeURL("../bar.html", "http://www.r-project.org/")
# }

Documentation reproduced from package XML, version 3.98-1.19, License: BSD_2_clause + file LICENSE

### Community examples

Looks like there are no examples yet.