2016-04-16 22:21:17 +01:00
<xqdoc:xqdoc xmlns:xqdoc= "http://www.xqdoc.org/1.0" >
<xqdoc:control >
2017-04-30 10:39:12 +01:00
<xqdoc:date > 2017-04-29T22:28:45.705+01:00</xqdoc:date>
2016-04-16 22:21:17 +01:00
<xqdoc:version > 1.1</xqdoc:version>
</xqdoc:control>
<xqdoc:module type= "library" >
2017-04-21 14:48:37 +01:00
<xqdoc:uri > expkg-zone58:image.thumbnailator</xqdoc:uri>
2016-04-16 22:21:17 +01:00
<xqdoc:name > thumbnailator.xqm</xqdoc:name>
<xqdoc:comment >
2017-04-21 14:48:37 +01:00
<xqdoc:description > Generate image thumbnails using the thumbnailator library.</xqdoc:description>
<xqdoc:see > https://github.com/coobird/thumbnailator</xqdoc:see>
2016-04-16 22:21:17 +01:00
<xqdoc:author > andy bunce</xqdoc:author>
2017-04-30 10:39:12 +01:00
<xqdoc:version > 0.5</xqdoc:version>
2016-04-16 22:21:17 +01:00
</xqdoc:comment>
</xqdoc:module>
<xqdoc:namespaces >
2017-04-21 14:48:37 +01:00
<xqdoc:namespace prefix= "thumbnails" uri= "expkg-zone58:image.thumbnailator" />
2017-04-30 10:39:12 +01:00
<xqdoc:namespace prefix= "Thumbs" uri= "org.expkgzone58.image.Thumbs" />
2016-04-16 22:21:17 +01:00
</xqdoc:namespaces>
2017-04-30 10:39:12 +01:00
<xqdoc:imports >
<xqdoc:import type= "library" >
<xqdoc:uri > org.expkgzone58.image.Thumbs</xqdoc:uri>
</xqdoc:import>
</xqdoc:imports>
2016-04-16 22:21:17 +01:00
<xqdoc:variables />
<xqdoc:functions >
2017-04-30 10:39:12 +01:00
<xqdoc:function arity= "2" >
<xqdoc:comment >
<xqdoc:description > generate scaled version of source image with maximum dimension of size</xqdoc:description>
<xqdoc:param > $source base64Binary (streamed?) e.g from `fetch:binary`</xqdoc:param>
<xqdoc:return > base64Binary for thumbnail</xqdoc:return>
</xqdoc:comment>
<xqdoc:name > thumbnails:size</xqdoc:name>
<xqdoc:signature > declare function thumbnails:size($source as xs:base64Binary, $size as xs:integer) as xs:base64Binary</xqdoc:signature>
<xqdoc:parameters >
<xqdoc:parameter >
<xqdoc:name > source</xqdoc:name>
<xqdoc:type > xs:base64Binary</xqdoc:type>
</xqdoc:parameter>
<xqdoc:parameter >
<xqdoc:name > size</xqdoc:name>
<xqdoc:type > xs:integer</xqdoc:type>
</xqdoc:parameter>
</xqdoc:parameters>
<xqdoc:return >
<xqdoc:type > xs:base64Binary</xqdoc:type>
</xqdoc:return>
</xqdoc:function>
2017-04-21 14:48:37 +01:00
<xqdoc:function arity= "3" >
<xqdoc:comment >
<xqdoc:description > generate scaled version of source image with maximum dimension of size</xqdoc:description>
<xqdoc:param > $source base64Binary (streamed?) e.g from `fetch:binary`</xqdoc:param>
2017-04-30 10:39:12 +01:00
<xqdoc:return > base64Binary for thumbnail</xqdoc:return>
2017-04-21 14:48:37 +01:00
</xqdoc:comment>
<xqdoc:name > thumbnails:size</xqdoc:name>
<xqdoc:signature > declare function thumbnails:size($source as xs:base64Binary, $width as xs:integer, $height as xs:integer) as xs:base64Binary</xqdoc:signature>
2016-04-16 22:21:17 +01:00
<xqdoc:parameters >
<xqdoc:parameter >
2017-04-21 14:48:37 +01:00
<xqdoc:name > source</xqdoc:name>
<xqdoc:type > xs:base64Binary</xqdoc:type>
2016-04-16 22:21:17 +01:00
</xqdoc:parameter>
<xqdoc:parameter >
<xqdoc:name > width</xqdoc:name>
<xqdoc:type > xs:integer</xqdoc:type>
</xqdoc:parameter>
<xqdoc:parameter >
<xqdoc:name > height</xqdoc:name>
<xqdoc:type > xs:integer</xqdoc:type>
</xqdoc:parameter>
</xqdoc:parameters>
<xqdoc:return >
2017-04-21 14:48:37 +01:00
<xqdoc:type > xs:base64Binary</xqdoc:type>
2016-04-16 22:21:17 +01:00
</xqdoc:return>
</xqdoc:function>
2017-04-30 10:39:12 +01:00
<xqdoc:function arity= "2" >
<xqdoc:comment >
<xqdoc:description > generate scaled version of source image at given factors 0-1</xqdoc:description>
<xqdoc:param > $source base64Binary (streamed?) e.g from `fetch:binary`</xqdoc:param>
<xqdoc:return > the thumbnail</xqdoc:return>
</xqdoc:comment>
<xqdoc:name > thumbnails:scale</xqdoc:name>
<xqdoc:signature > declare function thumbnails:scale($source as xs:base64Binary, $scale as xs:double) as xs:base64Binary</xqdoc:signature>
<xqdoc:parameters >
<xqdoc:parameter >
<xqdoc:name > source</xqdoc:name>
<xqdoc:type > xs:base64Binary</xqdoc:type>
</xqdoc:parameter>
<xqdoc:parameter >
<xqdoc:name > scale</xqdoc:name>
<xqdoc:type > xs:double</xqdoc:type>
</xqdoc:parameter>
</xqdoc:parameters>
<xqdoc:return >
<xqdoc:type > xs:base64Binary</xqdoc:type>
</xqdoc:return>
</xqdoc:function>
2016-04-16 22:21:17 +01:00
<xqdoc:function arity= "3" >
2017-04-21 14:48:37 +01:00
<xqdoc:comment >
<xqdoc:description > generate scaled version of source image at given factors 0-1</xqdoc:description>
<xqdoc:param > $source base64Binary (streamed?) e.g from `fetch:binary`</xqdoc:param>
2017-04-30 10:39:12 +01:00
<xqdoc:return > the thumbnail</xqdoc:return>
2017-04-21 14:48:37 +01:00
</xqdoc:comment>
<xqdoc:name > thumbnails:scale</xqdoc:name>
2017-04-30 10:39:12 +01:00
<xqdoc:signature > declare function thumbnails:scale($source as xs:base64Binary, $xscale as xs:double, $yscale as xs:double) as xs:base64Binary</xqdoc:signature>
2016-04-16 22:21:17 +01:00
<xqdoc:parameters >
<xqdoc:parameter >
2017-04-21 14:48:37 +01:00
<xqdoc:name > source</xqdoc:name>
<xqdoc:type > xs:base64Binary</xqdoc:type>
2016-04-16 22:21:17 +01:00
</xqdoc:parameter>
<xqdoc:parameter >
2017-04-21 14:48:37 +01:00
<xqdoc:name > xscale</xqdoc:name>
2017-04-30 10:39:12 +01:00
<xqdoc:type > xs:double</xqdoc:type>
2016-04-16 22:21:17 +01:00
</xqdoc:parameter>
<xqdoc:parameter >
2017-04-21 14:48:37 +01:00
<xqdoc:name > yscale</xqdoc:name>
2017-04-30 10:39:12 +01:00
<xqdoc:type > xs:double</xqdoc:type>
2016-04-16 22:21:17 +01:00
</xqdoc:parameter>
</xqdoc:parameters>
<xqdoc:return >
2017-04-21 14:48:37 +01:00
<xqdoc:type > xs:base64Binary</xqdoc:type>
2016-04-16 22:21:17 +01:00
</xqdoc:return>
</xqdoc:function>
2017-04-21 14:48:37 +01:00
<xqdoc:function arity= "2" >
<xqdoc:comment >
<xqdoc:description > generate thumbnail using parameters specified via XML</xqdoc:description>
<xqdoc:param > $source base64Binary (streamed?) e.g from `fetch:binary`</xqdoc:param>
<xqdoc:param > $task XML parameters < task> < size width="100" ..</xqdoc:param>
2017-04-30 10:39:12 +01:00
<xqdoc:return > the thumbnail</xqdoc:return>
2017-04-21 14:48:37 +01:00
</xqdoc:comment>
<xqdoc:name > thumbnails:task</xqdoc:name>
2017-04-21 15:09:36 +01:00
<xqdoc:signature > declare function thumbnails:task($source as xs:base64Binary, $task as element(thumbnail)) as xs:base64Binary</xqdoc:signature>
2016-04-16 22:21:17 +01:00
<xqdoc:parameters >
<xqdoc:parameter >
2017-04-21 14:48:37 +01:00
<xqdoc:name > source</xqdoc:name>
<xqdoc:type > xs:base64Binary</xqdoc:type>
2016-04-16 22:21:17 +01:00
</xqdoc:parameter>
<xqdoc:parameter >
2017-04-21 14:48:37 +01:00
<xqdoc:name > task</xqdoc:name>
2017-04-21 15:09:36 +01:00
<xqdoc:type > element(thumbnail)</xqdoc:type>
2016-04-16 22:21:17 +01:00
</xqdoc:parameter>
2017-04-21 14:48:37 +01:00
</xqdoc:parameters>
<xqdoc:return >
<xqdoc:type > xs:base64Binary</xqdoc:type>
</xqdoc:return>
</xqdoc:function>
<xqdoc:function arity= "1" >
<xqdoc:comment >
2017-04-30 10:39:12 +01:00
<xqdoc:description > validate task thumbnail XML against schema</xqdoc:description>
<xqdoc:param > $src XML parameters < thumbnail> < size width="100" ..</xqdoc:param>
<xqdoc:return > empty-sequence or error</xqdoc:return>
<xqdoc:error > BXVA0001: the validation fails.</xqdoc:error>
<xqdoc:error > BXVA0002: the validation process cannot be started.</xqdoc:error>
<xqdoc:error > BXVA0003: no XML Schema validator is available.</xqdoc:error>
<xqdoc:error > BXVA0004: no validator is found for the specified version.</xqdoc:error>
</xqdoc:comment>
<xqdoc:name > thumbnails:validate</xqdoc:name>
<xqdoc:signature > declare function thumbnails:validate($src as item()*) as empty-sequence()</xqdoc:signature>
<xqdoc:parameters >
<xqdoc:parameter >
<xqdoc:name > src</xqdoc:name>
<xqdoc:type occurrence= "*" > item()</xqdoc:type>
</xqdoc:parameter>
</xqdoc:parameters>
<xqdoc:return >
<xqdoc:type > empty-sequence()</xqdoc:type>
</xqdoc:return>
</xqdoc:function>
<xqdoc:function arity= "1" >
<xqdoc:comment >
<xqdoc:description > validate task thumbnail XML against schema</xqdoc:description>
<xqdoc:param > $src XML parameters < thumbnail> < size width="100" ..</xqdoc:param>
<xqdoc:return > validation report</xqdoc:return>
2017-04-21 14:48:37 +01:00
</xqdoc:comment>
<xqdoc:name > thumbnails:validation-report</xqdoc:name>
<xqdoc:signature > declare function thumbnails:validation-report($src as item()*) as element(report)</xqdoc:signature>
<xqdoc:parameters >
2016-04-16 22:21:17 +01:00
<xqdoc:parameter >
2017-04-21 14:48:37 +01:00
<xqdoc:name > src</xqdoc:name>
<xqdoc:type occurrence= "*" > item()</xqdoc:type>
2016-04-16 22:21:17 +01:00
</xqdoc:parameter>
</xqdoc:parameters>
<xqdoc:return >
2017-04-21 14:48:37 +01:00
<xqdoc:type > element(report)</xqdoc:type>
2016-04-16 22:21:17 +01:00
</xqdoc:return>
</xqdoc:function>
</xqdoc:functions>
</xqdoc:xqdoc>