Proposl for DAV:contains

This is a proposal for the DAV:contains operator that *replaces* the
DAV:contentpassthrough operator.

DAV:contains is better defined than DAV:contentpassthrough. It still allows
for servers to have reasonable fallback behavior if advanced content-based
features are not available but also allows servers to use more advanced
content-based features if available. 

-Saveen

-----------------------

5.13. DAV:contains

The DAV:contains operator provides content based search capability. This
operator implicitly searches against the text content of a resource, not
against content of properties. The DAV:contains operator is intentionally
not overly constrained, in order to allow the server to do the best job it
can in performing the search. 

The DAV:contains operator evaluates to a Boolean value. It evaluates to TRUE
if the content of the resource satisfies the search. Otherwise, It evaluates
to FALSE.

Within the DAV:contains XML element, the client provides a phrase: a single
word or whitespace delimited sequence of  words.  Servers MAY ignore
punctuation in a phrase. Case-sensitivity is left to the server.

The following things may or may not be done as part of the search: Phonetic
methods such as "soundex" may or may not be used. Word stemming may or may
not be performed. Thesaurus expansion of words may or may not be done. Right
or left truncation may or may not be performed. The search may be case
insensitive or case sensitive. The word or words may or may not be
interpreted as names. Multiple words may or may not be required to be
adjacent or "near" each other. Multiple words may or may not be required to
occur in the same order. Multiple words may or may not be treated as a
phrase. The search may or may not be interpreted as a request to find
documents "similar" to the string operand.

The DAV:score property is intended to be useful to rank documents satisfying
the DAV:Contains operator.

5.13.1. Example

The example below shows a search for the phrase "Peter Forsberg". 
Depending on its support for content-based searching, a server MAY treat
this as a search for documents that contain the words "Peter" and
"Forsberg".

<D:where>
	<D:contains>Peter Forsberg</D:contains>
</D:where>

5.13.2. Example

The example below shows a search for resources that contain "Peter" and
"Forsberg". 

<D:where>
	<D:and>
		<D:contains>Peter</D:contains>
		<D:contains>Forsberg</D:contains>
	</D:and>
</D:where>

Received on Wednesday, 4 November 1998 14:23:03 UTC