| width='120' | '''Signature'''
|<pre>fetch:binary(
$uri href as xs:string
) as xs:base64Binary</pre>
|- valign="top"
| '''Summary'''
|Fetches the resource referred to by the given URI {{Code|href}} string and returns it as [[Lazy Module|lazy]] {{Code|xs:base64Binary}} item.
|- valign="top"
| '''Errors'''
| width='120' | '''Signature'''
|<pre>fetch:text(
$uri href as xs:string, $encoding as xs:string := (), $fallback as xs:boolean ? := false()
) as xs:string</pre>
|- valign="top"
| '''Summary'''
|Fetches the resource referred to by the given {{Code|$urihref}} string and returns it as [[Lazy Module|lazy]] {{Code|xs:string}} item:
* The UTF-8 default encoding can be overwritten with the optional {{Code|$encoding}} argument.
* By default, invalid characters will be rejected. If {{Code|$fallback}} is set to true, these characters will be replaced with the Unicode replacement character <code>FFFD</code> (�).
| width='120' | '''Signature'''
|<pre>fetch:doc(
$uri href as xs:string,
$options as map(*)? := map { }
) as document-node()</pre>
|- valign="top"
| '''Summary'''
|Fetches the resource referred to by the given {{Code|$urihref}} string and returns it as a document node.<br/>The {{Code|$options}} argument can be used to change the parsing behavior. Allowed options are all [[Options#Parsing|parsing]] and [[Options#XML Parsing|XML parsing]] options in lower case.<br/>The function differs from {{Code|fn:doc}} in various aspects:* It is ''non-deterministicnondeterministic'', i.e., a new document node will be created by each call of this function.
* A document created by this function will be garbage-collected as soon as it is not referenced anymore.
* URIs will not be resolved against existing databases. As a result, it will not trigger any locks (see [[Transaction Management#Limitations|limitations of database locking]] for more details).
|
* Retrieve an XML representation of the English Wikipedia main HTML page with whitespace stripped:
<syntaxhighlight pre lang="'xquery"'>
fetch:doc("http://en.wikipedia.org", map { 'stripws': true() })
</syntaxhighlightpre>
* Return a web page as XML, preserve namespaces:
<syntaxhighlight pre lang="'xquery"'>
fetch:doc(
'http://basex.org/',
}
)
</syntaxhighlightpre>
|}
|
* Retrieves file input as binary data and parses it as XML:
<syntaxhighlight pre lang="'xquery"'>
fetch:binary-doc(file:read-binary('doc.xml'))
</syntaxhighlightpre>
* Encodes a string as CP1252 and parses it as XML. The input and the string {{Code|touché}} will be correctly decoded because of the XML declaration:
<syntaxhighlight pre lang="'xquery"'>
fetch:binary-doc(convert:string-to-base64(
"<?xml version='1.0' encoding='CP1252'?><xml>touché</xml>",
"CP1252"
))
</syntaxhighlightpre>
* Encodes a string as UTF-16 and parses it as XML. The document will be correctly decoded, as the first bytes of the data indicate that the input must be UTF-16:
<syntaxhighlight pre lang="'xquery"'>
fetch:binary-doc(convert:string-to-base64("<xml/>", "UTF16"))
</syntaxhighlightpre>
|- valign="top"
| '''Errors'''
| width='120' | '''Signature'''
|<pre>fetch:content-type(
$uri href as xs:string
) as xs:string</pre>
|- valign="top"
| '''Summary'''
|Returns the content-type (also called mime-type) of the resource specified by {{Code|$urihref}}string:
* If a remote resource is addressed, the request header will be evaluated.
* If the addressed resource is locally stored, the content-type will be guessed based on the file extension.