Re: EXPath Binary module: bin:unpack-integer()

On 03/10/2013 13:34, John Lumley wrote:
> Interesting, thanks. When having a look at the bin:or function...
>
>    bin:or($a as xs:base64Binary, $b as xs:base64Binary) as xs:base64Binary
>
> ...I would assume that $a is a data argument and $b is a control
> argument. Would you agree?

> In this case, both are obviously data, even more so that for these 
> functions the arguments can be swapped with no change to the result. 
> They also have the constraint that they have to be the same 
> octet-length. If we allow xs:base64Binary?, then they either both must 
> be the empty sequence, or both be a similar length xs:base64Binary.
>
> I'd prefer to let things stand unless someone has a real use case.
I was perhaps a tad hasty, and the logic is reasonable. I'm happy to 
change these bitwise function data arguments to xs:base64Binary?, and 
support bin:bitwise-fn((),()) -> ()  unless someone objects. Who knows - 
it just might help someone one day.

Be warned however, that the 'or' of an empty base64Binary (i.e. with no 
bytes) and the empty sequence, would correctly throw an error.

John

-- 
*John Lumley* MA PhD CEng FIEE
john@saxonica.com <mailto:john@saxonica.com>
on behalf of Saxonica Ltd

Received on Thursday, 3 October 2013 13:09:26 UTC