I noticed, that it makes no difference for searching if the query is:
contains text {"A B C"} all words or contains text ("A" ftand "B" ftand "C")
However, applying ft:mark, the first (using "all words") results in marking only occurences of "C", whereas the second (using "ftand") results in marking occurences of "A", "B", and "C". Is this a feature/bug of ft:mark?
It might be surprising that the internal position representation of both queries is indeed different, but I completely agree that it's irritating that the "A" and "B" tokens are not highlighted by the first query. I've added a GitHub issue in order to remember this issue:
https://github.com/BaseXdb/basex/issues/337
To be continued, Christian