Loading TOC...

MarkLogic 9 Product Documentation
sem:resolve-iri

sem:resolve-iri(
   $relative as xs:string,
   [$base as xs:string]
) as sem:iri

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. This XQuery function backs up the SPARQL IRI() function.

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.

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

Example

sem:resolve-iri("hello/goodbye.xml",
     "/mycompany/default.xqy")

=>  /mycompany/hello/goodbye.xml

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