Re: Scenario Examples

At 12:20 PM 6/30/98 PDT, Saveen Reddy (Exchange) wrote:
>
>I have gone through Rick's scenarios document and create example queries for
>many of the scenarios. 

Thanks for doing that, it was very helpful.  I have some comments on a few
of your examples.

>Search for all the documents that are locked.
>
><select></select>
><from> <scope> ... </scope> </from>
><where>
>    <propertyexists> the dav ock property </>
></where>

Shouldn't this be

<where>
  <ne>
    <prop><lockdiscovery/></prop>
    <literal></literal>
  </ne>
</where>

ie if the lockdiscovery property is not empty, it is locked.

>Search for all the owners of locked documents.
>
><select> ????? </select>
><from> <scope> ... </scope> </from>
><where>
>    <propertyexists> the dav ock property </>
></where>
>
>Issue: how to tunnel down into XML? Do we need to?

No we don't need to drill into the XML.  The client should retrieve all
locked documents (as above) and select the lockdiscovery property, then
extract the owner info from that.  Note also that the owner property is
ANY, so there's no way to tell what you'll find in there.

>Search for documents that have been locked for more than 1 week.
>
><select></select>
><from> <scope> ... </scope> </from>
><where>
>    ????
></where>

This we can't do at all because the WebDAV activelock element does not tell
when the lock was granted.  

>Finding a specific document by author and date range
>
><select></select>
><from> <scope> ... </scope> </from>
><where>
>    <and>
>        <eq casesensitive="f"> <foo:author/> <literal>John Doe</literal> 
>
>        <and>
>
>             <gt> <dav:getlastmodified> <literal
>t:dt="dateTime.iso8601z">1998/01/01 </literal> </gt>
>             <lt> <dav:getlastmodified> <literal
>t:dt="dateTime.iso8601z">1998/06/01</literal> </gt>
>
>        </and
>
>    </and>
></where>
>
>Issue: how to tell the difference whether john doe is one ofthe authors or
>the only author???

This issue you asked turns out to be really important.  See my email "Major
flaw" for elaboration.

On a far more trivial level, there were some syntax errors in your example
query.  It should be:

<where>
   <and>
      <eq casesensitive="f"> <foo:author/> <literal>John Doe</literal> 
      <and>
        <gt> <dav:getlastmodified>
             <literal t:dt="dateTime.iso8601z">1998-01-01T000000Z</literal>
        </gt>
        <lt> <dav:getlastmodified>
             <literal t:dt="dateTime.iso8601z">1998-01-01T000000Z</literal>
        </lt>
      </and>
   </and>
</where>

>Site Navigation
>
><select></select>
><from> <scope> ... </scope> </from>
><where>
>       <eq casesensitive="f"> <dav:resourcetype/> <literal>???</literal>
></eq>
>
></where>
>
>Issue: XML again.

Well, could we allow an XML element to be used as a literal?

<where><eq>
  <prop><dav:resourcetype/></prop>
  <literal><dav:collection/></literal>
</eq>

Received on Saturday, 4 July 1998 00:07:14 UTC