Fetch Module
This XQuery Module provides simple functions to fetch the content of resources identified by URIs. Resources can be stored locally or remotely and e.g. use the file:// or http:// scheme. If more control over HTTP requests is required, the HTTP Module can be used. With the HTML Module, retrieved HTML documents can be converted to XML.
Contents
Conventions
All functions in this module are assigned to the http://basex.org/modules/fetch namespace, which is statically bound to the fetch prefix.
All errors are assigned to the http://basex.org/errors namespace, which is statically bound to the bxerr prefix.
Functions
fetch:binary
| Signatures | fetch:binary($uri as xs:string) as xs:base64Binary |
| Summary | Fetches the resource referred to by the given URI and returns it as streamable xs:base64Binary.
|
| Errors | BXFE0001: the URI could not be resolved, or the resource could not be retrieved.
|
| Examples |
|
fetch:text
| Signatures | fetch:text($uri as xs:string) as xs:stringfetch:text($uri as xs:string, $encoding as xs:string) as xs:stringfetch:text($uri as xs:string, $encoding as xs:string, $fallback as xs:boolean) as xs:string |
| Summary | Fetches the resource referred to by the given $uri and returns it as streamable xs:string:
|
| Errors | BXFE0001: the URI could not be resolved, or the resource could not be retrieved.BXFE0002: the specified encoding is not supported, or unknown.
|
| Examples |
|
fetch:xml
| Signatures | fetch:xml($uri as xs:string) as document-node()fetch:xml($uri as xs:string, $options as map(*)) as document-node()
|
| Summary | Fetches the resource referred to by the given $uri and returns it as an XML document.In contrast to fn:doc, each function call returns a different document node. As a consequence, document instances created by this function will not be kept in memory until the end of query evaluation.The $options argument can be used to change the parsing behavior. Allowed options are all parsing and XML parsing options in lower case.
|
| Errors | BXFE0001: the URI could not be resolved, or the resource could not be retrieved.
|
| Examples | The following expression returns an XML representation of the English Wikipedia main HTML page and chops all whitespace nodes:
fetch:xml("http://en.wikipedia.org", map { 'chop': true() })
|
fetch:content-type
| Signatures | fetch:content-type($uri as xs:string) as xs:string |
| Summary | Returns the content-type (also called mime-type) of the resource specified by $uri:
|
| Errors | BXFE0001: the URI could not be resolved, or the resource could not be retrieved.
|
| Examples |
|
Errors
| Code | Description |
|---|---|
BXFE0001
|
The URI could not be resolved, or the resource could not be retrieved. |
BXFE0002
|
The specified encoding is not supported, or unknown. |
Changelog
- Version 8.5
- Updated: fetch:text:
$fallbackargument added.
- Version 8.0
- Added: fetch:xml
The module was introduced with Version 7.6.