RE: SEARCH by last path segment, Was: SEARCH for displayname

Hi,

here again my proposal. Is it now clear and "wasserdicht"?

			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
support versioning
			but not support the DAV:include-versions feature
MUST indicate 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) <DAV:like>
			When neither <DAV:include-lastpathsegment> nor
<DAV:exclude-lastpathsegment> are present, the scope comprises ALL resources
(that are defined by <DAV:href> and <DAV:depth>)
			When one or more <DAV:include-lastpathsegment> but
no <DAV:exclude-lastpathsegment> are present, the scope comprises ALL
resources AND resources matching include pattern(s)
			When one or more <DAV:exclude-lastpathsegment> but
no <DAV:include-lastpathsegment> are present, the scope comprises ALL
resources AND NOT resources matching exclude pattern(s)
			When one or more <DAV:include-lastpathsegment> and
one ore more <DAV:exclude-lastpathsegment> are present, the scope comprises
ALL resources AND resources matching include pattern(s) AND NOT resources
matching exclude pattern(s)

			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>



Another little thing (came from our documentation person):

			When the scope is a collection, if DAV:depth is "0",
the search includes
			only the collection. 

perhaps better
			When the scope is a collection and DAV:depth is "0",
the search includes
			only the collection. 


Best regards,
Martin

__________________________
Martin Wallmer
Research & Development
Software AG    ++49 6151 92 1831
Uhlandstr. 12
D 64297 Darmstadt

Received on Friday, 21 November 2003 01:02:23 UTC