Fetch Module

From BaseX Documentation
Revision as of 19:52, 28 January 2013 by CG (talk | contribs) (→‎fetch:binary)
Jump to navigation Jump to search

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.

The module has initially been inspired by Zorba’s Fetch Module.

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:text

Signatures fetch:text($uri as xs:string) as xs:string
fetch:text($uri as xs:string, $encoding as xs:string) as xs:string
Summary Fetches the resource referred to by the given URI and returns it as a streamable 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:text("http://en.wikipedia.org") returns a string representation of the English Wikipedia main HTML page.
  • data(fetch:text("http://en.wikipedia.org")) returns a materialized representation of the streamable string.

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 base64Binary.
Errors BXFE0001: the URI could not be resolved, or the resource could not be retrieved.
Examples
  • fetch:binary("http://images.trulia.com/blogimg/c/5/f/4/679932_1298401950553_o.jpg") returns the addressed image.

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:
  • If a remote resource is addressed, the request header will be evaluated.
  • If the addressed resource is locally stored, the file extension will be guessed based on the file extension.
Errors BXFE0001: the URI could not be resolved, or the resource could not be retrieved.
Examples
  • fetch:content-type("http://docs.basex.org/skins/vector/images/wiki.png") returns image/png.

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

The module was introduced with Version 7.5.1.