Hi Hans-Jürgen,
[…] if passing them on to other functions, especially the key functions returning node trees - doc(), json:doc(), csv:doc() - they do not work and have first to be resolved to absolute paths, e.g. using file:path-to-native().
Back then, we even thought about disallowing any relative paths to most of the functions of the File Module, but that seemed too rigorous to us.
If there’s no need for relative paths in your applications, maybe you can go back one step in your code and check why you pass on relative paths to file:children and file:descendants at all. I believe it is better to normalize all paths before calling any utility function in BaseX that works with file paths. That way, you can e.g. decide if you want to use file:path-to-native or file:resolve-path (each of them has advantages and drawbacks that should be considered individually).
By the way, if you want to write code that does not rely on a specific XQuery processor, it may be cleaner anyway to convert each absolute path to a valid URI. For example, Saxon won’t allow you to run doc('C:\file.xml'); it rejects the argument as »invalid relative URI«. doc(file:path-to-uri('C:\file.xml')) works with both processors (provided that the applied version of Saxon comes with support for the File Module).
Best, Christian