Hi Everyone,

I have an xml document with elements such as <div n=“21”>. If I run the query doc(“file.xml")//div[@subtype="chapter"]//*/parent::div[@n=21], I get the relevant div element, even if 21 is passed as an integer. On the other hand,
if I type doc(“file.xmll")//div[@n=21], I get the error  "Cannot convert to xs:double”, which can be solved by writing  doc(“myfile.xmll")//div[@n=“21”]. 

Is this due to the fact that BaseX tries to convert the values of @n of all div elements into a number and, if it happens that the @n values returned are all numbers, then an error is not raised (the comparison is then possible), otherwise it is? Is this BaseX specific? Thanks.

Best,
Giuseppe