Hello,
I'm quite impressed by your response time.
I also tend to agree on most of your arguments at the level of abstraction of the discussion.
Nevertheless, I'd like to pick out a tiny point.
consider the following document (p.xml)
<?xml version = "1.0"?>
<persons>
<person name="anton" age="two and a half"/>
<person name="anna" age = "3"/>
</persons>
Your argument for not needing null values is that if information is absent you can represent this
as a the empty sequence. well that's true.
Your next argument is that you don't need null values since if there is a bug in the query
or the data is not correct, the query processor should signal an exception. I Agree.
The remaining question is when is data correct or incorrect.
If there is a schema (XSchema,DTD) against which it is to be validated, then
I would tend to define data as correct if and only if it validates correctly.
If there is no schema, data is correct if it is well-formed.
The above document is well-formed and (if you agree) correct data.
I don't see anything wrong with the following query:
for $p in document("p.xml")//person
where $p/@age = 3
return $p/@name
Why should it fail?
Regards
Guido