Retrieves an XML document located at the specified URI, parses it, and returns its document node

doc($uri as xs:string?) ➔ document-node()?





The URI of the required document (relative to the static base URI)



Links to W3C specifications


Applies to: XPath 2.0, XSLT 2.0, XQuery 1.0 and later versions

XPath 2.0 Functions and Operators

XPath 3.0 Functions and Operators

Notes on the Saxon implementation

By default the URI is dereferenced using the conventional URL behaviour, as implement by the Java runtime library; this behaviour can be modified by means of a user-supplied URIResolver.

If the same URI is requested repeatedly, Saxon retains the document node in memory and returns the same instance each time.

The way the URI is handled depends on the URIResolver in use. The standard URI resolver has an option (set using -p on the command line, or via options on the Configuration or TransformerFactory classes) to recognize query parameters in the URI. These are keyword=value pairs, separated by semicolons or ampersand characters, giving options for parsing the file located via the URI. The options that are then recognized are: