Difference between revisions of "Fetch Module"
Jump to navigation
Jump to search
m (correct zorba link) |
|||
Line 9: | Line 9: | ||
=Functions= | =Functions= | ||
+ | |||
+ | ==fetch:binary== | ||
+ | {| width='100%' | ||
+ | |- | ||
+ | | width='120' | '''Signatures''' | ||
+ | |{{Func|fetch:binary|$uri as xs:string|xs:base64Binary}}<br/> | ||
+ | |- | ||
+ | | '''Summary''' | ||
+ | |Fetches the resource referred to by the given URI and returns it as [[Streaming Module|streamable]] {{Code|xs:base64Binary}}. | ||
+ | |- | ||
+ | | '''Errors''' | ||
+ | |{{Error|BXFE0001|XQuery Errors#Functions Errors}} the URI could not be resolved, or the resource could not be retrieved. | ||
+ | |- | ||
+ | | '''Examples''' | ||
+ | | | ||
+ | * <code><nowiki>fetch:binary("http://images.trulia.com/blogimg/c/5/f/4/679932_1298401950553_o.jpg")</nowiki></code> returns the addressed image. | ||
+ | * <code><nowiki>stream:materialize(fetch:binary("http://en.wikipedia.org"))</nowiki></code> returns a materialized representation of the streamable result. | ||
+ | |} | ||
==fetch:text== | ==fetch:text== | ||
Line 28: | Line 46: | ||
|} | |} | ||
− | ==fetch: | + | ==fetch:xml== |
+ | |||
+ | {{Mark|Added with Version 8.0}}: | ||
+ | |||
{| width='100%' | {| width='100%' | ||
|- | |- | ||
| width='120' | '''Signatures''' | | width='120' | '''Signatures''' | ||
− | |{{Func|fetch: | + | |{{Func|fetch:xml|$uri as xs:string|document-node()}}<br/>{{Func|fetch:xml|$uri as xs:string, $options as item()|document-node()}} |
|- | |- | ||
| '''Summary''' | | '''Summary''' | ||
− | |Fetches the resource referred to by the given | + | |Fetches the resource referred to by the given {{Code|$uri}} and returns it as an XML document.<br/><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. Options can be specified either...<br /> |
+ | * as children of an {{Code|<options/>}} element, e.g. | ||
+ | <pre class="brush:xml"> | ||
+ | <options> | ||
+ | <chop value='false'/> | ||
+ | </options> | ||
+ | </pre> | ||
+ | * or as map, which contains all key/value pairs: | ||
+ | <pre class="brush:xquery"> | ||
+ | map { "chop": false() } | ||
+ | </pre> | ||
|- | |- | ||
| '''Errors''' | | '''Errors''' | ||
Line 42: | Line 73: | ||
| '''Examples''' | | '''Examples''' | ||
| | | | ||
− | * <code><nowiki>fetch: | + | * <code><nowiki>fetch:xml("http://en.wikipedia.org")</nowiki></code> returns an XML representation of the English Wikipedia main HTML page. |
− | |||
|} | |} | ||
Revision as of 18:05, 19 September 2014
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.
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: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 streamable xs:string .
|
Errors | BXFE0001 : the URI could not be resolved, or the resource could not be retrieved. Invalid XML characters will be ignored if the CHECKSTRINGS option is turned off.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 item()) as document-node()
|
Summary | Fetches the resource referred to by the given $uri and returns it as an XML document.The $options argument can be used to change the parsing behavior. Allowed options are all parsing and XML parsing options in lower case. Options can be specified either...
<options> <chop value='false'/> </options>
map { "chop": false() } |
Errors | BXFE0001 : the URI could not be resolved, or the resource could not be retrieved.
|
Examples |
|
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
The module was introduced with Version 7.6.