Hi Christian,
I encountered this erroneous behavior while using the for-each-function on a set with child-elements. The evident work-around [2] workd fine. I’m using BaseX 9.6 RC2. I attached the code as attachment. Hope this helps.
[1] let $context := <A><B1><C11></C11><C12></C12></B1><B2><C21></C21></B2></A>
let $context.processor := function( $context as element( ) , $context.processor as function(*) ) as map(*) { map { $context => name() : $context/child::* => for-each( $context.processor( ? , $context.processor ) ) } } return $context => $context.processor( $context.processor ) [2] let $context := <A><B1><C11></C11><C12></C12></B1><B2><C21></C21></B2></A>
let $context.processor := function( $context as element( ) , $context.processor as function(*) ) as map(*) { map { $context => name() : $context/child::* => for-each( function( $child as element( ) ) { $child => $context.processor( $context.processor ) } ) } } return $context => $context.processor( $context.processor )
Rob
Sent from Mail for Windows