getRelativeURL: Compute name of URL relative to a base URL
Description
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 "..".
A character string giving the fully qualified URI for
u.
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.
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.
Author
Duncan Temple Lang
Details
This uses the function parseURI to compute the components
of the different URIs.
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..