- From: Babich, Alan <ABabich@filenet.com>
- Date: Sat, 25 Jul 1998 17:09:11 -0700
- To: "'Jim Davis'" <jdavis@parc.xerox.com>, www-webdav-dasl@w3.org
I input Jim's stuff from below and added the missing section on operators and sent it to the authors. Alan Babich > -----Original Message----- > From: Jim Davis [mailto:jdavis@parc.xerox.com] > Sent: July 24, 1998 7:41 PM > To: www-webdav-dasl@w3.org > Subject: Better version of QSD for simplesearch > > > I like Alan's concept of making the QSD for simplesearch be property > centric rather than 'section' centric. I started writing it up in > Microsoft Word and I sent it to Saveen to add to the protocol draft. > > The writeup (which I enclose below) has a DTD for the property > descriptions, but does not have a DTD for operator descriptions, not > because I am against that but just because I ran out of time > to write it > up. Sorry. > > We can also delete section 11 (data typing) because there's > no place else > datatypes get used except in QSD. > > ---------- > > 1.1. Query Schema for DAV:simplesearch > > The DAV:simplesearch grammar defines a search criteria that is a > Boolean-valued expression, and allows for an arbitrary set of > properties to be includes in the result record. The result set may be > sorted on a set of property values. Accordingly the DTD for schema > discovery for this grammar allows the server to express: > > ? the set of properties that may be searched, with associated > data types > ? the set of properties that be selected in the result record > ? the set of properties that may be sorted > > 1.1.1. DTD for simplesearch query schema discovery > > <!ELEMENT simplesearchschema (properties, operators)> > <!ELEMENT properties (propdesc*)> > <!ELEMENT propdesc (prop, ANY) > > <!ELEMENT operators to be provided > > > The DAV:properties element holds a list of descriptions of properties. > The DAV:operators element describes the operators that may be used in > a DAV:where element. > > 1.1.2. DAV:propdesc element > > Each instance of a DAV:propdesc element describes the property or > properties in the DAV:prop element it contains. All subsequent > elements are descriptions that apply to those properties. All > descriptions are optional and may appear in any order. Servers SHOULD > support all the descriptions defined here, and MAY define others. > > DASL defines four descriptions. The first, DAV:datatype, provides a > hint about the type of the property value, and may be useful to a user > interface prompting for a value. The remaing three (DAV:searchable, > DAV:selectable, and DAV:sortable identify portions of the query > (DAV:where, DAV:select, and DAV:sortby, respectively) If a property > has a description for a section, then the server MUST allow the > property to be used in that section. These descriptions are optional. > If a property does not have such a description, or is not described at > all, then the server MAY still allow the property to be used in the > corresponding section. > > 1.1.3. The DAV:datatype property description > > The DAV:datatype element contains a single XML element that provides a > hint about the domain of the property, which may be useful to a user > interface prompting for a value to be used in a query. The namespace > used for expressing a DASL defined datatype is > "urn:uuid:C2F41010-65B3-11d1-A29F-00AA00C14882/". > > <!ELEMENT datatype (ANY) > > > DASL defines the following datatype elements: > > name contents example > string > int 12,-259 > float .314159265358979E+1 > dateTime.iso8601tz an ISO 8601 date 1994-11-05T08:15:5Z > > 1.1.4. The DAV:searchable property description > > If this element is present, then the server MUST allow this property > to appear within a DAV:where element if the operator it is used with > allows it. Allowing a search does not mean that the property is > guaranteed to be defined on every resource in the scope, it only > indicates the servers willingness to check. > > <!ELEMENT searchable EMPTY > > > 1.1.5. The DAV:selectable property description > > This element indicates that the property may appear in the > DAV:select element. > > <!ELEMENT selectable EMPTY > > > 1.1.6. The DAV:sortable property description > > This element indicates that the property may appear in the > DAV:sortby element > > <!ELEMENT sortable EMPTY > > > 1.1.7. Example of Query Schema for DAV:simplesearch > > <?xml:namespace ns="DAV:" prefix="D"> > <?xml:namespace ns="urn:uuid:C2F41010-65B3-11d1-A29F-00AA00C14882/" > prefix="t"?> > <?xml:namespace ns="http://jennicam.org" prefix="J"> > <D:simplesearchschema> > <D:properties> > <D:propdesc> > <D:prop><D:getcontentlength/></D:prop> > <D:datatype><t:int></D:datatype> > <D:searchable/><D:selectable/><D:sortable/> > </D:propdesc> > <D:propdesc> > <D:prop><D:getcontenttype/><D:displayname></D:prop> > <D:searchable/><D:selectable/> <D:sortable/> > </D:propdesc> > <D:propdesc> > <D:prop><J:fstop/></D:prop> > <D:selectable/> > </D:propdesc> > <D:properties> > <D:operators> > ..</D:operators> > </D:simplesearchschema> > > This response lists four properties. All are selectable, and the > first three may be searched. The datatype is provided for the first, > the others default to string. All but the last may be used in a sort. > >
Received on Saturday, 25 July 1998 20:12:12 UTC