Many thanks for explaining, Christian - that makes sense.
Thank you also for 10.6!

All the best,
Andrew

On Wed, 10 May 2023 at 21:34, Christian Grün <christian.gr...@gmail.com>
wrote:

> Hi Andrew,
>
> >   'contains(.,"&gt;")',
> > …
> > return true, as expected.
>
> The difference is that < and > don’t have to be encoded if they are
> used in strings. You can write…
>
> contains('', '<')
>
> …but the following query is invalid:
>
> contains('<', '&')
>
> > I can get the expected result if I double-escape the entity:
> > 'contains(.,"&amp;amp;")'
>
> You can use the string constructor syntax, it’s often better readable:
>
> xquery:eval(
>   ``[contains(., "&amp;")]``,
>   map { '': <foo>{ ``[&<]`` }</foo> }
> )
>
> With recent versions of BaseX, you can also use simple backticks
> (that’s XQuery 4 syntax, it will be documented soon). The following
> queries are equivalent:
>
> `&`
> ``[&]``
> "&amp;"
>
> Hope this helps,
> Christian
>

Reply via email to