The problem is that there is a TreatIterator put in place checking the return type of the function.
<FnCountIterator id="0x1926410"> <TreatIterator type="[JSONXQType object]" quant="*" id="0x191d1e0"> <ExtFunctionCallIterator id="0x193e380"> <TreatIterator type="xs:anyURI" quant="" id="0x191cf20"> <ExtFunctionCallIterator id="0x191e490"> <SingletonIterator value="xs:string(127.0.0.1)" id="0x1927400"/> <JSONObjectIterator id="0x19264f0"/> </ExtFunctionCallIterator> </TreatIterator> <SingletonIterator value="xs:string(/)" id="0x19730c0"/> </ExtFunctionCallIterator> </TreatIterator> </FnCountIterator> The TreatIterator doesn't override count and, hence, the count call never gets executed on the ExtFunctionCallIterator. Could you please look at the implementation of the TreatIterator. I don't think this can easily be done but maybe you have an idea. -- https://code.launchpad.net/~zorba-coders/zorba/pub_iter_imp/+merge/201708 Your team Zorba Coders is subscribed to branch lp:zorba. -- Mailing list: https://launchpad.net/~zorba-coders Post to : zorba-coders@lists.launchpad.net Unsubscribe : https://launchpad.net/~zorba-coders More help : https://help.launchpad.net/ListHelp