> > Well it is definitly an optimization that is new to BaseX 10. But I think > I found a way to default to "" where I just passed () from a variable > before. >
True. With BaseX 10, XQuery compilation was split up into a static (logical) and a dynamic (physical) step to allow for a more fine granular locking. In the static compilation, your expression will be rewritten as follows: collection('i_do_not_exist')/users/user[@name=()] →collection('i_do_not_exist')/users/user[false()] →collection('i_do_not_exist')/users/() →collection('i_do_not_exist')/() →()