Compute name of URL relative to a base URL
getRelativeURL.RdThis 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 "..".
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
ushould 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.- addBase
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.- escapeQuery
a logical value. Currently ignored.
See also
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..
Examples
getRelativeURL("https://www.omegahat.net", "http://www.r-project.org")
#> [1] "https://www.omegahat.net"
getRelativeURL("bar.html", "http://www.r-project.org/")
#> [1] "http://www.r-project.org/bar.html"
getRelativeURL("../bar.html", "http://www.r-project.org/")
#> [1] "http://www.r-project.orgbar.html"