Loading TOC...

MarkLogic 9 Product Documentation
fn:resolve-uri

fn:resolve-uri(
   $relative as xs:string?,
   [$base as xs:string]
) as xs:anyURI?

Summary

Resolves a relative URI against an absolute URI. If $base is specified, the URI is resolved relative to that base. If $base is not specified, the base is set to the base-uri property from the static context, if the property exists; if it does not exist, an error is thrown.

Parameters
relative A URI reference to resolve against the base.
base An absolute URI to use as the base of the resolution.

Usage Notes

If $base is specified, it is assumed to be an absolute URI and $relative is assumed to be an absolute or a relative URI reference. If $relative is a relative URI reference, it is resolved against $base, using an algorithm such as the ones described in [RFC 2396] or [RFC 3986], and the resulting absolute URI reference is returned.

If $relative is the zero-length string, fn:resolve-uri returns the value of $base, or the base-uri property from the static context if there is no $base value specified (if the base-uri property is not initialized in the static context, an error is raised).

Resolving a URI does not dereference it. This is merely a syntactic operation on two character strings.

Example

fn:resolve-uri("hello/goodbye.xml",
     "http://mycompany/default.xqy")

=>  http://mycompany/hello/goodbye.xml

Stack Overflow iconStack Overflow: Get the most useful answers to questions from the MarkLogic community, or ask your own question.