Changes

Jump to navigation Jump to search
139 bytes added ,  12:42, 29 July 2018
=Conventions=
All functions and errors in this module are assigned to the <code><nowiki>http://basex.org/modules/fetch</nowiki></code> namespace, which is statically bound to the {{Code|fetch}} prefix.<br/>All errors are assigned to the <code><nowiki>http://basex.org/errors</nowiki></code> namespace, which is statically bound to the {{Code|bxerr}} prefix.
URI arguments can point be URLs or point to local files. Relative file paths will be resolved against the ''current working directory'' (for more details, have a look at the [[File Module#File Paths|File Module]]).
|-
| '''Summary'''
|Fetches the resource referred to by the given URI and returns it as [[Streaming Lazy Module|streamablelazy]] {{Code|xs:base64Binary}}item.
|-
| '''Errors'''
|{{Error|BXFE0001open|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>streamlazy:materializecache(fetch:binary("http://en.wikipedia.org"))</nowiki></code> returns a materialized representation of enforces the streamable resultfetch operation (otherwise, it will be delayed until requested first).
|}
|-
| '''Summary'''
|Fetches the resource referred to by the given {{Code|$uri}} and returns it as [[Streaming Lazy Module|streamablelazy]] {{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> (&#xFFFD;).
|-
| '''Errors'''
|{{Error|BXFE0001open|XQuery Errors#Functions Errors}} the URI could not be resolved, or the resource could not be retrieved.<br/>{{Error|BXFE0002encoding|XQuery Errors#Functions Errors}} the specified encoding is not supported, or unknown.
|-
| '''Examples'''
|
* <code><nowiki>fetch:text("http://en.wikipedia.org")</nowiki></code> returns a string representation of the English Wikipedia main HTML page.
* <code><nowiki>streamfetch:text("http://www.bbc.com","US-ASCII",true())</nowiki></code> returns the BBC homepage in US-ASCII with all non-US-ASCII characters replaced with &#xFFFD;.* <code><nowiki>lazy:materializecache(fetch:text("http://en.wikipedia.org"))</nowiki></code> returns a materialized representation of enforces the streamable resultfetch operation (otherwise, it will be delayed until requested first).
|}
|-
| width='120' | '''Signatures'''
|{{Func|fetch:xml|$uri as xs:string|document-node()}}<br/>{{Func|fetch:xml|$uri as xs:string, $options as map(*)?|document-node()}}
|-
| '''Summary'''
|-
| '''Errors'''
|{{Error|BXFE0001open|XQuery Errors#Functions Errors}} the URI could not be resolved, or the resource could not be retrieved.
|-
| '''Examples'''
<pre class="brush:xquery">
fetch:xml(file:base-dir() || "example.xml")
</pre>
* Return a web page as XML, preserve namespaces:
<pre class="brush:xquery">
fetch:xml(
'http://basex.org/',
map {
'parser': 'html',
'htmlparser': map { 'nons': false() }
}
)
</pre>
|}
==fetch:xml-binary==
 
{{Mark|Introduced with Version 8.7:}}
{| width='100%'
|-
| width='120' | '''Signatures'''
|{{Func|fetch:xml-binary|$data as xs:base64Binary|document-node()}}<br/>{{Func|fetch:xml-binary|$data as xs:base64Binary, $options as map(*)?|document-node()}}
|-
| '''Summary'''
|-
| '''Errors'''
|{{Error|BXFE0001open|XQuery Errors#Functions Errors}} the URI could not be resolved, or the resource could not be retrieved.
|-
| '''Examples'''
|Description
|-
|{{Code|BXFE0001encoding}}|The specified encoding is not supported, or unknown.|-|{{Code|open}}
|The URI could not be resolved, or the resource could not be retrieved.
|-
|{{Code|BXFE0002}}
|The specified encoding is not supported, or unknown.
|}
=Changelog=
;Version 89.70
* Added: [[#fetch:xml-binary|fetch:xml-binary]]
* Updated: error codes updated; errors now use the module namespace
;Version 8.5
Bureaucrats, editor, reviewer, Administrators
13,550

edits

Navigation menu