let's consider a dead property "foo", and some resources a, b and c on which
this dead property is defined and has the values "1", "3" and "10".
Consider a DAV:basicsearch with the where clause:
<gte xmlns="DAV:">
<prop><foo xmlns=""/></prop>
<literal>3</literal>
</gte>
Which resource will match?
As DAV:basicsearch currently isn't type-aware, the server will have to do a
string comparison, and only the b (with value "3") will match.
Is this really sufficient? It basically means that dead property comparisons
are restricted to strings.
Proposals:
a) If the server happens to have type information for a dead property, it
should try to do a comparison according to the known property type, if the
literal can be parsed into this type. This basically replicates the
behaviour that a client would expect when querying on live properties such
as DAV:getcontentlength, so it could be taken as a simple clarification.
Extended proposal:
b) A client can enforce comparison using a specific data type by specifying
the type in the query, for instance using:
<gte xmlns="DAV:">
<prop><foo xmlns=""/></prop>
<literal xsi:type="xs:long">3</literal>
</gte>