<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>
<xqdoc:functionarity="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>
<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 , $width as xs:integer , $height 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>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>
<xqdoc:type>xs:base64Binary</xqdoc:type>
</xqdoc:return>
</xqdoc:function>
<xqdoc:functionarity="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>
<xqdoc:functionarity="3">
<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 , $xscale as xs:double , $yscale 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>xscale</xqdoc:name>
<xqdoc:type>xs:double</xqdoc:type>
</xqdoc:parameter>
<xqdoc:parameter>
<xqdoc:name>yscale</xqdoc:name>
<xqdoc:type>xs:double</xqdoc:type>
</xqdoc:parameter>
</xqdoc:parameters>
<xqdoc:return>
<xqdoc:type>xs:base64Binary</xqdoc:type>
</xqdoc:return>
</xqdoc:function>
<xqdoc:functionarity="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>
<xqdoc:return>the thumbnail</xqdoc:return>
</xqdoc:comment>
<xqdoc:name>thumbnails:task</xqdoc:name>
<xqdoc:signature>declare function thumbnails:task($source as xs:base64Binary , $task as element(thumbnail)) 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>task</xqdoc:name>
<xqdoc:type>element(thumbnail)</xqdoc:type>
</xqdoc:parameter>
</xqdoc:parameters>
<xqdoc:return>
<xqdoc:type>xs:base64Binary</xqdoc:type>
</xqdoc:return>
</xqdoc:function>
<xqdoc:functionarity="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>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:typeoccurrence="*">item()</xqdoc:type>
</xqdoc:parameter>
</xqdoc:parameters>
<xqdoc:return>
<xqdoc:type>empty-sequence()</xqdoc:type>
</xqdoc:return>
</xqdoc:function>
<xqdoc:functionarity="1">
<xqdoc:comment>
<xqdoc:description>validate task thumbnail XML against schema</xqdoc:description>
<xqdoc:param>$src XML parameters <thumbnail><size width="100" ..</xqdoc:param>