Hi,

I have updated the PR[1] to fit the specification on creating an array.

[1] https://github.com/apache/vxquery/pull/126

Thank you.

Yours sincerely,
Riyafa

On 27 July 2016 at 21:11, Riyafa Abdul Hameed <[email protected]>
wrote:

> Hi Till,
>
> That's helpful. Thank you.
>
> Yours sincerely,
> Riyafa
>
> On 27 July 2016 at 21:03, Till Westmann <[email protected]> wrote:
>
>> Hi Riyafa,
>>
>> the description is a spec is indeed a little terse :)
>>
>> Examples are:
>>
>> accumulate(({ "a": "b" }, { "c": "d" })) returns { "a": "b", "c": "d" }
>>
>> accumulate(({ "a": "b" }, { "a": "d" })) returns { "a": [ "b", "d" ] }
>>
>> In the second example there is a collision for the key "a" and instead of
>> raising an error, the function will create an array that contain all the
>> values for the key "a" in the source objects and use that as the value
>> for "a" in the result object.
>>
>> Does this make sense?
>>
>> Cheers,
>> Till
>>
>>
>> On 27 Jul 2016, at 4:46, Riyafa Abdul Hameed wrote:
>>
>> Hi,
>>>
>>> I have attempted to implement libjn:accumulate[1]. This implementation is
>>> based on the part of the specification[2] which states that the function
>>> be
>>> implemented as follows:
>>>
>>> declare function libjn:accumulate($sequence as item()*) as object()
>>> {
>>>   {|
>>>     for $key in $sequence() return { $key : $sequence($key) }
>>>   |}
>>> };
>>>
>>> Since this method uses the dynamic constructor for objects this will
>>> throw
>>> an error upon pair collision.
>>> But the specification also says :
>>> "This function dynamically builds an object, like jn:object, except that
>>> it
>>> does not throw an error upon pair collision. Instead, it accumulates them
>>> into an array."
>>>
>>> I am not sure I understand this because this conflicts with the previous
>>> (declare function) method specified and my implementation is based on the
>>> declare function method. What is the use of accumulating them into an
>>> array? Further no examples are provided on this.
>>>
>>> [1] https://github.com/apache/vxquery/pull/126
>>> [2]
>>>
>>> http://jsoniq.org/docs/JSONiqExtensionToXQuery/html-single/index.html#idm139680684849856
>>>
>>> Thank you.
>>>
>>> Yours sincerely,
>>> Riyafa
>>> --
>>> Riyafa Abdul Hameed
>>> Undergraduate, University of Moratuwa
>>>
>>> Email: [email protected]
>>> Website: https://riyafa.wordpress.com/ <http://riyafa.wordpress.com/>
>>> <http://facebook.com/riyafa.ahf>  <http://lk.linkedin.com/in/riyafa>
>>> <http://twitter.com/Riyafa1>
>>>
>>
>
>
> --
> Riyafa Abdul Hameed
> Undergraduate, University of Moratuwa
>
> Email: [email protected]
> Website: https://riyafa.wordpress.com/ <http://riyafa.wordpress.com/>
> <http://facebook.com/riyafa.ahf>  <http://lk.linkedin.com/in/riyafa>
> <http://twitter.com/Riyafa1>
>



-- 
Riyafa Abdul Hameed
Undergraduate, University of Moratuwa

Email: [email protected]
Website: https://riyafa.wordpress.com/ <http://riyafa.wordpress.com/>
<http://facebook.com/riyafa.ahf>  <http://lk.linkedin.com/in/riyafa>
<http://twitter.com/Riyafa1>

Reply via email to