W3C home > Mailing lists > Public > www-webdav-dasl@w3.org > October to December 2003

SEARCH for displayname

From: Wallmer, Martin <Martin.Wallmer@softwareag.com>
Date: Tue, 11 Nov 2003 16:40:39 +0100
Message-ID: <DFF2AC9E3583D511A21F0008C7E62106063A910A@daemsg02.software-ag.de>
To: "'www-webdav-dasl@w3.org'" <www-webdav-dasl@w3.org>
Hi,

I'd like to propose following change to section 5.4 (DAV:from):

(additions enclosed in <Martin/>

5.4  DAV:from
<!ELEMENT scope            (href, depth, include-versions?,
<Martin>include-lastpathsegment*, exclude-lastpathsegment* </Martin>) >
<!ELEMENT include-versions EMPTY >
<Martin>
<!ELEMENT include-lastpathsegment(#PCDATA)>
<!ELEMENT exclude-lastpathsegment(#PCDATA)>
</Martin>

DAV:from defines the query scope.
This contains one or more DAV:scope elements. Support for multiple scope
elements is optional, however servers MUST fail a request specifying
multiple DAV:scope elements if they can't support it (see section 2.2.2,
precondition DAV:search-multiple-scope-supported). The scope element
contains mandatory DAV:href and DAV:depth elements.

DAV:href indicates the URI to use as a scope.

When the scope is a collection, if DAV:depth is "0", the search includes
only the collection. When it is "1", the search includes the (toplevel)
members of the collection. When it is "infinity", the search includes all
recursive members of the collection. When the scope is not a collection, the
depth is ignored and the search applies just to the resource itself.

When the child element DAV:include-versions is present, the search scope
will include all versions (see [RFC3253], section 2.2.1) of all
version-controlled resources in scope. Servers that do support versioning
but do not support the DAV:include-versions feature MUST signal an error if
it is used in a query.

<Martin>
The content of DAV:include-lastpathsegment and DAV:exclude-lastpathsegment
is a literal pattern same as defined for (@see 5.15.1) Like.
When one or more child elements DAV:include-lastpathsegment are present, the
scope includes all resources, of which the last pathsegment of the uri
matches the pattern.
When one or more child elements DAV:exclude-lastpathsegment are present, the
scope excludes all resources, of which the last pathsegment of the uri
matches the pattern.

Example:
<d:searchrequest xmlns:d="DAV:">
  <d:basicsearch>
    <d:select>
      <d:prop><d:getcontentlength/></d:prop>
    </d:select>
    <d:from>
      <d:scope>
        <d:href>/container1/</d:href>
        <d:depth>infinity</d:depth>
        <d:include-lastpathsegment>%.pdf</d:include-lastpathsegment>
        <d:exclude-lastpathsegment>%-2001-%.pdf</d:exclude-lastpathsegment>
        <d:include-lastpathsegment>chapter%.doc</d:include-lastpathsegment>
      </d:scope>
    </d:from>
  </d:basicsearch>
</d:searchrequest>

The scope of this query comprises all resources within or below container1,
that have the postfix .pdf, all doc files starting with "chapter", but not
the file (for example) report-2001-july.pdf

</Martin>
....

The former discussion showed, that it is a common task to somehow filter
resources according to the "displayname". With BIND, several URI's may point
to the same resource. So a kind of "displayname" is not a property of the
resource, but of the URI.
If for technical reasons it would be more suitable for a specific
implementation to have this information within the query, a preprocessing
step could transform the SearchQuery document into the desired format.



__________________________
Martin Wallmer
Research & Development
Software AG    ++49 6151 92 1831
Uhlandstr. 12
D 64297 Darmstadt
Received on Tuesday, 11 November 2003 10:41:36 GMT

This archive was generated by hypermail 2.2.0+W3C-0.50 : Sunday, 22 March 2009 03:38:09 GMT