[要約] RFC 5323は、WebDAV SEARCHメソッドの仕様を定義しており、Webリソースの検索を可能にする。目的は、WebDAVプロトコルを使用して効率的にリソースを検索するための標準化を提供すること。

Network Working Group                                    J. Reschke, Ed.
Request for Comments: 5323                                    greenbytes
Category: Standards Track                                       S. Reddy
                                                                  Mitrix
                                                                J. Davis
        

A. Babich IBM November 2008

A. Babich IBM 2008年11月

Web Distributed Authoring and Versioning (WebDAV) SEARCH

Web分散オーサリングおよびバージョン(WebDAV)検索

Status of This Memo

本文書の位置付け

This document specifies an Internet standards track protocol for the Internet community, and requests discussion and suggestions for improvements. Please refer to the current edition of the "Internet Official Protocol Standards" (STD 1) for the standardization state and status of this protocol. Distribution of this memo is unlimited.

このドキュメントは、インターネットコミュニティのインターネット標準トラックプロトコルを指定し、改善のための議論と提案を要求します。このプロトコルの標準化状態とステータスについては、「インターネット公式プロトコル標準」(STD 1)の現在のエディションを参照してください。このメモの配布は無制限です。

Copyright Notice

著作権表示

Copyright (c) 2008 IETF Trust and the persons identified as the document authors. All rights reserved.

Copyright(c)2008 IETF Trustおよび文書著者として特定された人。全著作権所有。

This document is subject to BCP 78 and the IETF Trust's Legal Provisions Relating to IETF Documents (http://trustee.ietf.org/ license-info) in effect on the date of publication of this document. Please review these documents carefully, as they describe your rights and restrictions with respect to this document.

このドキュメントは、BCP 78およびIETFドキュメント(http://trustee.ietf.org/ license-info)に関連するIETF Trustの法的規定の対象となります。この文書に関するあなたの権利と制限を説明するので、これらの文書を注意深く確認してください。

Abstract

概要

This document specifies a set of methods, headers, and properties composing Web Distributed Authoring and Versioning (WebDAV) SEARCH, an application of the HTTP/1.1 protocol to efficiently search for DAV resources based upon a set of client-supplied criteria.

このドキュメントは、クライアントがサポートした基準のセットに基づいてDAVリソースを効率的に検索するHTTP/1.1プロトコルのアプリケーションであるWeb分散オーサリングおよびバージョン(WebDAV)検索を構成するメソッド、ヘッダー、およびプロパティのセットを指定します。

Table of Contents

目次

   1.  Introduction . . . . . . . . . . . . . . . . . . . . . . . . .  4
     1.1.  DASL . . . . . . . . . . . . . . . . . . . . . . . . . . .  4
     1.2.  Relationship to DAV  . . . . . . . . . . . . . . . . . . .  4
     1.3.  Terms  . . . . . . . . . . . . . . . . . . . . . . . . . .  5
     1.4.  Notational Conventions . . . . . . . . . . . . . . . . . .  6
     1.5.  Note on Usage of 'DAV:' XML Namespace  . . . . . . . . . .  7
     1.6.  An Overview of DASL at Work  . . . . . . . . . . . . . . .  7
   2.  The SEARCH Method  . . . . . . . . . . . . . . . . . . . . . .  7
     2.1.  Overview . . . . . . . . . . . . . . . . . . . . . . . . .  7
     2.2.  The Request  . . . . . . . . . . . . . . . . . . . . . . .  8
       2.2.1.  The Request-URI  . . . . . . . . . . . . . . . . . . .  8
       2.2.2.  The Request Body . . . . . . . . . . . . . . . . . . .  8
     2.3.  The Successful 207 (Multistatus) Response  . . . . . . . .  9
       2.3.1.  Result Set Truncation  . . . . . . . . . . . . . . . .  9
       2.3.2.  Extending the PROPFIND Response  . . . . . . . . . . . 10
       2.3.3.  Example: A Simple Request and Response . . . . . . . . 10
       2.3.4.  Example: Result Set Truncation . . . . . . . . . . . . 11
     2.4.  Unsuccessful Responses . . . . . . . . . . . . . . . . . . 12
       2.4.1.  Example of an Invalid Scope  . . . . . . . . . . . . . 12
   3.  Discovery of Supported Query Grammars  . . . . . . . . . . . . 13
     3.1.  The OPTIONS Method . . . . . . . . . . . . . . . . . . . . 13
     3.2.  The DASL Response Header . . . . . . . . . . . . . . . . . 14
     3.3.  DAV:supported-query-grammar-set (Protected)  . . . . . . . 14
     3.4.  Example: Grammar Discovery . . . . . . . . . . . . . . . . 15
   4.  Query Schema Discovery: QSD  . . . . . . . . . . . . . . . . . 17
     4.1.  Additional SEARCH Semantics  . . . . . . . . . . . . . . . 17
       4.1.1.  Example of Query Schema Discovery  . . . . . . . . . . 18
   5.  The DAV:basicsearch Grammar  . . . . . . . . . . . . . . . . . 19
     5.1.  Introduction . . . . . . . . . . . . . . . . . . . . . . . 19
     5.2.  The DAV:basicsearch DTD  . . . . . . . . . . . . . . . . . 20
       5.2.1.  Example Query  . . . . . . . . . . . . . . . . . . . . 22
     5.3.  DAV:select . . . . . . . . . . . . . . . . . . . . . . . . 23
     5.4.  DAV:from . . . . . . . . . . . . . . . . . . . . . . . . . 23
       5.4.1.  Relationship to the Request-URI  . . . . . . . . . . . 23
       5.4.2.  Scope  . . . . . . . . . . . . . . . . . . . . . . . . 24
     5.5.  DAV:where  . . . . . . . . . . . . . . . . . . . . . . . . 24
       5.5.1.  Use of Three-Valued Logic in Queries . . . . . . . . . 24
       5.5.2.  Handling Optional Operators  . . . . . . . . . . . . . 24
       5.5.3.  Treatment of NULL Values . . . . . . . . . . . . . . . 24
       5.5.4.  Treatment of Properties with Mixed/Element Content . . 25
       5.5.5.  Example: Testing for Equality  . . . . . . . . . . . . 25
       5.5.6.  Example: Relative Comparisons  . . . . . . . . . . . . 25
     5.6.  DAV:orderby  . . . . . . . . . . . . . . . . . . . . . . . 26
       5.6.1.  Example of Sorting . . . . . . . . . . . . . . . . . . 26
     5.7.  Boolean Operators: DAV:and, DAV:or, and DAV:not  . . . . . 26
     5.8.  DAV:eq . . . . . . . . . . . . . . . . . . . . . . . . . . 27
        5.9.  DAV:lt, DAV:lte, DAV:gt, DAV:gte . . . . . . . . . . . . . 27
     5.10. DAV:literal  . . . . . . . . . . . . . . . . . . . . . . . 27
     5.11. DAV:typed-literal (Optional) . . . . . . . . . . . . . . . 28
       5.11.1. Example for Typed Numerical Comparison . . . . . . . . 28
     5.12. Support for Matching xml:lang Attributes on Properties . . 29
       5.12.1. DAV:language-defined (Optional)  . . . . . . . . . . . 29
       5.12.2. DAV:language-matches (Optional)  . . . . . . . . . . . 29
       5.12.3. Example of Language-Aware Matching . . . . . . . . . . 29
     5.13. DAV:is-collection  . . . . . . . . . . . . . . . . . . . . 30
       5.13.1. Example of DAV:is-collection . . . . . . . . . . . . . 30
     5.14. DAV:is-defined . . . . . . . . . . . . . . . . . . . . . . 30
     5.15. DAV:like . . . . . . . . . . . . . . . . . . . . . . . . . 30
       5.15.1. Syntax for the Literal Pattern . . . . . . . . . . . . 31
       5.15.2. Example of DAV:like  . . . . . . . . . . . . . . . . . 31
     5.16. DAV:contains . . . . . . . . . . . . . . . . . . . . . . . 31
       5.16.1. Result Scoring (DAV:score Element) . . . . . . . . . . 32
       5.16.2. Ordering by Score  . . . . . . . . . . . . . . . . . . 33
       5.16.3. Examples . . . . . . . . . . . . . . . . . . . . . . . 33
     5.17. Limiting the Result Set  . . . . . . . . . . . . . . . . . 33
       5.17.1. Relationship to Result Ordering  . . . . . . . . . . . 33
     5.18. The 'caseless' XML Attribute . . . . . . . . . . . . . . . 34
     5.19. Query Schema for DAV:basicsearch . . . . . . . . . . . . . 34
       5.19.1. DTD for DAV:basicsearch QSD  . . . . . . . . . . . . . 34
       5.19.2. DAV:propdesc Element . . . . . . . . . . . . . . . . . 35
       5.19.3. The DAV:datatype Property Description  . . . . . . . . 35
       5.19.4. The DAV:searchable Property Description  . . . . . . . 36
       5.19.5. The DAV:selectable Property Description  . . . . . . . 36
       5.19.6. The DAV:sortable Property Description  . . . . . . . . 36
       5.19.7. The DAV:caseless Property Description  . . . . . . . . 36
       5.19.8. The DAV:operators XML Element  . . . . . . . . . . . . 37
       5.19.9. Example of Query Schema for DAV:basicsearch  . . . . . 38
   6.  Internationalization Considerations  . . . . . . . . . . . . . 39
   7.  Security Considerations  . . . . . . . . . . . . . . . . . . . 39
     7.1.  Implications of XML External Entities  . . . . . . . . . . 39
   8.  Scalability  . . . . . . . . . . . . . . . . . . . . . . . . . 40
   9.  IANA Considerations  . . . . . . . . . . . . . . . . . . . . . 40
     9.1.  HTTP Headers . . . . . . . . . . . . . . . . . . . . . . . 40
       9.1.1.  DASL . . . . . . . . . . . . . . . . . . . . . . . . . 40
   10. Contributors . . . . . . . . . . . . . . . . . . . . . . . . . 41
   11. Acknowledgements . . . . . . . . . . . . . . . . . . . . . . . 41
   12. References . . . . . . . . . . . . . . . . . . . . . . . . . . 41
     12.1. Normative References . . . . . . . . . . . . . . . . . . . 41
     12.2. Informative References . . . . . . . . . . . . . . . . . . 42
   Appendix A.  Three-Valued Logic in DAV:basicsearch . . . . . . . . 44
   Appendix B.  Candidates for Future Protocol Extensions . . . . . . 45
     B.1.  Collation Support  . . . . . . . . . . . . . . . . . . . . 45
     B.2.  Count  . . . . . . . . . . . . . . . . . . . . . . . . . . 46
     B.3.  Diagnostics for Unsupported Queries  . . . . . . . . . . . 46
        B.4.  Language Matching  . . . . . . . . . . . . . . . . . . . . 46
     B.5.  Matching Media Types . . . . . . . . . . . . . . . . . . . 46
     B.6.  Query by Name  . . . . . . . . . . . . . . . . . . . . . . 46
     B.7.  Result Paging  . . . . . . . . . . . . . . . . . . . . . . 46
     B.8.  Search Scope Discovery . . . . . . . . . . . . . . . . . . 47
   Index  . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 47
        
1. Introduction
1. はじめに
1.1. DASL
1.1. DASL

This document defines Web Distributed Authoring and Versioning (WebDAV) SEARCH, an application of HTTP/1.1 forming a lightweight search protocol to transport queries and result sets that allows clients to make use of server-side search facilities. It is based on earlier work done in the IETF DASL Working Group (see Section 10). In this specification, the terms "WebDAV SEARCH" and "DASL" are used interchangeably.

このドキュメントでは、Web Authoring and Versioning(WebDav)検索を定義します。これは、クライアントがサーバー側の検索機能を利用できるようにするクエリと結果セットを輸送するための軽量検索プロトコルを形成するHTTP/1.1のアプリケーションです。これは、IETF DASLワーキンググループで行われた以前の作業に基づいています(セクション10を参照)。この仕様では、「WebDav検索」と「DASL」という用語が同じ意味で使用されます。

DASL minimizes the complexity of clients so as to facilitate widespread deployment of applications capable of utilizing the DASL search mechanisms.

DASLは、DASL検索メカニズムを利用できるアプリケーションの広範な展開を促進するために、クライアントの複雑さを最小限に抑えます。

DASL consists of:

DASLは次のとおりです。

o the SEARCH method and the request/response formats defined for it (Section 2),

o 検索方法とそれについて定義された要求/応答形式(セクション2)、

o feature discovery through the "DASL" response header and the optional DAV:supported-grammar-set property (Section 3),

o 「DASL」応答ヘッダーとオプションのDAV:サポートされた文法セットプロパティ(セクション3)を介した機能発見(セクション3)

o optional grammar schema discovery (Section 4), and

o オプションの文法スキーマ発見(セクション4)、および

o one mandatory grammar: DAV:basicsearch (Section 5).

o 1つの必須文法:DAV:Basicsearch(セクション5)。

1.2. Relationship to DAV
1.2. DAVとの関係

DASL relies on the resource and property model defined by [RFC4918]. DASL does not alter this model. Instead, DASL allows clients to access DAV-modeled resources through server-side search.

DASLは、[RFC4918]で定義されたリソースおよびプロパティモデルに依存しています。DASLはこのモデルを変更しません。代わりに、DASLを使用すると、クライアントはサーバー側の検索を介してDAVモデルのリソースにアクセスできます。

1.3. Terms
1.3. 条項

This document uses the terms defined in [RFC2616], [RFC4918], [RFC3253], and in this section.

このドキュメントでは、[RFC2616]、[RFC4918]、[RFC3253]、およびこのセクションで定義された用語を使用します。

Criteria

基準

An expression against which each resource in the search scope is evaluated.

検索スコープ内の各リソースが評価される式。

Query

クエリ

A query is a combination of a search scope, search criteria, result record definition, sort specification, and a search modifier.

クエリは、検索スコープ、検索条件、結果レコード定義、ソート仕様、および検索修飾子の組み合わせです。

Query Grammar

クエリ文法

A set of definitions of XML elements, attributes, and constraints on their relations and values that defines a set of queries and the intended semantics.

XML要素、属性、および制約の一連の定義は、一連のクエリと意図されたセマンティクスを定義する関係と価値に対する制約です。

Query Schema

クエリスキーマ

A listing, for any given grammar and scope, of the properties and operators that may be used in a query with that grammar and scope.

その文法と範囲で使用されるプロパティとオペレーターの文法と範囲のリスト、その文法と範囲のクエリで使用できます。

Result

結果

A result is a result set, optionally augmented with other information describing the search as a whole.

結果は結果セットであり、オプションで検索全体を説明する他の情報で拡張されます。

Result Record

結果レコード

A description of a resource. A result record is a set of properties, and possibly other descriptive information.

リソースの説明。結果レコードは、プロパティのセットであり、おそらく他の記述情報です。

Result Record Definition

結果レコード定義

A specification of the set of properties to be returned in the result record.

結果レコードで返されるプロパティのセットの仕様。

Result Set

結果セット

A set of records, one for each resource for which the search criteria evaluated to True.

一連のレコード。検索基準がtrueに評価された各リソースの1つ。

Scope

範囲

A set of resources to be searched.

検索するリソースのセット。

Search Arbiter

アービターを検索します

A resource that supports the SEARCH method.

検索方法をサポートするリソース。

Search Modifier

検索修飾子

An instruction that governs the execution of the query but is not part of the search scope, result record definition, the search criteria, or the sort specification. An example of a search modifier is one that controls how much time the server can spend on the query before giving a response.

クエリの実行を管理するが、検索スコープ、結果レコード定義、検索基準、またはソート仕様の一部ではない命令。検索修飾子の例は、応答を与える前にサーバーがクエリにどれだけの時間を費やすことができるかを制御するものです。

Sort Specification

仕様をソートします

A specification of an ordering on the result records in the result set.

結果セットの結果を記録する結果の指定。

1.4. Notational Conventions
1.4. 表記規則

This specification uses the Augmented Backus-Naur Form (ABNF) notation of [RFC5234], unless explicitly stated otherwise.

この仕様では、明示的に特に述べられない限り、[RFC5234]の拡張されたBackus-Naurフォーム(ABNF)表記を使用します。

The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", "SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" in this document are to be interpreted as described in [RFC2119].

「必須」、「そうしない」、「必須」、「shall」、「shall "、" ingle "、" should "、" not "、" becommended "、" bay "、および「optional」は、[RFC2119]に記載されているように解釈される。

This document uses XML DTD fragments ([XML], Section 3.2) as a purely notational convention. WebDAV request and response bodies cannot be validated by a DTD due to the specific extensibility rules defined in Section 17 of [RFC4918] and due to the fact that all XML elements defined by this specification use the XML namespace name "DAV:". In particular:

このドキュメントでは、XML DTDフラグメント([XML]、セクション3.2)を純粋に表記規則として使用しています。[RFC4918]のセクション17で定義されている特定の拡張性ルールと、この仕様によって定義されたすべてのXML要素がXML名空間名「DAV:」を使用しているため、WebDAV要求と応答本体はDTDで検証することはできません。特に:

1. element names use the "DAV:" namespace,

1. 要素名は「dav:」の名前空間を使用します。

2. element ordering is irrelevant unless explicitly stated,

2. 明示的に述べない限り、要素の順序は無関係です、

3. extension elements (elements not already defined as valid child elements) may be added anywhere, except when explicitly stated otherwise,

3. 拡張要素(有効な子要素としてまだ定義されていない要素)は、明示的に述べられている場合を除き、どこにでも追加される場合があります。

4. extension attributes (attributes not already defined as valid for this element) may be added anywhere, except when explicitly stated otherwise.

4. 拡張属性(この要素に対して有効と定義されていない属性)は、明示的に特に記載されている場合を除き、どこにでも追加される場合があります。

When an XML element type in the "DAV:" namespace is referenced in this document outside of the context of an XML fragment, the string "DAV:" will be prefixed to the element type.

「DAV:」のXML要素タイプがXMLフラグメントのコンテキスト以外でこのドキュメントで参照される場合、文字列「DAV:」は要素タイプに付けられます。

Similarly, when an XML element type in the namespace "http://www.w3.org/2001/XMLSchema" is referenced in this document outside of the context of an XML fragment, the string "xs:" will be prefixed to the element type.

同様に、名前空間のXML要素タイプ "http://www.w3.org/2001/xmlschema"がXMLフラグメントのコンテキスト以外のこのドキュメントで参照される場合、文字列「XS:」は、要素タイプ。

This document inherits, and sometimes extends, DTD productions from Section 14 of [RFC4918].

このドキュメントは、[RFC4918]のセクション14からDTDプロダクションを継承し、時には拡張します。

1.5. Note on Usage of 'DAV:' XML Namespace
1.5. 'dav:' xml namespaceの使用に関するメモ

This specification defines elements, properties, and condition names in the XML namespace "DAV:". In general, only specifications authored by IETF working groups are supposed to do this. In this case an exception was made, because WebDAV SEARCH started its life in the IETF DASL working group (<http://www.webdav.org/dasl/>, and at the time the working group closed down there was already significant deployment of this specification.

この仕様では、XML名空間「DAV:」の要素、プロパティ、および条件名を定義します。一般に、IETFワーキンググループによって作成された仕様のみがこれを行うことになっています。この場合、WebDav検索はIETF DASLワーキンググループでの生活を開始したため、例外が作成されました(<http://www.webdav.org/dasl/>、およびワーキンググループが閉鎖された時点で、すでに重要な展開がありました。この仕様の。

1.6. An Overview of DASL at Work
1.6. 職場でのDASLの概要

One can express the basic usage of DASL in the following steps:

次の手順でDASLの基本的な使用法を表現できます。

o The client constructs a query using the DAV:basicsearch grammar.

o クライアントは、DAV:Basicsearch Grammarを使用してクエリを構築します。

o The client invokes the SEARCH method on a resource that will perform the search (the search arbiter) and includes a text/xml or application/xml request entity that contains the query.

o クライアントは、検索(検索アービター)を実行するリソースで検索方法を呼び出し、クエリを含むテキスト/XMLまたはアプリケーション/XMLリクエストエンティティを含みます。

o The search arbiter performs the query.

o 検索アービターはクエリを実行します。

o The search arbiter sends the results of the query back to the client in the response. The server MUST send an entity that matches the WebDAV multistatus format ([RFC4918], Section 13).

o 検索アービターは、クエリの結果を応答でクライアントに送り返します。サーバーは、WebDAV MultiStatus形式([RFC4918]、セクション13)に一致するエンティティを送信する必要があります。

2. The SEARCH Method
2. 検索方法
2.1. Overview
2.1. 概要

The client invokes the SEARCH method to initiate a server-side search. The body of the request defines the query. The server MUST emit an entity matching the WebDAV multistatus format ([RFC4918], Section 13).

クライアントは、サーバー側の検索を開始するために検索方法を呼び出します。リクエストの本文はクエリを定義します。サーバーは、WebDAV MultiStatus形式([RFC4918]、セクション13)に一致するエンティティを発する必要があります。

The SEARCH method plays the role of transport mechanism for the query and the result set. It does not define the semantics of the query. The type of the query defines the semantics.

検索方法は、クエリと結果セットの輸送メカニズムの役割を果たします。クエリのセマンティクスを定義しません。クエリのタイプは、セマンティクスを定義します。

SEARCH is a safe method; it does not have any significance other than executing a query and returning a query result (see [RFC2616], Section 9.1.1).

検索は安全な方法です。クエリを実行してクエリの結果を返すこと以外には重要ではありません([RFC2616]、セクション9.1.1を参照)。

2.2. The Request
2.2. リクエスト

The client invokes the SEARCH method on the resource named by the Request-URI.

クライアントは、Request-URIによって名前が付けられたリソースに検索方法を呼び出します。

2.2.1. The Request-URI
2.2.1. リクエスト-uri

The Request-URI identifies the search arbiter. Any HTTP resource may function as search arbiter. It is not a new type of resource (in the sense of DAV:resourcetype as defined in [RFC4918], Section 15.9), nor does it have to be a WebDAV-compliant resource.

リクエスト-URIは、検索アービターを識別します。HTTPリソースは、検索アービターとして機能する場合があります。それは新しいタイプのリソースではありません(DAVの意味で:[RFC4918]、セクション15.9で定義されているResourceType)は、WebDavに準拠したリソースである必要もありません。

The SEARCH method defines no relationship between the arbiter and the scope of the search; rather, the particular query grammar used in the query defines the relationship. For example, a query grammar may force the Request-URI to correspond exactly to the search scope.

検索方法は、アービターと検索の範囲との間に関係がないことを定義します。むしろ、クエリで使用される特定のクエリ文法は、関係を定義します。たとえば、クエリの文法により、リクエストURIが検索スコープに正確に対応するように強制する場合があります。

2.2.2. The Request Body
2.2.2. リクエスト本文

The server MUST process a text/xml or application/xml request body, and MAY process request bodies in other formats. See [RFC3023] for guidance on packaging XML in requests.

サーバーは、テキスト/XMLまたはアプリケーション/XML要求本体を処理し、他の形式でリクエストボディを処理する必要があります。リクエストのXMLのパッケージングに関するガイダンスについては、[RFC3023]を参照してください。

Marshalling:

マーシャリング:

If a request body with content type text/xml or application/xml is included, it MUST be either a DAV:searchrequest or a DAV:query-schema-discovery XML element. Its single child element identifies the query grammar.

コンテンツタイプテキスト/XMLまたはApplication/XMLを備えたリクエスト本体が含まれている場合、それはDAV:SearchRequestまたはDAV:Query-Schema-Discovery XML要素のいずれかでなければなりません。その単一の子供要素は、クエリの文法を識別します。

For DAV:searchrequest, the definition of search criteria, the result record, and any other details needed to perform the search depend on the individual search grammar.

DAVの場合:SearchRequest、検索基準の定義、結果レコード、および検索の実行に必要なその他の詳細は、個々の検索文法によって異なります。

For DAV:query-schema-discovery, the semantics is defined in Section 4.

DAVの場合:クエリ - シマの発見の場合、セマンティクスはセクション4で定義されています。

Preconditions:

前提条件:

(DAV:search-grammar-discovery-supported): when an XML request body is present and has a DAV:query-schema-discovery document element, the server MUST support the query schema discovery mechanism described in Section 4.

(DAV:Search-Grammar-Discovery-Supported):XMLリクエスト本文が存在し、DAV:クエリスキーマ分散ドキュメント要素がある場合、サーバーはセクション4で説明されているクエリスキーマ発見メカニズムをサポートする必要があります。

(DAV:search-grammar-supported): when an XML request body is present, the search grammar identified by the document element's child element must be a supported search grammar.

(DAV:Search-Grammar-Supported):XML要求本体が存在する場合、ドキュメント要素の子要素によって識別される検索文法は、サポートされている検索文法でなければなりません。

(DAV:search-multiple-scope-supported): if the SEARCH request specified multiple scopes, the server MUST support this optional feature.

(DAV:Search-Multiple-Scope-Supported):検索要求が複数のスコープを指定した場合、サーバーはこのオプション機能をサポートする必要があります。

(DAV:search-scope-valid): the supplied search scope must be valid. There can be various reasons for a search scope to be invalid, including unsupported URI schemes and communication problems. Servers MAY add [RFC4918] compliant DAV:response elements as content to the condition element indicating the precise reason for the failure.

(DAV:Search-Scope-Valid):付属の検索スコープは有効でなければなりません。サポートされていないURIスキームやコミュニケーションの問題など、検索範囲が無効になるさまざまな理由があります。サーバーは、[RFC4918]に準拠したDAV:条件要素へのコンテンツとしての応答要素を追加する場合があります。

2.3. The Successful 207 (Multistatus) Response
2.3. 成功した207(MultiStatus)応答

If the server returns 207 (Multistatus), then the search proceeded successfully, and the response MUST use the WebDAV multistatus format ([RFC4918], Section 13). The results of this method SHOULD NOT be cached.

サーバーが207(MultiStatus)を返す場合、検索は正常に進行し、応答はWebDAV MultiStus形式([RFC4918]、セクション13)を使用する必要があります。この方法の結果をキャッシュしないでください。

There MUST be one DAV:response for each resource that matched the search criteria. For each such response, the DAV:href element contains the URI of the resource, and the response MUST include a DAV:propstat element.

1つのDAVが必要です。検索基準に一致する各リソースの応答。そのような応答ごとに、DAV:HREF要素にはリソースのURIが含まれ、応答にはDAV:PropStat要素が含まれている必要があります。

Note: the WebDAV multistatus format requires at least one DAV: response child element. This specification relaxes that restriction so that empty results can be represented.

注:WebDAV MultiStatus形式には、少なくとも1つのDAV:Response Child Elementが必要です。この仕様はその制限を緩和して、空の結果を表現できるようにします。

Note that for each matching resource found, there may be multiple URIs within the search scope mapped to it. In this case, a server SHOULD report only one of these URIs. Clients can use the live property DAV:resource-id, defined in Section 3.1 of [WEBDAV-BIND] to identify possible duplicates.

見つかった一致するリソースごとに、検索スコープ内にマッピングされた複数のURIがある可能性があることに注意してください。この場合、サーバーはこれらのURIの1つのみを報告する必要があります。クライアントは、[WebDav-bind]のセクション3.1で定義されているLive Property DAV:Resource-IDを使用して、考えられる複製を特定できます。

2.3.1. Result Set Truncation
2.3.1. 結果セットの切り捨て

A server MAY limit the number of resources in a reply, for example, to limit the amount of resources expended in processing a query. If it does so, the reply MUST use status code 207, return a DAV: multistatus response body, and indicate a status of 507 (Insufficient Storage) for the search arbiter URI. It SHOULD include the partial results.

サーバーは、たとえば、クエリの処理に消費されるリソースの量を制限するために、返信のリソースの数を制限する場合があります。そうする場合、返信はステータスコード207を使用し、DAV:MultiStatus応答本体を返し、検索アービターURIの507(不十分なストレージ)のステータスを示しなければなりません。部分的な結果を含める必要があります。

When a result set is truncated, there may be many more resources that satisfy the search criteria but that were not examined.

結果セットが切り捨てられている場合、検索基準を満たすが検討されていないリソースがさらに増える可能性があります。

If partial results are included and the client requested an ordered result set in the original request, then any partial results that are returned MUST be ordered as the client directed.

部分的な結果が含まれており、クライアントが元のリクエストで順序付けられた結果を要求した場合、返される部分的な結果はクライアントの指示として注文する必要があります。

Note that the partial results returned MAY be any subset of the result set that would have satisfied the original query.

返された部分的な結果は、元のクエリを満たしていた結果セットの任意のサブセットである可能性があることに注意してください。

2.3.2. Extending the PROPFIND Response
2.3.2. Propfind Responseを拡張します

A response MAY include more information than PROPFIND defines, so long as the extra information does not invalidate the PROPFIND response. Query grammars SHOULD define how the response matches the PROPFIND response.

応答には、追加の情報がPropfind応答を無効にしない限り、Propfindが定義するよりも多くの情報が含まれる場合があります。クエリ文法は、応答がPropfind Responseとどのように一致するかを定義する必要があります。

2.3.3. Example: A Simple Request and Response
2.3.3. 例:簡単なリクエストと応答

This example demonstrates the request and response framework. The following XML document shows a simple (hypothetical) natural language query. The name of the query element is natural-language-query in the XML namespace "http://example.com/foo". The actual query is "Find the locations of good Thai restaurants in Los Angeles". For this hypothetical query, the arbiter returns two properties for each selected resource.

この例は、リクエストと応答のフレームワークを示しています。次のXMLドキュメントは、単純な(仮説的な)自然言語クエリを示しています。クエリ要素の名前は、XMLネームスペース「http://example.com/foo」の自然言語クエリです。実際のクエリは、「ロサンゼルスの良いタイのレストランの場所を見つける」です。この仮想クエリでは、アービターは選択した各リソースの2つのプロパティを返します。

>> Request:

>>リクエスト:

   SEARCH / HTTP/1.1
   Host: example.org
   Content-Type: application/xml; charset="utf-8"
   Content-Length: 252
        
   <?xml version="1.0" encoding="UTF-8"?>
   <D:searchrequest xmlns:D="DAV:" xmlns:F="http://example.com/foo">
     <F:natural-language-query>
       Find the locations of good Thai restaurants in Los Angeles
     </F:natural-language-query>
   </D:searchrequest>
        

>> Response:

>>応答:

   HTTP/1.1 207 Multi-Status
   Content-Type: text/xml; charset="utf-8"
   Content-Length: 429
        
   <?xml version="1.0" encoding="UTF-8"?>
   <D:multistatus xmlns:D="DAV:"
      xmlns:R="http://example.org/propschema">
     <D:response>
       <D:href>http://siamiam.example/</D:href>
       <D:propstat>
         <D:prop>
           <R:location>259 W. Hollywood</R:location>
           <R:rating><R:stars>4</R:stars></R:rating>
         </D:prop>
         <D:status>HTTP/1.1 200 OK</D:status>
       </D:propstat>
     </D:response>
   </D:multistatus>
        
2.3.4. Example: Result Set Truncation
2.3.4. 例:結果セットの切り捨て

In the example below, the server returns just two results, and then indicates that the result is truncated by adding a DAV:response element for the search arbiter resource with 507 (Insufficient Storage) status.

以下の例では、サーバーは2つの結果のみを返し、507(ストレージが不十分)ステータスを持つ検索アービターリソースのDAV:応答要素を追加することにより、結果が切り捨てられることを示します。

>> Request:

>>リクエスト:

   SEARCH / HTTP/1.1
   Host: example.net
   Content-Type: text/xml; charset="utf-8"
   Content-Length: xxx
        

... the query goes here ...

...クエリはここにあります...

>> Response:

>>応答:

   HTTP/1.1 207 Multistatus
   Content-Type: text/xml; charset="utf-8"
   Content-Length: 640
        
   <?xml version="1.0" encoding="utf-8"?>
   <D:multistatus xmlns:D="DAV:">
     <D:response>
       <D:href>http://www.example.net/sounds/unbrokenchain.au</D:href>
       <D:status>HTTP/1.1 200 OK</D:status>
     </D:response>
     <D:response>
       <D:href>http://tech.mit.example/arch96/photos/Lesh1.jpg</D:href>
       <D:status>HTTP/1.1 200 OK</D:status>
     </D:response>
     <D:response>
       <D:href>http://example.net</D:href>
       <D:status>HTTP/1.1 507 Insufficient Storage</D:status>
       <D:responsedescription xml:lang="en">
          Only first two matching records were returned
       </D:responsedescription>
     </D:response>
   </D:multistatus>
        
2.4. Unsuccessful Responses
2.4. 失敗した応答

If a SEARCH request could not be executed or the attempt to execute it resulted in an error, the server MUST indicate the failure with an appropriate status code and SHOULD add a response body as defined in Section 1.6 of [RFC3253]. Unless otherwise stated, condition elements are empty; however, specific condition elements MAY include additional child elements that describe the error condition in more detail.

検索要求を実行できなかった場合、またはそれを実行しようとするとエラーが発生した場合、サーバーは適切なステータスコードで障害を示し、[RFC3253]のセクション1.6で定義されている応答本体を追加する必要があります。特に明記しない限り、条件要素は空です。ただし、特定の条件要素には、エラー条件をより詳細に説明する追加の子要素が含まれる場合があります。

2.4.1. Example of an Invalid Scope
2.4.1. 無効な範囲の例

In the example below, a request failed because the scope identifies a HTTP resource that was not found.

以下の例では、スコープが見つからなかったHTTPリソースを識別するため、リクエストが失敗しました。

>> Response:

>>応答:

   HTTP/1.1 409 Conflict
   Content-Type: text/xml; charset="utf-8"
   Content-Length: 275
        
   <?xml version="1.0" encoding="UTF-8"?>
   <d:error xmlns:d="DAV:">
     <d:search-scope-valid>
       <d:response>
         <d:href>http://www.example.com/X</d:href>
         <d:status>HTTP/1.1 404 Object Not Found</d:status>
       </d:response>
     </d:search-scope-valid>
   </d:error>
        
3. Discovery of Supported Query Grammars
3. サポートされているクエリ文法の発見

Servers MUST support discovery of the query grammars supported by a search arbiter resource.

サーバーは、検索アービターリソースによってサポートされているクエリ文法の発見をサポートする必要があります。

Clients can determine which query grammars are supported by an arbiter by invoking OPTIONS on the search arbiter. If the resource supports SEARCH, then the DASL response header will appear in the response. The DASL response header lists the supported grammars.

クライアントは、検索アービターにオプションを呼び出すことにより、アービターによってサポートされるクエリグラマーを決定できます。リソースが検索をサポートする場合、DASL応答ヘッダーが応答に表示されます。DASL応答ヘッダーには、サポートされている文法がリストされています。

Servers supporting the WebDAV extensions [RFC3253] and/or [RFC3744] MUST also:

WebDAV拡張機能[RFC3253]および/または[RFC3744]をサポートするサーバーも次のとおりです。

o report SEARCH in the live property DAV:supported-method-set for all search arbiter resources, and

o Live Property DAVでのレポート検索:すべての検索アービターリソースのサポートメソッドセット、および

o support the live property DAV:supported-query-grammar-set as defined in Section 3.3.

o Live Property DAVをサポート:セクション3.3で定義されているサポートクリーグラマーセット。

3.1. The OPTIONS Method
3.1. オプション方法

The OPTIONS method allows the client to discover if a resource supports the SEARCH method and to determine the list of search grammars supported for that resource.

オプション方法により、クライアントはリソースが検索方法をサポートするかどうかを発見し、そのリソースでサポートされている検索文法のリストを決定できます。

The client issues the OPTIONS method against a resource named by the Request-URI. This is a normal invocation of OPTIONS as defined in Section 9.2 of [RFC2616].

クライアントは、Request-URIによって名前が付けられたリソースに対してオプションメソッドを発行します。これは、[RFC2616]のセクション9.2で定義されているオプションの通常の呼び出しです。

If a resource supports the SEARCH method, then the server MUST list SEARCH in the Allow header defined in Section 14.7 of [RFC2616].

リソースが検索方法をサポートする場合、サーバーは[RFC2616]のセクション14.7で定義された許容ヘッダーに検索をリストする必要があります。

DASL servers MUST include the DASL header in the OPTIONS response. This header identifies the search grammars supported by that resource.

DASLサーバーは、Options ResponseにDASLヘッダーを含める必要があります。このヘッダーは、そのリソースでサポートされている検索文法を識別します。

3.2. The DASL Response Header
3.2. DASL応答ヘッダー
   DASLHeader = "DASL" ":" 1#Coded-URL
   Coded-URL  = <defined in Section 10.1 of [RFC4918]>
        

(This grammar uses the augmented BNF format defined in Section 2.1 of [RFC2616].)

(この文法は、[RFC2616]のセクション2.1で定義されている拡張BNF形式を使用します。)

The DASL response header indicates server support for query grammars in the OPTIONS method. The value is a list of URIs that indicate the types of supported grammars. Note that although the URIs can be used to identify each supported search grammar, there is not necessarily a direct relationship between the URI and the XML element name that can be used in XML based SEARCH requests (the element name itself is identified by its namespace name (a URI reference) and the element's local name).

DASL応答ヘッダーは、オプションメソッドのクエリ文法のサーバーサポートを示します。値は、サポートされている文法の種類を示すURIのリストです。URIはサポートされている各検索文法を識別するために使用できますが、XMLベースの検索要求で使用できるURIとXML要素名の間に必ずしも直接的な関係があるとは限らないことに注意してください(要素名自体はその名前空間名で識別されます(URIリファレンス)および要素のローカル名)。

Note: this header field value is defined as a comma-separated list ([RFC2616], Section 4.2); thus, grammar URIs can appear in multiple header instances, separated by commas, or both.

注:このヘッダーフィールド値は、コンマ分離リスト([RFC2616]、セクション4.2)として定義されます。したがって、文法は、コンマまたはその両方で区切られた複数のヘッダーインスタンスに表示される可能性があります。

For example:

例えば:

   DASL: <http://foobar.example/syntax1>,
         <http://akuma.example/syntax2>, <DAV:basicsearch>
   DASL: <http://example.com/foo/natural-language-query>
        
3.3. DAV:supported-query-grammar-set (Protected)
3.3. DAV:サポートクリー - グラマーセット(保護)

This WebDAV property is required for any server supporting either [RFC3253] and/or [RFC3744] and identifies the XML-based query grammars that are supported by the search arbiter resource.

このWebDAVプロパティは、[RFC3253]および/または[RFC3744]のいずれかをサポートするサーバーに必要であり、検索アービターリソースでサポートされているXMLベースのクエリグラマーを識別します。

   <!ELEMENT supported-query-grammar-set (supported-query-grammar*)>
   <!ELEMENT supported-query-grammar (grammar)>
   <!ELEMENT grammar ANY>
   <!-- ANY value: a query grammar element type -->
        
3.4. Example: Grammar Discovery
3.4. 例:文法発見

This example shows that the server supports search on the /somefolder resource with the query grammars: DAV:basicsearch, http://foobar.example/syntax1 and http://akuma.example/syntax2. Note that servers supporting WebDAV SEARCH MUST support DAV:basicsearch.

この例は、サーバーがクエリ文法で/somefolderリソースの検索をサポートしていることを示しています:dav:basicsearch、http://foobar.example/syntax1およびhttp://akuma.example/syntax2。WebDAV検索をサポートするサーバーは、DAV:basicsearchをサポートする必要があることに注意してください。

>> Request:

>>リクエスト:

OPTIONS /somefolder HTTP/1.1 Host: example.org

オプション /somefolder http /1.1ホスト:example.org

>> Response:

>>応答:

   HTTP/1.1 200 OK
   Allow: OPTIONS, GET, HEAD, POST, PUT, DELETE, TRACE, COPY, MOVE
   Allow: MKCOL, PROPFIND, PROPPATCH, LOCK, UNLOCK, SEARCH
   DASL: <DAV:basicsearch>
   DASL: <http://foobar.example/syntax1>, <http://akuma.example/syntax2>
        

This example shows the equivalent taking advantage of a server's support for DAV:supported-method-set and DAV:supported-query-grammar-set.

この例は、DAVのサーバーのサポートを利用して、サポートされたメソッドセットとDAV:サポートクリー - グラマーセットを利用していることを示しています。

>> Request:

>>リクエスト:

   PROPFIND /somefolder HTTP/1.1
   Host: example.org
   Depth: 0
   Content-Type: text/xml; charset="utf-8"
   Content-Length: 165
        
   <?xml version="1.0" encoding="UTF-8" ?>
   <propfind xmlns="DAV:">
     <prop>
       <supported-query-grammar-set/>
       <supported-method-set/>
     </prop>
   </propfind>
        

>> Response:

>>応答:

   HTTP/1.1 207 Multi-Status
   Content-Type: text/xml; charset="utf-8"
   Content-Length: 1349
        

<?xml version="1.0" encoding="utf-8" ?> <multistatus xmlns="DAV:"> <response> <href>http://example.org/somefolder</href> <propstat> <prop> <supported-query-grammar-set> <supported-query-grammar> <grammar><basicsearch/></grammar> </supported-query-grammar> <supported-query-grammar> <grammar><syntax1 xmlns="http://foobar.example/"/></grammar> </supported-query-grammar> <supported-query-grammar> <grammar><syntax2 xmlns="http://akuma.example/"/></grammar> </supported-query-grammar> </supported-query-grammar-set> <supported-method-set> <supported-method name="COPY" /> <supported-method name="DELETE" /> <supported-method name="GET" /> <supported-method name="HEAD" /> <supported-method name="LOCK" /> <supported-method name="MKCOL" /> <supported-method name="MOVE" /> <supported-method name="OPTIONS" /> <supported-method name="POST" /> <supported-method name="PROPFIND" /> <supported-method name="PROPPATCH" /> <supported-method name="PUT" /> <supported-method name="SEARCH" /> <supported-method name="TRACE" /> <supported-method name="UNLOCK" /> </supported-method-set> </prop> <status>HTTP/1.1 200 OK</status> </propstat> </response> </multistatus> Note that the query grammar element names marshalled as part of the DAV:supported-query-grammar-set can be directly used as element names in an XML-based query.

<?xml version = "1.0" encoding = "utf-8"?> <multistatus xmlns = "dav:"> <response> <href> http://example.org/somefolder </href> <propstat> <prop> <Support-query-grammar-set> <supported-query-grammar> <grammar> <basicsearch/> </grammar> </supported-query-grammar> <grammar> <syntax1 xmlns ="http://foobar.example/"/> </grammar> </supported-query-grammar> <supported-query-grammar> <grammar> <syntax2 xmlns = "http://akuma.example/"/>></grammar> </supported-query-grammar> </supported-query-grammar-set> <supported-method-set> <supported-method name = "copy"/> <supported-method name = "delete"/> <supported-method name = "get" /> <supported-method name = "head" /> <supported-method name = "lock" /> <supported-method name = "mkcol" /> <supported-method name= "Move" /> <supported-method name = "options" /> <supported-method name = "post" /> <supported-method name = "propfind" /> <supported-method name = "proppatch" />><supported-method name = "put" /> <supported-method name = "search" /> <supported-method name = "trace" /> <supported-method name = "Unlock" /> < /supported-method-set> </prop> <status> http/1.1 200 ok </status> </propstat> </respons> </multistatus>クエリ文法要素名は、DAVの一部としてマーシャルされていることに注意してください:support-query-grammar--セットは、XMLベースのクエリで要素名として直接使用できます。

4. Query Schema Discovery: QSD
4. クエリスキーマ発見:QSD

Servers MAY support the discovery of the schema for a query grammar.

サーバーは、クエリ文法のスキーマの発見をサポートする場合があります。

The DASL response header and the DAV:supported-query-grammar-set property provide means for clients to discover the set of query grammars supported by a resource. This alone is not sufficient information for a client to generate a query. For example, the DAV: basicsearch grammar defines a set of queries consisting of a set of operators applied to a set of properties and values, but the grammar itself does not specify which properties may be used in the query. QSD for the DAV:basicsearch grammar allows a client to discover the set of properties that are searchable, selectable, and sortable. Moreover, although the DAV:basicsearch grammar defines a minimal set of operators, it is possible that a resource might support additional operators in a query. For example, a resource might support an optional operator that can be used to express content-based queries in a proprietary syntax. QSD allows a client to discover these operators and their syntax. The set of discoverable quantities will differ from grammar to grammar, but each grammar can define a means for a client to discover what can be discovered.

DASL Response HeaderおよびDAV:Support-Query-Grammar-Setプロパティは、クライアントがリソースでサポートされているクエリ文法のセットを発見する手段を提供します。これだけでは、クライアントがクエリを生成するのに十分な情報ではありません。たとえば、DAV:Basicsearch Grammarは、一連のプロパティと値に適用される一連のオペレーターで構成される一連のクエリを定義しますが、文法自体はクエリで使用できるプロパティを指定していません。DAVのQSD:Basicsearch Grammarを使用すると、クライアントは検索可能、選択可能、ソート可能な一連のプロパティを発見できます。さらに、DAV:Basicsearch Grammarは最小限の演算子セットを定義していますが、リソースがクエリで追加のオペレーターをサポートする可能性があります。たとえば、リソースは、独自の構文でコンテンツベースのクエリを表現するために使用できるオプションのオペレーターをサポートする場合があります。QSDを使用すると、クライアントはこれらのオペレーターとその構文を発見できます。発見可能な数量のセットは文法によって異なりますが、それぞれの文法は、クライアントが発見できるものを発見する手段を定義できます。

In general, the schema for a given query grammar depends on both the resource (the arbiter) and the scope. A given resource might have access to one set of properties for one potential scope, and another set for a different scope. For example, consider a server able to search two distinct collections: one holding cooking recipes, the other design documents for nuclear weapons. While both collections might support properties such as author, title, and date, the first might also define properties such as calories and preparation time, while the second defined properties such as yield and applicable patents. Two distinct arbiters indexing the same collection might also have access to different properties. For example, the recipe collection mentioned above might also be indexed by a value-added server that also stored the names of chefs who had tested the recipe. Note also that the available query schema might also depend on other factors, such as the identity of the principal conducting the search, but these factors are not exposed in this protocol.

一般に、特定のクエリ文法のスキーマは、リソース(アービター)とスコープの両方に依存します。特定のリソースは、1つの潜在的なスコープに対して1つのプロパティセットにアクセスし、別のスコープに別のセットにアクセスできる場合があります。たとえば、2つの異なるコレクションを検索できるサーバーを検討します。1つは調理レシピを保持し、もう1つは核兵器の設計文書です。両方のコレクションは著者、タイトル、日付などのプロパティをサポートする場合がありますが、最初のコレクションはカロリーや準備時間などのプロパティを定義する場合もありますが、収量や適用される特許などの2番目の定義されたプロパティも定義できます。同じコレクションをインデックスする2つの異なるアーティバーも、異なるプロパティにアクセスできる場合があります。たとえば、上記のレシピコレクションは、レシピをテストしたシェフの名前も保存した付加価値サーバーによってインデックス化される場合があります。また、利用可能なクエリスキーマは、検索を実施する元本のアイデンティティなど、他の要因にも依存する可能性がありますが、これらの要因はこのプロトコルでは露出されていません。

4.1. Additional SEARCH Semantics
4.1. 追加の検索セマンティクス

Each query grammar supported by DASL defines its own syntax for expressing the possible query schema. A client retrieves the schema for a given query grammar on an arbiter resource with a given scope by invoking the SEARCH method on that arbiter with that grammar and scope and with a root element of DAV:query-schema-discovery rather than DAV:searchrequest.

DASLによってサポートされる各クエリ文法は、可能なクエリスキーマを表現するための独自の構文を定義します。クライアントは、その文法とその文法とdav:query-schema-discoveryのルート要素でそのアービターの検索方法を呼び出すことにより、特定の範囲のアービターリソースの特定のクエリ文法のスキーマを再取得します:dav:search-request。

Marshalling:

マーシャリング:

The request body MUST be a DAV:query-schema-discovery element.

リクエスト本体は、dav:query-schema-discovery要素でなければなりません。

      <!ELEMENT query-schema-discovery ANY>
      <!-- ANY value: XML element specifying the query grammar
                      and the scope -->
        

The response body takes the form of a DAV:multistatus element ([RFC4918], Section 13), where DAV:response is extended to hold the returned query grammar inside a DAV:query-schema container element.

応答本体は、DAV:MultiStatus Element([RFC4918]、セクション13)の形を取得します。DAV:応答は、DAV:Query-schemaコンテナ要素内に返されたクエリ文法を保持するように拡張されます。

      <!ELEMENT response (href, status, query-schema?,
        responsedescription?) >
      <!ELEMENT query-schema ANY>
        

The content of this container is an XML element whose name and syntax depend upon the grammar, and whose value may (and likely will) vary depending upon the grammar, arbiter, and scope.

このコンテナの内容は、名前と構文が文法に依存するXML要素であり、その値は文法、アービター、および範囲によって異なる場合があります(そしておそらくそうなる可能性が高い)。

4.1.1. Example of Query Schema Discovery
4.1.1. クエリスキーマ発見の例

In this example, the arbiter is recipes.example, the grammar is DAV: basicsearch, the scope is also recipes.example.

この例では、アービターはレシピです。例の場合、文法はdav:basicsearch、スコープはレシピです。例です。

>> Request:

>>リクエスト:

   SEARCH / HTTP/1.1
   Host: recipes.example
   Content-Type: application/xml; charset="utf-8"
   Content-Length: 258
        
   <?xml version="1.0"?>
   <query-schema-discovery xmlns="DAV:">
     <basicsearch>
       <from>
         <scope>
           <href>http://recipes.example</href>
           <depth>infinity</depth>
         </scope>
       </from>
     </basicsearch>
   </query-schema-discovery>
        

>> Response:

>>応答:

   HTTP/1.1 207 Multistatus
   Content-Type: application/xml; charset="utf-8"
   Content-Length: xxx
        
   <?xml version="1.0"?>
   <multistatus xmlns="DAV:">
     <response>
       <href>http://recipes.example</href>
       <status>HTTP/1.1 200 OK</status>
       <query-schema>
         <basicsearchschema>
           <!-- (See Section 5.19 for
           the actual contents) -->
         </basicsearchschema>
       </query-schema>
     </response>
   </multistatus>
        

The query schema for DAV:basicsearch is defined in Section 5.19.

DAV:Basicsearchのクエリスキーマは、セクション5.19で定義されています。

5. The DAV:basicsearch Grammar
5. DAV:Basicsearch Grammar
5.1. Introduction
5.1. はじめに

DAV:basicsearch uses an extensible XML syntax that allows clients to express search requests that are generally useful for WebDAV scenarios. DASL-extended servers MUST accept this grammar, and MAY accept other grammars.

DAV:Basicsearchは、クライアントが一般的にWebDAVシナリオに役立つ検索要求を表現できるようにする拡張可能なXML構文を使用します。DASLが拡張したサーバーは、この文法を受け入れ、他の文法を受け入れる必要があります。

DAV:basicsearch has several components:

DAV:Basicsearchにはいくつかのコンポーネントがあります:

o DAV:select provides the result record definition.

o DAV:選択レコード定義を選択します。

o DAV:from defines the scope.

o DAV:スコープから定義します。

o DAV:where defines the criteria.

o DAV:ここで、基準を定義します。

o DAV:orderby defines the sort order of the result set.

o DAV:Orderbyは、結果セットの並べ替え順序を定義します。

o DAV:limit provides constraints on the query as a whole.

o DAV:制限は、クエリ全体に制約を提供します。

5.2. The DAV:basicsearch DTD
5.2. DAV:Basicsearch DTD
   <!-- "basicsearch" element -->
        
   <!ELEMENT basicsearch   (select, from, where?, orderby?, limit?) >
        
   <!-- "select" element -->
        
   <!ELEMENT select        (allprop | prop) >
        
   <!-- "from" element -->
        
   <!ELEMENT from          (scope+) >
   <!ELEMENT scope         (href, depth, include-versions?) >
   <!ELEMENT include-versions EMPTY >
        
   <!-- "where" element -->
        
   <!ENTITY % comp_ops     "eq | lt | gt| lte | gte">
   <!ENTITY % log_ops      "and | or | not">
   <!ENTITY % special_ops  "is-collection | is-defined |
                            language-defined | language-matches">
   <!ENTITY % string_ops   "like">
   <!ENTITY % content_ops  "contains">
        
   <!ENTITY % all_ops      "%comp_ops; | %log_ops; | %special_ops; |
                            %string_ops; | %content_ops;">
        
   <!ELEMENT where         ( %all_ops; ) >
        
   <!ELEMENT and           ( %all_ops; )+ >
        
   <!ELEMENT or            ( %all_ops; )+ >
        
   <!ELEMENT not           ( %all_ops; ) >
        
   <!ELEMENT lt            (prop, (literal|typed-literal)) >
   <!ATTLIST lt            caseless   (yes|no) #IMPLIED>
        
   <!ELEMENT lte           (prop, (literal|typed-literal)) >
   <!ATTLIST lte           caseless   (yes|no) #IMPLIED>
        
   <!ELEMENT gt            (prop, (literal|typed-literal)) >
   <!ATTLIST gt            caseless   (yes|no) #IMPLIED>
        
   <!ELEMENT gte           (prop, (literal|typed-literal)) >
   <!ATTLIST gte           caseless   (yes|no) #IMPLIED>
        
   <!ELEMENT eq            (prop, (literal|typed-literal)) >
   <!ATTLIST eq            caseless   (yes|no) #IMPLIED>
        
   <!ELEMENT literal       (#PCDATA)>
   <!ELEMENT typed-literal (#PCDATA)>
   <!ATTLIST typed-literal xsi:type CDATA #IMPLIED>
        
   <!ELEMENT is-collection EMPTY >
   <!ELEMENT is-defined    (prop) >
        
   <!ELEMENT language-defined    (prop) >
   <!ELEMENT language-matches    (prop, literal) >
        
   <!ELEMENT like          (prop, literal) >
   <!ATTLIST like          caseless   (yes|no) #IMPLIED>
        
   <!ELEMENT contains      (#PCDATA)>
        
   <!-- "orderby" element -->
        
   <!ELEMENT orderby       (order+) >
   <!ELEMENT order         ((prop | score), (ascending | descending)?)>
   <!ATTLIST order         caseless   (yes|no) #IMPLIED>
   <!ELEMENT ascending     EMPTY>
   <!ELEMENT descending    EMPTY>
        
   <!-- "limit" element -->
        
   <!ELEMENT limit         (nresults) >
   <!ELEMENT nresults      (#PCDATA) >
        
5.2.1. Example Query
5.2.1. クエリの例

This query retrieves the content length values for all resources located under the server's "/container1/" URI namespace whose length exceeds 10000 sorted ascending by size.

このクエリは、サーバーの「/containter1/」URIネームスペースの下にあるすべてのリソースのコンテンツ長い値を取得します。

   <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:scope>
       </d:from>
       <d:where>
         <d:gt>
           <d:prop><d:getcontentlength/></d:prop>
           <d:literal>10000</d:literal>
         </d:gt>
       </d:where>
       <d:orderby>
         <d:order>
           <d:prop><d:getcontentlength/></d:prop>
           <d:ascending/>
         </d:order>
       </d:orderby>
     </d:basicsearch>
   </d:searchrequest>
        
5.3. DAV:select
5.3. DAV:選択

DAV:select defines the result record, which is a set of properties and values. This document defines two possible values: DAV:allprop and DAV:prop, both defined in Section 14 of [RFC4918].

DAV:[プロパティと値のセット]である結果レコードを選択します。このドキュメントでは、2つの可能な値を定義します。DAV:ALLPROPとDAV:PROP。どちらも[RFC4918]のセクション14で定義されています。

5.4. DAV:from
5.4. DAV:from
   <!ELEMENT scope            (href, depth, include-versions?) >
   <!ELEMENT include-versions EMPTY >
        

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:クエリ範囲を定義します。これには、1つ以上のDAV:スコープ要素が含まれています。複数のスコープ要素のサポートはオプションですが、サーバーは、サポートできない場合、複数のDAV:スコープ要素を指定する要求に失敗する必要があります(セクション2.2.2、前提条件DAV:Search-Multiple-Scope-Supportedを参照)。スコープ要素には、必須のDAV:HREFおよびDAV:深度要素が含まれています。

DAV:href indicates the URI reference ([RFC3986], Section 4.1) to use as a scope.

DAV:HREFは、範囲として使用するURI参照([RFC3986]、セクション4.1)を示します。

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 collection and its immediate children. When it is "infinity", it includes the collection and all its progeny.

スコープがコレクションの場合、DAV:深さが「0」の場合、検索にはコレクションのみが含まれます。「1」の場合、検索にはコレクションとその直接の子供が含まれます。「無限」の場合、コレクションとそのすべての子孫が含まれます。

When the scope is not a collection, the depth is ignored and the search applies just to the resource itself.

スコープがコレクションではない場合、深さは無視され、検索はリソース自体に適用されます。

If the server supports WebDAV Redirect Reference Resources ([RFC4437]) and the search scope contains a redirect reference resource, then it applies only to that resource, not to its target.

サーバーがWebDAVリダイレクトリファレンスリソース([RFC4437])をサポートし、検索スコープにリダイレクトリファレンスリソースが含まれている場合、ターゲットではなくそのリソースにのみ適用されます。

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 (see Section 2.2.2, precondition DAV:search-scope-valid).

Child Element DAV:include-versionsが存在する場合、検索スコープには、すべてのバージョン制御されたリソースのすべてのバージョン([RFC3253]、セクション2.2.1を参照)が含まれます。バージョン化をサポートするが、DAVをサポートしないサーバー:include-versionsフィーチャは、クエリで使用される場合、エラーを通知する必要があります(セクション2.2.2、Precondition dav:search-scope-validを参照)。

5.4.1. Relationship to the Request-URI
5.4.1. リクエストウリとの関係

If the DAV:scope element is a URI ([RFC3986], Section 3), the scope is exactly that URI.

DAV:スコープ要素がURI([RFC3986]、セクション3)の場合、スコープはまさにそのURIです。

If the DAV:scope element is a relative reference ([RFC3986], Section 4.2), the scope is taken to be relative to the Request-URI.

DAV:スコープ要素が相対的な参照([RFC3986]、セクション4.2)である場合、スコープはリクエスト-URIに関連すると見なされます。

5.4.2. Scope
5.4.2. 範囲

A Scope can be an arbitrary URI reference.

スコープは、任意のURIリファレンスにすることができます。

Servers, of course, may support only particular scopes. This may include limitations for particular schemes such as "http:" or "ftp:" or certain URI namespaces. However, WebDAV-compliant search arbiters minimally SHOULD support scopes that match their own URI.

もちろん、サーバーは特定のスコープのみをサポートする場合があります。これには、「HTTP:」または「FTP:」などの特定のスキームの制限が含まれる場合があります。ただし、WebDAVに準拠した検索アービターは、自分のURIに一致するスコープをサポートする必要があります。

5.5. DAV:where
5.5. DAV:ここで

The DAV:where element defines the search condition for inclusion of resources in the result set. The value of this element is an XML element that defines a search operator that evaluates to one of the Boolean truth values TRUE, FALSE, or UNKNOWN. The search operator contained by DAV:where may itself contain and evaluate additional search operators as operands, which in turn may contain and evaluate additional search operators as operands, etc., recursively.

The DAV:要素が結果セットにリソースを含めるための検索条件を定義します。この要素の値は、ブールの真理値のいずれかを評価する検索演算子を定義するXML要素です。DAVが含まれる検索演算子:オペランドとして追加の検索演算子を封じ込めて評価する場合があります。これには、オペランドなどとして追加の検索オペレーターが再帰的に含まれて評価される場合があります。

5.5.1. Use of Three-Valued Logic in Queries
5.5.1. クエリでの3価値のロジックの使用

Each operator defined for use in the where clause that returns a Boolean value MUST evaluate to TRUE, FALSE, or UNKNOWN. The resource under scan is included as a member of the result set if and only if the search condition evaluates to TRUE.

ブール値を返す句で使用するために定義された各オペレーターは、真、false、または不明に評価する必要があります。スキャン中のリソースは、検索条件がtrueに評価された場合にのみ、結果セットのメンバーとして含まれます。

Consult Appendix A for details on the application of three-valued logic in query expressions.

クエリ式での3つの値ロジックの適用に関する詳細については、付録Aを参照してください。

5.5.2. Handling Optional Operators
5.5.2. オプションのオペレーターの処理

If a query contains an operator that is not supported by the server, then the server MUST respond with a 422 (Unprocessable Entity) status code.

クエリにサーバーによってサポートされていないオペレーターが含まれている場合、サーバーは422(未処理のエンティティ)ステータスコードで応答する必要があります。

5.5.3. Treatment of NULL Values
5.5.3. ヌル値の治療

If a PROPFIND for a property value would yield a non-2xx (see Section 10.2 of [RFC2616]) response for that property, then that property is considered NULL.

プロパティ値の提案が、そのプロパティの非2XX([RFC2616]のセクション10.2を参照)を生成する場合、そのプロパティはnullと見なされます。

NULL values are "less than" all other values in comparisons.

ヌル値は、比較の他のすべての値よりも「少ない」です。

Empty strings (zero length strings) are not NULL values. An empty string is "less than" a string with length greater than zero.

空の文字列(ゼロの長さの文字列)はヌル値ではありません。空の文字列は、「ゼロより大きい長さの文字列」です。

The DAV:is-defined operator is defined to test if the value of a property is not NULL.

DAV:is-defined演算子は、プロパティの値がnullでないかどうかをテストするために定義されます。

5.5.4. Treatment of Properties with Mixed/Element Content
5.5.4. 混合/要素含有量による特性の処理

Comparisons of properties that do not have simple types (text-only content) is out of scope for the standard operators defined for DAV: basicsearch and therefore is defined to be UNKNOWN (as per Appendix A). For querying the DAV:resourcetype property, see Section 5.13.

単純なタイプ(テキストのみのコンテンツ)を持たないプロパティの比較は、DAV:Basicsearch用に定義されている標準演算子の範囲外であるため、不明であると定義されています(付録Aに従って)。DAV:ResourceTypeプロパティの照会については、セクション5.13を参照してください。

5.5.5. Example: Testing for Equality
5.5.5. 例:平等のテスト

The example shows a single operator (DAV:eq) applied in the criteria.

この例は、基準に適用された単一の演算子(DAV:EQ)を示しています。

   <d:where xmlns:d='DAV:'>
     <d:eq>
       <d:prop>
         <d:getcontentlength/>
       </d:prop>
       <d:literal>100</d:literal>
     </d:eq>
   </d:where>
        
5.5.6. Example: Relative Comparisons
5.5.6. 例:相対的な比較

The example shows a more complex operation involving several operators (DAV:and, DAV:eq, DAV:gt) applied in the criteria. This DAV:where expression matches those resources of type "image/gif" over 4K in size.

この例は、基準に適用された複数の演算子(DAV:および、DAV:EQ、DAV:GT)を含むより複雑な操作を示しています。このDAV:式が4Kを超えるタイプ「Image/GIF」のリソースと一致します。

   <D:where xmlns:D='DAV:'>
     <D:and>
       <D:eq>
         <D:prop>
           <D:getcontenttype/>
         </D:prop>
         <D:literal>image/gif</D:literal>
       </D:eq>
       <D:gt>
         <D:prop>
           <D:getcontentlength/>
         </D:prop>
         <D:literal>4096</D:literal>
       </D:gt>
     </D:and>
   </D:where>
        
5.6. DAV:orderby
5.6. DAV:Orderby

The DAV:orderby element specifies the ordering of the result set. It contains one or more DAV:order elements, each of which specifies a comparison between two items in the result set. Informally, a comparison specifies a test that determines whether one resource appears before another in the result set. Comparisons are applied in the order they occur in the DAV:orderby element, earlier comparisons being more significant.

DAV:Orderby要素は、結果セットの順序付けを指定します。1つ以上のDAV:順序要素が含まれています。各要素は、結果セットの2つのアイテム間の比較を指定します。非公式には、比較では、結果セットであるリソースが別のリソースの前に表示されるかどうかを決定するテストを指定します。比較は、DAV:Orderby要素で発生する順序で適用され、以前の比較はより重要です。

The comparisons defined here use only a single property from each resource, compared using the same ordering as the DAV:lt operator (ascending) or DAV:gt operator (descending). If neither direction is specified, the default is DAV:ascending.

ここで定義されている比較では、各リソースからの単一のプロパティのみを使用し、DAV:LTオペレーター(上昇)またはDAV:GTオペレーター(降下)と同じ順序を使用して比較されます。どちらの方向が指定されていない場合、デフォルトはdav:昇順です。

In the context of the DAV:orderby element, null values are considered to collate before any actual (i.e., non-null) value, including strings of zero length (this is compatible with [SQL99]).

DAV:Orderby要素のコンテキストでは、null値は、長さがゼロの文字列を含む実際の(つまり、非ヌル)値の前に照合すると見なされます(これは[SQL99]と互換性があります)。

The "caseless" attribute may be used to indicate case-sensitivity for comparisons (Section 5.18).

「Caseless」属性を使用して、比較の症例感度を示すことができます(セクション5.18)。

5.6.1. Example of Sorting
5.6.1. ソートの例

This sort orders first by last name of the author and then by size, in descending order, so that for each author, the largest works appear first.

このソートは、最初に著者の姓によって、次に下降順序でサイズによって注文します。そのため、各著者については、最大の作品が最初に表示されます。

   <d:orderby xmlns:d='DAV:' xmlns:r='http://example.com/ns'>
     <d:order>
       <d:prop><r:lastname/></d:prop>
       <d:ascending/>
     </d:order>
     <d:order>
       <d:prop><d:getcontentlength/></d:prop>
       <d:descending/>
     </d:order>
   </d:orderby>
        
5.7. Boolean Operators: DAV:and, DAV:or, and DAV:not
5.7. ブールオペレーター:dav:and、dav:or、and dav:

The DAV:and operator performs a logical AND operation on the expressions it contains.

DAV:およびオペレーターは、含まれる表現で論理的および操作を実行します。

The DAV:or operator performs a logical OR operation on the values it contains.

DAV:またはオペレーターには、含まれる値に論理的または操作が実行されます。

The DAV:not operator performs a logical NOT operation on the values it contains.

DAV:NOTオペレーターは、含まれる値に論理的でない操作を実行します。

5.8. DAV:eq
5.8. DAV:eq

The DAV:eq operator provides simple equality matching on property values.

DAV:EQオペレーターは、プロパティ値の単純な平等マッチングを提供します。

The "caseless" attribute may be used with this element (Section 5.18).

「Caseless」属性は、この要素で使用できます(セクション5.18)。

5.9. DAV:lt, DAV:lte, DAV:gt, DAV:gte
5.9. dav:lt、dav:lte、dav:gt、dav:gte

The DAV:lt, DAV:lte, DAV:gt, and DAV:gte operators provide comparisons on property values, using less-than, less-than or equal, greater-than, and greater-than or equal, respectively. The "caseless" attribute may be used with these elements (Section 5.18).

DAV:LT、DAV:LTE、DAV:GT、およびDAV:GTEオペレーターは、それぞれ、それぞれよりも少ない、または等しく、より大きい、または等しいまたは等しいものを使用して、プロパティ値の比較を提供します。「Caseless」属性は、これらの要素で使用できます(セクション5.18)。

5.10. DAV:literal
5.10. DAV:文字通り

DAV:literal allows literal values to be placed in an expression.

DAV:リテラルを使用すると、リテラル値を式に配置できます。

White space in literal values is significant in comparisons. For consistency with [RFC4918], clients SHOULD NOT specify the attribute "xml:space" (Section 2.10 of [XML]) to override this behavior.

リテラル値の空白は比較で重要です。[RFC4918]との一貫性のために、クライアントは属性「XML:スペース」([XML]のセクション2.10)を指定して、この動作をオーバーライドすべきではありません。

In comparisons, the contents of DAV:literal SHOULD be treated as string, with the following exceptions:

比較では、DAV:リテラルの内容は、次の例外を除いて、弦として扱う必要があります。

o when operand for a comparison with a DAV:getcontentlength property, it SHOULD be treated as an unsigned integer value (the behavior for values not in this format is undefined),

o DAV:getContentLengthプロパティとの比較のためにオペランドの場合、署名のない整数値として扱う必要があります(この形式ではない値の動作は未定義です)、

o when operand for a comparison with a DAV:creationdate or DAV: getlastmodified property, it SHOULD be treated as a date value in the ISO-8601 subset defined for the DAV:creationdate property (see Section 15.1 of [RFC4918]; the behavior of values not in this format is undefined),

o DAV:CreationDateまたはDAV:GetLastModifiedプロパティとの比較のためにオペランドの場合、DAV:CreationDateプロパティで定義されたISO-8601サブセットの日付値として扱う必要があります([RFC4918]のセクション15.1を参照;この形式ではありません未定義です)、

o when operand for a comparison with a property for which the type is known and when compatible with that type, it MAY be treated according to this type.

o タイプが既知のプロパティとの比較のためにオペランドの場合、およびそのタイプと互換性がある場合、このタイプに従って扱われる場合があります。

5.11. DAV:typed-literal (Optional)
5.11. DAV:タイプ付きリテラル(オプション)

There are situations in which a client may want to force a comparison not to be string-based (as defined for DAV:literal). In these cases, a typed comparison can be enforced by using DAV:typed-literal instead.

クライアントが、弦ベースではないように比較を強制したい状況があります(dav:リテラルのために定義されています)。これらの場合、dav:typed-literalを使用することにより、タイプされた比較を実施できます。

   <!ELEMENT typed-literal (#PCDATA)>
        

The data type is specified using the xsi:type attribute defined in Section 2.6.1 of [XS1]. If the type is not specified, it defaults to "xs:string".

データ型は、[XS1]のセクション2.6.1で定義されているXSI:タイプ属性を使用して指定されます。タイプが指定されていない場合、デフォルトは「xs:string」になります。

A server MUST reject a request using an unknown type with a status of 422 (Unprocessable Entity). It SHOULD reject a request if the value provided in DAV:typed-literal cannot be cast to the specified type.

サーバーは、422のステータス(処理不可能なエンティティ)の未知のタイプを使用して要求を拒否する必要があります。DAV:typed-Literalで提供されている値を指定されたタイプにキャストできない場合、リクエストを拒否する必要があります。

The comparison evaluates to UNKNOWN if the property value cannot be cast to the specified datatype (see [XPATHFUNC], Section 17).

比較は、指定されたデータ型にプロパティ値をキャストできないかどうかを不明に評価します([XpathFunc]、セクション17を参照)。

5.11.1. Example for Typed Numerical Comparison
5.11.1. タイプされた数値比較の例

Consider a set of resources with the dead property "edits" in the namespace "http://ns.example.org":

名前空間「http://ns.example.org」の死んだプロパティ「編集」を持つ一連のリソースを考えてみましょう。

                         +-----+----------------+
                         | URI | property value |
                         +-----+----------------+
                         | /a  | "-1"           |
                         | /b  | "01"           |
                         | /c  | "3"            |
                         | /d  | "test"         |
                         | /e  | (undefined)    |
                         +-----+----------------+
        

The expression

表現

   <lt xmlns="DAV:"
     xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
     xmlns:xs="http://www.w3.org/2001/XMLSchema">
     <prop><edits xmlns="http://ns.example.org"/></prop>
     <typed-literal xsi:type="xs:integer">3</typed-literal>
   </lt>
        

will evaluate to TRUE for the resources "/a" and "/b" (their property values can be parsed as type xs:integer, and the numerical comparison evaluates to true), to FALSE for "/c" (property value is compatible, but numerical comparison evaluates to false), and UNKNOWN for "/d" and "/e" (the property either is undefined, or its value cannot be parsed as xs:integer).

リソース「/a」と「/b」に対してtrueを評価します(それらのプロパティ値は、タイプxs:整数として解析できます。、しかし、数値比較はfalse)、および「/d」と「/e」に対して不明です(プロパティは未定義であるか、その値をxs:integerとして解析することはできません)。

5.12. Support for Matching xml:lang Attributes on Properties
5.12. XMLのマッチングのサポート:プロパティのLang属性

The following two optional operators can be used to express conditions on the language of a property value (as expressed using the xml:lang attribute).

次の2つのオプションの演算子を使用して、プロパティ値の言語に関する条件を表現できます(XML:Lang属性を使用して表現)。

5.12.1. DAV:language-defined (Optional)
5.12.1. DAV:言語定義(オプション)
   <!ELEMENT language-defined (prop)>
        

This operator evaluates to TRUE if the language for the value of the given property is known, FALSE if it isn't, and UNKNOWN if the property itself is not defined.

このオペレーターは、指定されたプロパティの値の言語が既知である場合、そうでない場合は虚偽であり、プロパティ自体が定義されていない場合は不明である場合、Trueに評価します。

5.12.2. DAV:language-matches (Optional)
5.12.2. DAV:言語マッチ(オプション)
   <!ELEMENT language-matches (prop, literal)>
        

This operator evaluates to TRUE if the language for the value of the given property is known and matches the language name given in the <literal> element, FALSE if it doesn't match, and UNKNOWN if the property itself is not defined.

このオペレーターは、指定されたプロパティの値の言語が既知である場合、<リテラル>要素で与えられた言語名、一致しない場合はfalse、プロパティ自体が定義されていないかどうかは不明である場合、Trueに評価します。

Languages are considered to match if they are the same, or if the language of the property value is a sublanguage of the language specified in the <literal> element (see Section 4.3 of [XPATH], "lang function").

言語は、それらが同じである場合、またはプロパティ値の言語が<リテラル>要素で指定された言語のサブライングである場合に一致すると見なされます([XPath]、「Lang Function」のセクション4.3を参照)。

5.12.3. Example of Language-Aware Matching
5.12.3. 言語認識マッチングの例

The expression below will evaluate to TRUE if the property "foobar" exists and its language is either unknown, English, or a sublanguage of English.

以下の式は、「Foobar」のプロパティが存在し、その言語が不明であるか、英語または英語の支持者のいずれかである場合、Trueに評価されます。

   <or xmlns="DAV:">
     <not>
       <language-defined>
         <prop><foobar/></prop>
       </language-defined>
     </not>
     <language-matches>
       <prop><foobar/></prop>
       <literal>en</literal>
     </language-matches>
   </or>
        
5.13. DAV:is-collection
5.13. DAV:IS-Collection

The DAV:is-collection operator allows clients to determine whether a resource is a collection (that is, whether its DAV:resourcetype element contains the element DAV:collection).

DAV:IS-Collectionオペレーターを使用すると、クライアントはリソースがコレクションであるかどうかを判断できます(つまり、DAV:ResourceType要素が要素DAV:コレクションを含むかどうか)。

Rationale: This operator is provided in lieu of defining generic structure queries, which would suffice for this and for many more powerful queries, but seems inappropriate to standardize at this time.

理論的根拠:この演算子は、一般的な構造クエリを定義する代わりに提供されます。これは、これと多くのより強力なクエリに十分であるが、現時点では標準化するのは不適切と思われる。

5.13.1. Example of DAV:is-collection
5.13.1. DAVの例:IS-Collection

This example shows a search criterion that picks out all, and only, the resources in the scope that are collections.

この例は、すべてを選択する検索基準を示しています。

   <where xmlns="DAV:">
     <is-collection/>
   </where>
        
5.14. DAV:is-defined
5.14. DAV:is-defined

The DAV:is-defined operator allows clients to determine whether a property is defined on a resource. The meaning of "defined on a resource" is found in Section 5.5.3.

DAV:IS-Definedオペレーターを使用すると、クライアントはリソース上でプロパティが定義されているかどうかを判断できます。「リソースで定義された」の意味は、セクション5.5.3にあります。

Example:

例:

   <d:is-defined xmlns:d='DAV:' xmlns:x='http://example.com/ns'>
     <d:prop><x:someprop/></d:prop>
   </d:is-defined>
        
5.15. DAV:like
5.15. DAV:好きです

The DAV:like is an optional operator intended to give simple wildcard-based pattern matching ability to clients.

The Dav:同様に、クライアントにシンプルなワイルドカードベースのパターンマッチング機能を提供することを目的としたオプションのオペレーターです。

The operator takes two arguments.

オペレーターは2つの引数を取ります。

The first argument is a DAV:prop element identifying a single property to evaluate.

最初の引数は、評価する単一のプロパティを識別するDAV:Prop要素です。

The second argument is a DAV:literal element that gives the pattern matching string.

2番目の引数は、パターンに一致する文字列を与えるLAV:リテラル要素です。

5.15.1. Syntax for the Literal Pattern
5.15.1. リテラルパターンの構文
   pattern       = [wildcard] 0*( text [wildcard] )
        
   wildcard      = exactlyone / zeroormore
   text          = 1*( character / escapeseq )
        
   exactlyone    = "_"
   zeroormore    = "%"
   escapechar    = "\"
   escapeseq     = escapechar ( exactlyone / zeroormore / escapechar )
        
   ; character: see [XML], Section 2.2, minus wildcard / escapechar
   character     = HTAB / LF / CR ; whitespace
   character     =/ %x20-24 / %x26-5B / %x5D-5E / %x60-D7FF
   character     =/ %xE000-FFFD / %x10000-10FFFF
        

(Note that the ABNF above is defined in terms of Unicode code points ([UNICODE5]); when a query is transmitted as an XML document over WebDAV, these characters are typically encoded in UTF-8 or UTF-16.)

(上記のABNFは、Unicodeコードポイント([Unicode5])の観点から定義されていることに注意してください。クエリがWebDavを介してXMLドキュメントとして送信されると、これらの文字は通常UTF-8またはUTF-16でエンコードされます。)

The value for the literal is composed of wildcards separated by segments of text. Wildcards may begin or end the literal.

リテラルの値は、テキストのセグメントで区切られたワイルドカードで構成されています。ワイルドカードは、文字通りを開始または終了する場合があります。

The "_" wildcard matches exactly one character.

「_」ワイルドカードは、ちょうど1つの文字と一致します。

The "%" wildcard matches zero or more characters.

「%」ワイルドカードは、ゼロ以上の文字と一致します。

The "\" character is an escape sequence so that the literal can include "_" and "%". To include the "\" character in the pattern, the escape sequence "\\" is used.

「\」文字はエスケープシーケンスであるため、リテラルには「_」と「%」を含めることができます。パターンに「\」文字を含めるには、エスケープシーケンス「\\」が使用されます。

5.15.2. Example of DAV:like
5.15.2. DAVの例:いいね

This example shows how a client might use DAV:like to identify those resources whose content type was a subtype of image.

この例は、クライアントがDAVを使用する方法を示しています。コンテンツタイプが画像のサブタイプであるリソースを識別するのが好きです。

   <D:where xmlns:D='DAV:'>
     <D:like caseless="yes">
       <D:prop><D:getcontenttype/></D:prop>
       <D:literal>image/%</D:literal>
     </D:like>
   </D:where>
        
5.16. DAV:contains
5.16. dav:contas

The DAV:contains operator is an optional operator that provides content-based search capability. This operator implicitly searches against the text content of a resource, not against the 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:continesオペレーターは、コンテンツベースの検索機能を提供するオプションのオペレーターです。この演算子は、プロパティの内容ではなく、リソースのテキストコンテンツに対して暗黙的に検索します。DAV:Containsオペレーターは、サーバーが検索の実行において可能な限り最高のジョブを行うことを許可するために、意図的に過度に制約されていません。

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.

dav:containsオペレーターは、ブール値まで評価します。リソースのコンテンツが検索を満たしている場合、Trueに評価します。それ以外の場合、それは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 at the discretion of the server implementation.

DAV内:XML要素が含まれている場合、クライアントはフレーズを提供します。単語の一連の単語の区切りシーケンス。サーバーは、フレーズで句読点を無視する場合があります。ケース感受性は、サーバーの実装の裁量にあります。

The following non-exhaustive list enumerates things that 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. Character canonicalization such as that done by the Unicode collation algorithm may or may not be applied.

次の非網羅的なリストは、検索の一部として行われる場合と行われない可能性のあるものを列挙しています。「soundex」などの音声メソッドが使用される場合と使用されない場合があります。単語のステムが実行される場合と実行されない場合があります。単語のシソーラスの拡張は行われるかもしれないし、そうでないかもしれません。右または左の切り捨てが実行される場合と実行されない場合があります。検索は、症例の鈍感または症例に敏感である場合があります。単語または単語は、名前として解釈される場合とされない場合があります。複数の単語が隣接するか「近く」であることが必要になる場合とそうでない場合があります。複数の単語が同じ順序で発生する必要がある場合とそうでない場合があります。複数の単語がフレーズとして扱われる場合と扱われない場合があります。検索は、文字列オペランドに「同様」のドキュメントを見つけるリクエストとして解釈される場合と解釈される場合があります。Unicode照合アルゴリズムによって行われたような文字標準化は、適用される場合と適用されない場合があります。

5.16.1. Result Scoring (DAV:score Element)
5.16.1. 結果スコアリング(DAV:スコア要素)

Servers SHOULD indicate scores for the DAV:contains condition by adding a DAV:score XML element to the DAV:response element. Its value is defined only in the context of a particular query result. The value is a string representing the score, an integer from zero to 10000 inclusive, where a higher value indicates a higher score (e.g., more relevant).

サーバーは、DAV:DAV:スコアXML要素をDAV:Response Elementに追加して条件を含めることにより、条件を含める必要があります。その値は、特定のクエリ結果のコンテキストでのみ定義されます。値は、スコアを表す文字列であり、ゼロから10000の整数であり、高い値はより高いスコア(関連性が高い)を示します。

Modified DTD fragment for DAV:propstat:

DAVの修正DTDフラグメント:PropStat:

   <!ELEMENT response (href, ((href*, status)|(propstat+)),
                       responsedescription?, score?) >
   <!ELEMENT score    (#PCDATA) >
        

Clients should note that, in general, it is not meaningful to compare the numeric values of scores from two different query results unless both were executed by the same underlying search system on the same collection of resources.

クライアントは、一般に、同じリソースのコレクション上の同じ基礎となる検索システムによって両方が実行されない限り、2つの異なるクエリ結果からスコアの数値を比較することは意味がないことに注意する必要があります。

5.16.2. Ordering by Score
5.16.2. スコアによる注文

To order search results by their score, the DAV:score element may be added as child to the DAV:orderby element (in place of a DAV:prop element).

スコアで検索結果を注文するために、DAV:スコア要素は、DAV:Orderby要素(DAV:PROP要素の代わりに)に子供として追加される場合があります。

5.16.3. Examples
5.16.3. 例

The example below shows a search for the phrase "Peter Forsberg".

以下の例は、「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".

コンテンツベースの検索のサポートに応じて、サーバーはこれを「Peter」と「Forsberg」という言葉を含むドキュメントの検索として扱う場合があります。

   <D:where xmlns:D='DAV:'>
     <D:contains>Peter Forsberg</D:contains>
   </D:where>
        

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

以下の例は、「Peter」と「Forsberg」を含むリソースの検索を示しています。

   <D:where xmlns:D='DAV:'>
     <D:and>
       <D:contains>Peter</D:contains>
       <D:contains>Forsberg</D:contains>
     </D:and>
   </D:where>
        
5.17. Limiting the Result Set
5.17. 結果セットを制限します
   <!ELEMENT limit (nresults) >
   <!ELEMENT nresults (#PCDATA)> <!-- only digits -->
        

The DAV:limit XML element contains requested limits from the client to limit the size of the reply or amount of effort expended by the server. The DAV:nresults XML element contains a requested maximum number of DAV:response elements to be returned in the response body. The server MAY disregard this limit. The value of this element is an unsigned integer.

DAV:Limit XML要素には、サーバーが消費する返信または努力のサイズを制限するために、クライアントから要求された制限が含まれています。DAV:nResults XML要素には、応答本体で返される要求された最大数DAV:応答要素が含まれています。サーバーはこの制限を無視する場合があります。この要素の値は、署名されていない整数です。

5.17.1. Relationship to Result Ordering
5.17.1. 結果順序との関係

If the result set is both limited by DAV:limit and ordered according to DAV:orderby, the results that are included in the response document SHOULD be those that order highest.

結果セットが両方ともDAV:制限とDAV:Orderbyに従って順序付けられている場合、応答ドキュメントに含まれる結果は最高の注文の結果でなければなりません。

5.18. The 'caseless' XML Attribute
5.18. 「Caseless」XML属性

The "caseless" attribute allows clients to specify caseless matching behavior instead of character-by-character matching for DAV: basicsearch operators.

「Caseless」属性により、クライアントは、DAV:Basicsearchオペレーターのキャラクターごとのマッチングの代わりに、Caseless Matching動作を指定できます。

The possible values for "caseless" are "yes" or "no". The default value is server-specified. Caseless matching SHOULD be implemented as defined in Section 5.18 of the Unicode Standard ([UNICODE5]).

「Caseless」の可能な値は、「はい」または「いいえ」です。デフォルト値はサーバー指定です。Caseless Matchingは、Unicode標準([Unicode5])のセクション5.18で定義されているように実装する必要があります。

Support for the "caseless" attribute is optional. A server should respond with a status of 422 if it is used but cannot be supported.

「Caseless」属性のサポートはオプションです。サーバーは、使用されているがサポートできない場合は、422のステータスで応答する必要があります。

5.19. Query Schema for DAV:basicsearch
5.19. DAVのクエリスキーマ:Basicsearch

The DAV:basicsearch grammar defines a search criteria that is a Boolean-valued expression, and allows for an arbitrary set of properties to be included 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:

DAV:Basicsearch Grammarは、ブール値の式である検索基準を定義し、任意のプロパティセットを結果レコードに含めることができます。結果セットは、プロパティ値のセットでソートできます。したがって、この文法のためのスキーマ発見のDTDにより、サーバーは次のことを可能にします。

1. the set of properties that may be either searched, returned, or used to sort, and a hint about the data type of such properties.

1. 検索、返品、またはソートに使用される可能性のあるプロパティのセット、およびそのようなプロパティのデータ型に関するヒント。

2. the set of optional operators defined by the resource.

2. リソースによって定義されたオプションのオプションのセット。

5.19.1. DTD for DAV:basicsearch QSD
5.19.1. DAVのDTD:Basicsearch QSD
   <!ELEMENT basicsearchschema  (properties, operators)>
   <!ELEMENT any-other-property EMPTY>
   <!ELEMENT properties         (propdesc*)>
   <!ELEMENT propdesc           ((prop|any-other-property), datatype?,
                                 searchable?, selectable?, sortable?,
                                 caseless?)>
   <!ELEMENT operators          (opdesc*)>
   <!ELEMENT opdesc             ANY>
   <!ATTLIST opdesc             allow-pcdata (yes|no) #IMPLIED>
   <!ELEMENT operand-literal    EMPTY>
   <!ELEMENT operand-typed-literal EMPTY>
   <!ELEMENT operand-property   EMPTY>
        

The DAV:properties element holds a list of descriptions of properties.

DAV:プロパティ要素には、プロパティの説明のリストがあります。

The DAV:operators element describes the optional operators that may be used in a DAV:where element.

DAV:演算子要素は、DAV:WHERE ELEMANDで使用できるオプションの演算子を説明しています。

5.19.2. DAV:propdesc Element
5.19.2. DAV:PROPDESC要素

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.

dav:propdesc要素の各インスタンスは、dav:prop要素に含まれるプロパティまたはプロパティについて説明します。後続の要素はすべて、それらのプロパティに適用される説明です。すべての説明はオプションであり、任意の順序で表示される場合があります。サーバーは、ここで定義されているすべての説明をサポートし、他を定義する場合があります。

DASL defines five 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 remaining four (DAV: searchable, DAV:selectable, DAV:sortable, and DAV:caseless) identify portions of the query (DAV:where, DAV:select, and DAV:orderby, 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.

DASLは5つの説明を定義しています。最初のDAV:DataTypeは、プロパティ値のタイプに関するヒントを提供し、値をプロンプトするユーザーインターフェイスに役立つ場合があります。残りの4つ(Searchable、Dav:Selectable、Dav:Sortable、およびDav:Caseless)のクエリの一部を識別します(Dav:where、dav:select、and dav:orderby、それぞれ)。プロパティにセクションの説明がある場合、サーバーはそのセクションでプロパティを使用することを許可する必要があります。これらの説明はオプションです。プロパティにそのような説明がない場合、またはまったく説明されていない場合、サーバーは対応するセクションでプロパティを使用することを許可する場合があります。

5.19.2.1. DAV:any-other-property
5.19.2.1. DAV:他のプロパティ

This element can be used in place of DAV:prop to describe properties of WebDAV properties not mentioned in any other DAV:prop element. For instance, this can be used to indicate that all other properties are searchable and selectable without giving details about their types (a typical scenario for dead properties).

この要素は、DAV:Propの代わりに使用できます。他のDAV:Prop Elementで言及されていないWebDavプロパティのプロパティを記述します。たとえば、これは、他のすべてのプロパティが、その種類の詳細を提供せずに検索可能で選択可能であることを示すために使用できます(死んだプロパティの典型的なシナリオ)。

5.19.3. The DAV:datatype Property Description
5.19.3. DAV:DataTypeプロパティの説明

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. Data types are identified by an element name. Where appropriate, a server SHOULD use the simple data types defined in [XS2].

DAV:DataType要素には、プロパティのドメインに関するヒントを提供する単一のXML要素が含まれています。これは、クエリで使用する値をプロンプトするユーザーインターフェイスに役立つ場合があります。データ型は要素名で識別されます。必要に応じて、サーバーは[XS2]で定義されている簡単なデータ型を使用する必要があります。

<!ELEMENT datatype ANY > Examples from [XS2], Section 3:

<!要素データ型任意の> [xs2]、セクション3の例:

                 +----------------+---------------------+
                 | Qualified name | Example             |
                 +----------------+---------------------+
                 | xs:boolean     | true, false, 1, 0   |
                 | xs:string      | Foobar              |
                 | xs:dateTime    | 1994-11-05T08:15:5Z |
                 | xs:float       | .314159265358979E+1 |
                 | xs:integer     | -259, 23            |
                 +----------------+---------------------+
        

If the data type of a property is not given, then the data type defaults to xs:string.

プロパティのデータ型が指定されていない場合、データ型はXS:Stringにデフォルトです。

5.19.4. The DAV:searchable Property Description
5.19.4. DAV:検索可能なプロパティの説明
   <!ELEMENT searchable EMPTY>
        

If this element is present, then the server MUST allow this property to appear within a DAV:where element where an operator allows a property. Allowing a search does not mean that the property is guaranteed to be defined on every resource in the scope, it only indicates the server's willingness to check.

この要素が存在する場合、サーバーはこのプロパティがDAV内に表示されることを許可する必要があります。ここで、オペレーターがプロパティを許可する要素。検索を許可すると、プロパティがスコープ内のすべてのリソースで定義されることが保証されているという意味ではなく、サーバーの確認意欲のみを示します。

5.19.5. The DAV:selectable Property Description
5.19.5. DAV:選択可能なプロパティの説明
   <!ELEMENT selectable EMPTY>
        

This element indicates that the property may appear in the DAV:select element.

この要素は、プロパティがDAV:Select要素に表示される可能性があることを示しています。

5.19.6. The DAV:sortable Property Description
5.19.6. DAV:並べ替え可能なプロパティの説明

This element indicates that the property may appear in the DAV: orderby element.

この要素は、プロパティがDAV:Orderby要素に表示される可能性があることを示しています。

   <!ELEMENT sortable EMPTY>
        
5.19.7. The DAV:caseless Property Description
5.19.7. DAV:Caselessプロパティの説明

This element only applies to properties whose data type is "xs: string" and derived data types as per the DAV:datatype property description. Its presence indicates that comparisons performed for searches, and the comparisons for ordering results on the string property will be caseless (the default is character by character).

この要素は、データ型が「xs:文字列」であるプロパティにのみ適用され、dav:datatypeプロパティの説明に従って派生データ型が表示されます。その存在は、検索のために実行された比較を示し、文字列プロパティでの順序付け結果の比較はCaseless(デフォルトは文字ごとに文字です)。

   <!ELEMENT caseless EMPTY>
        
5.19.8. The DAV:operators XML Element
5.19.8. DAV:演算子XML要素

The DAV:operators element describes every optional operator supported in a query. (Mandatory operators are not listed since they are mandatory and permit no variation in syntax.) All optional operators that are supported MUST be listed in the DAV:operators element.

DAV:オペレーター要素は、クエリでサポートされているすべてのオプションオペレーターについて説明します。(必須の演算子は必須であり、構文の変動を許可しないため、リストされていません。)サポートされているすべてのオプション演算子は、DAV:オペレーター要素にリストする必要があります。

The listing for an operator, contained in an DAV:opdesc element, consists of the operator (as an empty element), followed by one element for each operand. The operand MUST be either DAV:operand-property, DAV:operand-literal, or DAV:operand-typed-literal, which indicate that the operand in the corresponding position is a property, a literal value, or a typed literal value, respectively. If an operator is polymorphic (allows more than one operand syntax) then each permitted syntax MUST be listed separately.

DAV:OPDESC要素に含まれる演算子のリストは、オペレーター(空の要素として)で構成され、その後に各オペランドに1つの要素が続きます。オペランドは、DAV:Operand-Property、DAV:Operand-Literal、またはDAV:Operand型のいずれかである必要があります。これは、対応する位置のオペランドがそれぞれプロパティ、リテラル値、または入力されたリテラル値であることを示しています。。オペレーターが多型(複数のオペランド構文を許可する)である場合、許可された各構文を個別にリストする必要があります。

The DAV:opdesc element MAY have a "allow-pcdata" attribute (defaulting to "no"). A value of "yes" indicates that the operator can contain character data, as it is the case with DAV:contains (see Section 5.16). Definition of additional operators using this format is NOT RECOMMENDED.

DAV:OPDESC要素には、「Allow-PCData」属性(デフォルトの「いいえ」になります)がある場合があります。「はい」の値は、dav:contas(セクション5.16を参照)の場合であるため、オペレーターが文字データを含めることができることを示します。この形式を使用している追加のオペレーターの定義は推奨されません。

   <operators xmlns='DAV:'>
     <opdesc>
       <like/><operand-property/><operand-literal/>
     </opdesc>
   </operators>
        
5.19.9. Example of Query Schema for DAV:basicsearch
5.19.9. DAVのクエリスキーマの例:Basicsearch
   <D:basicsearchschema xmlns:D="DAV:"
     xmlns:xs="http://www.w3.org/2001/XMLSchema">
     <D:properties>
       <D:propdesc>
         <D:prop><D:getcontentlength/></D:prop>
         <D:datatype><xs:nonNegativeInteger/></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><fstop xmlns="http://ns.example.org"/></D:prop>
         <D:selectable/>
       </D:propdesc>
       <D:propdesc>
         <D:any-other-property/>
         <D:searchable/><D:selectable/>
       </D:propdesc>
     </D:properties>
     <D:operators>
       <D:opdesc>
         <D:like/><D:operand-property/><D:operand-literal/>
       </D:opdesc>
       <D:opdesc allow-pcdata="yes">
         <D:contains/>
       </D:opdesc>
     </D:operators>
   </D:basicsearchschema>
        

This response lists four properties. The data type of the last three properties is not given, so it defaults to xs:string. All are selectable, and the first three may be searched. All but the last may be used in a sort. Of the optional DAV operators, DAV:contains and DAV:like are supported.

この応答には、4つのプロパティがリストされています。最後の3つのプロパティのデータ型は指定されていないため、デフォルトはXS:Stringになります。すべてが選択可能で、最初の3つを検索できます。最後を除くすべては、ある種で使用できます。オプションのDAVオペレーターのうち、DAV:Contains and Dav:同様にサポートされています。

Note: The schema discovery defined here does not provide for discovery of supported values of the "caseless" attribute. This may require that the reply also list the mandatory operators.

注:ここで定義されているスキーマ発見は、「Caseless」属性のサポート値の発見を提供しません。これには、返信が必須オペレーターもリストする必要があります。

6. Internationalization Considerations
6. 国際化の考慮事項

Properties may be language-tagged using the xml:lang attribute (see [RFC4918], Section 4.3). The optional operators DAV:language-defined (Section 5.12.1) and DAV:language-matches (Section 5.12.2) allow the expression of conditions on the language tagging information.

プロパティは、XML:Lang属性を使用して言語タグを付けている場合があります([RFC4918]、セクション4.3を参照)。オプションの演算子dav:言語定義(セクション5.12.1)およびdav:言語マッチ(セクション5.12.2)は、言語のタグ付け情報の条件の表現を可能にします。

7. Security Considerations
7. セキュリティに関する考慮事項

This section is provided to detail issues concerning security implications of which DASL applications need to be aware. All of the security considerations of HTTP/1.1 ([RFC2616] and WebDAV ([RFC4918]) also apply to DASL. In addition, this section will include security risks inherent in the search and retrieval of resource properties and content.

このセクションは、DASLアプリケーションが認識する必要があるセキュリティへの影響に関する詳細な問題について提供されています。HTTP/1.1([RFC2616]およびWebDav([RFC4918])のセキュリティに関する考慮事項はすべて、DASLにも適用されます。さらに、このセクションには、リソースのプロパティとコンテンツの検索と検索に固有のセキュリティリスクが含まれます。

A query MUST NOT allow clients to retrieve information that wouldn't have been available through the GET or PROPFIND methods in the first place. In particular:

クエリでは、クライアントがそもそもGetまたはPropfindメソッドを通じて利用できなかった情報を取得できないようにしてはなりません。特に:

o Query constraints on WebDAV properties for which the client does not have read access need to be evaluated as if the property did not exist (see Section 5.5.3).

o クライアントが読み取りアクセスを持っていないWebDAVプロパティのクエリ制約は、プロパティが存在しないかのように評価する必要があります(セクション5.5.3を参照)。

o Query constraints on content (as with DAV:contains, defined in Section 5.16) for which the client does not have read access need to be evaluated as if a GET would return a 4xx status code.

o クライアントが読み取りアクセスを持っていないコンテンツのクエリ制約(dav:contains、contains、contains、contains、fiseding in section:contains、contains、contains、contains、contains、contains、contains、contains、contains、contains、fised in contains)は、GETが4xxステータスコードを返すかのように評価する必要があります。

A server should prepare for denial-of-service attacks. For example a client may issue a query for which the result set is expensive to calculate or transmit because many resources match or must be evaluated.

サーバーは、サービス拒否攻撃の準備をする必要があります。たとえば、クライアントは、多くのリソースを一致させるか評価する必要があるため、結果セットが計算または送信に費用がかかるクエリを発行する場合があります。

7.1. Implications of XML External Entities
7.1. XML外部エンティティの意味

XML supports a facility known as "external entities", defined in Section 4.2.2 of [XML], which instruct an XML processor to retrieve and perform an inline include of XML located at a particular URI. An external XML entity can be used to append or modify the document type declaration (DTD) associated with an XML document. An external XML entity can also be used to include XML within the content of an XML document. For non-validating XML, such as the XML used in this specification, including an external XML entity is not required by [XML]. However, [XML] does state that an XML processor may, at its discretion, include the external XML entity.

XMLは、[XML]のセクション4.2.2で定義されている「外部エンティティ」と呼ばれる施設をサポートします。これは、XMLプロセッサに特定のURIにあるXMLのインラインを取得および実行するよう指示します。外部XMLエンティティを使用して、XMLドキュメントに関連付けられたドキュメントタイプ宣言(DTD)を追加または変更できます。外部XMLエンティティを使用して、XMLドキュメントのコンテンツ内にXMLを含めることもできます。この仕様で使用されるXMLなど、外部XMLエンティティを含む非検証XMLの場合、[XML]では必要ありません。ただし、[XML]は、XMLプロセッサには、その裁量により、外部XMLエンティティが含まれる場合があると述べています。

External XML entities have no inherent trustworthiness and are subject to all the attacks that are endemic to any HTTP GET request.

外部XMLエンティティには固有の信頼性がなく、あらゆるHTTP GETリクエストに固有のすべての攻撃の対象となります。

Furthermore, it is possible for an external XML entity to modify the DTD, and hence affect the final form of an XML document, in the worst case significantly modifying its semantics, or exposing the XML processor to the security risks discussed in [RFC3023]. Therefore, implementers must be aware that external XML entities should be treated as untrustworthy.

さらに、外部XMLエンティティがDTDを変更し、したがってXMLドキュメントの最終形式に影響を与える可能性があります。最悪の場合、そのセマンティクスを大幅に変更するか、XMLプロセッサを[RFC3023]で説明したセキュリティリスクにさらします。したがって、実装者は、外部XMLエンティティを信頼できないと扱う必要があることに注意する必要があります。

There is also the scalability risk that would accompany a widely deployed application that made use of external XML entities. In this situation, it is possible that there would be significant numbers of requests for one external XML entity, potentially overloading any server that fields requests for the resource containing the external XML entity.

また、外部XMLエンティティを使用した広く展開されたアプリケーションに伴うスケーラビリティリスクもあります。この状況では、1つの外部XMLエンティティに対してかなりの数のリクエストがあり、外部XMLエンティティを含むリソースのリクエストをフィールドにリクエストするサーバーをオーバーロードする可能性があります。

8. Scalability
8. スケーラビリティ

Query grammars are identified by URIs. Applications SHOULD NOT attempt to retrieve these URIs even if they appear to be retrievable (for example, those that begin with "http://").

クエリ文法はURISによって識別されます。アプリケーションは、これらのURIが取得可能であると思われていても、「http://」で始まるもの)であっても、取得しようとしないでください。

9. IANA Considerations
9. IANAの考慮事項

This document uses the namespace defined in Section 21 of [RFC4918] for XML elements.

このドキュメントでは、XML要素の[RFC4918]のセクション21で定義されている名前空間を使用します。

9.1. HTTP Headers
9.1. HTTPヘッダー

This document specifies the HTTP header listed below, which has been added to the permanent HTTP header registry defined in [RFC3864].

このドキュメントは、[RFC3864]で定義されている永続的なHTTPヘッダーレジストリに追加された以下にリストされているHTTPヘッダーを指定します。

9.1.1. DASL
9.1.1. DASL

Header field name: DASL

ヘッダーフィールド名:DASL

Applicable protocol: http

該当するプロトコル:http

Status: standard

ステータス:標準

Author/Change controller: IETF

著者/変更コントローラー:IETF

Specification document: this specification (Section 3.2)

仕様文書:この仕様(セクション3.2)

10. Contributors
10. 貢献者

This document is based on prior work on the DASL protocol done by the WebDAV DASL working group until the year 2000 -- namely by Alan Babich, Jim Davis, Rick Henderson, Dale Lowry, Saveen Reddy, Surendra Reddy, and Judith Slein (see <http://www.webdav.org/dasl/> for the working group's web site, <http://purl.org/NET/webdav/dasl-references/reqs> for a requirements document, and <http://purl.org/NET/webdav/dasl-references/dasl-protocol-00> for an early version of the specification).

このドキュメントは、2000年までWebDav DASLワーキンググループによって行われたDASLプロトコルに関する以前の研究に基づいています。つまり、アランバビッチ、ジムデイビス、リックヘンダーソン、デールローリー、セーブエンレディ、スレンドラレディ、ジュディススリーンhttp://www.webdav.org/dasl/>ワーキンググループのWebサイトの場合、<http://purl.org/net/webdav/dasl-references/reqs>要件ドキュメント、および<http://purl.org/net/webdav/dasl-references/dasl-protocol-00>仕様の初期バージョンについて)。

11. Acknowledgements
11. 謝辞

This document has benefited from thoughtful discussion by Lisa Dusseault, Javier Godoy, Sung Kim, Chris Newman, Elias Sinderson, Martin Wallmer, Keith Wannamaker, Jim Whitehead, and Kevin Wiggen.

このドキュメントは、リサ・デュッセー、ハビエル・ゴドイ、ソン・キム、クリス・ニューマン、エリアス・シンダーソン、マーティン・ウォールマー、キース・ワンナメーカー、ジム・ホワイトヘッド、ケビン・ウィッゲンによる思慮深い議論の恩恵を受けています。

12. References
12. 参考文献
12.1. Normative References
12.1. 引用文献

[RFC2119] Bradner, S., "Key words for use in RFCs to Indicate Requirement Levels", BCP 14, RFC 2119, March 1997.

[RFC2119] Bradner、S。、「要件レベルを示すためにRFCで使用するためのキーワード」、BCP 14、RFC 2119、1997年3月。

[RFC2616] Fielding, R., Gettys, J., Mogul, J., Frystyk, H., Masinter, L., Leach, P., and T. Berners-Lee, "Hypertext Transfer Protocol -- HTTP/1.1", RFC 2616, June 1999.

[RFC2616] Fielding、R.、Gettys、J.、Mogul、J.、Frystyk、H.、Masinter、L.、Leach、P。、およびT. Berners-Lee、「HyperText Transfer Protocol-HTTP/1.1」、RFC 2616、1999年6月。

[RFC3023] Murata, M., St. Laurent, S., and D. Kohn, "XML Media Types", RFC 3023, January 2001.

[RFC3023] Murata、M.、St。Laurent、S。、およびD. Kohn、「XML Media Types」、RFC 3023、2001年1月。

[RFC3253] Clemm, G., Amsden, J., Ellison, T., Kaler, C., and J. Whitehead, "Versioning Extensions to WebDAV (Web Distributed Authoring and Versioning)", RFC 3253, March 2002.

[RFC3253] Clemm、G.、Amsden、J.、Ellison、T.、Kaler、C。、およびJ. Whitehead、「WebDavへのバージョン化拡張機能(Web分散オーサリングとバージョン化)」、RFC 3253、2002年3月。

[RFC3744] Clemm, G., Reschke, J., Sedlar, E., and J. Whitehead, "Web Distributed Authoring and Versioning (WebDAV) Access Control Protocol", RFC 3744, May 2004.

[RFC3744] Clemm、G.、Reschke、J.、Sedlar、E。、およびJ. Whitehead、「Web分散オーサリングおよびバージョン(WebDAV)アクセス制御プロトコル」、RFC 3744、2004年5月。

[RFC3986] Berners-Lee, T., Fielding, R., and L. Masinter, "Uniform Resource Identifier (URI): Generic Syntax", STD 66, RFC 3986, January 2005.

[RFC3986] Berners-Lee、T.、Fielding、R。、およびL. Masinter、「ユニフォームリソース識別子(URI):ジェネリック構文」、STD 66、RFC 3986、2005年1月。

[RFC4918] Dusseault, L., Ed., "HTTP Extensions for Web Distributed Authoring and Versioning (WebDAV)", RFC 4918, June 2007.

[RFC4918] Dusseault、L.、ed。、「Web分散オーサリングおよびバージョン(WebDav)のHTTP拡張機能」、RFC 4918、2007年6月。

[RFC5234] Crocker, D., Ed. and P. Overell, "Augmented BNF for Syntax Specifications: ABNF", STD 68, RFC 5234, January 2008.

[RFC5234] Crocker、D.、ed。およびP. Overell、「構文仕様のためのBNFの増強:ABNF」、STD 68、RFC 5234、2008年1月。

[XML] Bray, T., Paoli, J., Sperberg-McQueen, C., Maler, E., and F. Yergeau, "Extensible Markup Language (XML) 1.0 (Fourth Edition)", W3C REC-xml-20060816, August 2006, <http://www.w3.org/TR/2006/REC-xml-20060816>.

[XML] Bray、T.、Paoli、J.、Sperberg-Mcqueen、C.、Maler、E。、およびF. Yergeau、「拡張可能なマークアップ言語(XML)1.0(第4版)」、W3C REC-XML-200608166、2006年8月、<http://www.w3.org/tr/2006/rec-xml-20060816>。

[XPATH] Clark, J. and S. DeRose, "XML Path Language (XPath) Version 1.0", W3C REC-xpath-19991116, November 1999, <http://www.w3.org/TR/1999/REC-xpath-19991116>.

[Xpath] Clark、J。and S. Derose、「XML Path Language(XPath)バージョン1.0」、W3C REC-XPATH-19991116、1999年11月、<http://www.w3.org/tr/1999/Rec-Xpath-19991116>。

[XPATHFUNC] Malhotra, A., Melton, J., and N. Walsh, "XQuery 1.0 and XPath 2.0 Functions and Operators", W3C REC-xpath-functions-20070123, January 2007, <http://www.w3.org/ TR/2007/REC-xpath-functions-20070123/>.

[XpathFunc] Malhotra、A.、Melton、J。、およびN. Walsh、「Xquery 1.0およびXpath 2.0機能および演算子」、W3C Rec-XPath-Functions-20070123、2007年1月、<http://www.w3。ORG/TR/2007/REC-XPATH-FUNCTIONS-20070123/>。

[XS1] Thompson, H., Beech, D., Maloney, M., Mendelsohn, N., and World Wide Web Consortium, "XML Schema Part 1: Structures", W3C REC-xmlschema-1-20041028, October 2004, <http://www.w3.org/TR/2004/REC-xmlschema-1-20041028/>.

[XS1] Thompson、H.、Beech、D.、Maloney、M.、Mendelsohn、N。、およびWorld Wide Web Consortium、「XML Schema Part 1:Structures」、W3C Rec-XMLSchema-1-20041028、2004年10月、<http://www.w3.org/tr/2004/rec-xmlschema-1-20041028/>。

[XS2] Biron, P., Malhotra, A., and World Wide Web Consortium, "XML Schema Part 2: Datatypes Second Edition", W3C REC-xmlschema-2-20041028, October 2004, <http://www.w3.org/TR/2004/REC-xmlschema-2-20041028/>.

[XS2] Biron、P.、Malhotra、A。、およびWorld Wide Web Consortium、「XML Schema Part 2:Datatypes Second Edition」、W3C Rec-XMLSchema-2-20041028、2004年10月、<http://www.w33.org/tr/2004/rec-xmlschema-2-20041028/>。

12.2. Informative References
12.2. 参考引用

[BCP47] Phillips, A. and M. Davis, "Matching of Language Tags", BCP 47, RFC 4647, September 2006.

[BCP47] Phillips、A。およびM. Davis、「言語タグのマッチング」、BCP 47、RFC 4647、2006年9月。

[RFC3864] Klyne, G., Nottingham, M., and J. Mogul, "Registration Procedures for Message Header Fields", BCP 90, RFC 3864, September 2004.

[RFC3864] Klyne、G.、Nottingham、M。、およびJ. Mogul、「メッセージヘッダーフィールドの登録手順」、BCP 90、RFC 3864、2004年9月。

[RFC4437] Whitehead, J., Clemm, G., and J. Reschke, Ed., "Web Distributed Authoring and Versioning (WebDAV) Redirect Reference Resources", RFC 4437, March 2006.

[RFC4437] Whitehead、J.、Clemm、G。、およびJ. Reschke、ed。、「Web分散オーサリングとバージョン(WebDAV)リダイレクトリファレンスリソース」、RFC 4437、2006年3月。

[RFC4790] Newman, C., Duerst, M., and A. Gulbrandsen, "Internet Application Protocol Collation Registry", RFC 4790, March 2007.

[RFC4790] Newman、C.、Duerst、M。、およびA. Gulbrandsen、「Internet Application Protocol Collation Registry」、RFC 4790、2007年3月。

[SQL99] Milton, J., "Database Language SQL Part 2: Foundation (SQL/Foundation)", ISO ISO/IEC 9075-2:1999 (E), July 1999.

[SQL99] Milton、J。、「データベース言語SQLパート2:Foundation(SQL/Foundation)」、ISO ISO/IEC 9075-2:1999(e)、1999年7月。

[UNICODE5] The Unicode Consortium, "The Unicode Standard - Version 5.0", Addison-Wesley , November 2006, <http://www.unicode.org/versions/Unicode5.0.0/>.

[Unicode5] Unicode Consortium、「Unicode Standard -Version 5.0」、Addison -Wesley、2006年11月、<http://www.unicode.org/versions/unicode5.0.0/>。

ISBN 0321480910 [1]

ISBN 0321480910 [1]

[WEBDAV-BIND] Clemm, G., Crawford, J., Reschke, J., Ed., and J. Whitehead, "Binding Extensions to Web Distributed Authoring and Versioning (WebDAV)", October 2008.

[WebDav-Bind] Clemm、G.、Crawford、J.、Reschke、J.、Ed。、およびJ. Whitehead、「Web分散オーサリングとバージョン(WebDav)へのバインディング拡張」、2008年10月。

URIs

ウリス

   [1]  <urn:isbn:0321480910>
        
Appendix A. Three-Valued Logic in DAV:basicsearch
付録A. DAVの3つの値ロジック:Basicsearch

ANSI standard three-valued logic is used when evaluating the search condition (as defined in the ANSI standard SQL specifications, for example, in ANSI X3.135-1992, Section 8.12, pp. 188-189, Section 8.2, p. 169, General Rule 1)a), etc.).

ANSI標準の3値ロジックは、検索条件を評価するときに使用されます(たとえば、ANSI X3.135-1992、セクション8.12、188-189、セクション8.2、p。169、p。169など、ANSI標準SQL仕様で定義されています。一般規則1)a)など)。

ANSI standard three-valued logic is undoubtedly the most widely practiced method of dealing with the issues of properties in the search condition not having a value (e.g., being null or not defined) for the resource under scan, and with undefined expressions in the search condition (e.g., division by zero, etc.). Three valued logic works as follows.

ANSI標準の3値ロジックは、間違いなく、スキャン中のリソースの値(例えば、ヌルまたは定義されていない)を持たない検索条件のプロパティの問題を処理する最も広く実践されている方法であり、検索の未定義の式を使用して条件(例:ゼロによる分裂など)。3つの価値のあるロジックは次のように機能します。

Undefined expressions are expressions for which the value of the expression is not defined. Undefined expressions are a completely separate concept from the truth value UNKNOWN, which is, in fact, well defined. Property names and literal constants are considered expressions for purposes of this section. If a property in the current resource under scan has not been set to a value, then the value of that property is undefined for the resource under scan. DASL 1.0 has no arithmetic division operator, but if it did, division by zero would be an undefined arithmetic expression.

未定義の式は、式の値が定義されていない式です。未定義の表現は、真実の値が不明なものと完全に別々の概念であり、実際には明確に定義されています。プロパティ名とリテラル定数は、このセクションの目的で式と見なされます。スキャン中の現在のリソースのプロパティが値に設定されていない場合、そのプロパティの値はスキャン中のリソースに対して未定義です。DASL 1.0には算術分割演算子はありませんが、もしそうなら、ゼロによる分割は未定義の算術式になります。

If any subpart of an arithmetic, string, or datetime subexpression is undefined, the whole arithmetic, string, or datetime subexpression is undefined.

算術、文字列、またはデータタイムのサブエクスペッションの任意のサブパートが未定義である場合、算術、文字列、またはデータタイムのサブエクスペッション全体が定義されていません。

There are no manifest constants to explicitly represent undefined number, string, or datetime values.

未定義の数値、文字列、またはデータタイム値を明示的に表すマニフェスト定数はありません。

Since a Boolean value is ultimately returned by the search condition, arithmetic, string, and datetime expressions are always arguments to other operators. Examples of operators that convert arithmetic, string, and datetime expressions to Boolean values are the six relational operators ("greater than", "less than", "equals", etc.). If either or both operands of a relational operator have undefined values, then the relational operator evaluates to UNKNOWN. Otherwise, the relational operator evaluates to TRUE or FALSE, depending upon the outcome of the comparison.

ブール値は最終的に検索条件によって返されるため、算術、文字列、およびデータタイム式は常に他の演算子にとって議論です。算術、文字列、およびデータタイム式をブール値に変換する演算子の例は、6つのリレーショナル演算子(「より大きい」、「より少ない」、「等しい」など)です。リレーショナルオペレーターのいずれかまたは両方の手術が未定義の値を持っている場合、リレーショナル演算子は不明と評価します。それ以外の場合、リレーショナル演算子は、比較の結果に応じて、真または偽に評価します。

The Boolean operators DAV:and, DAV:or, and DAV:not are evaluated according to the following rules:

ブールオペレーターdav:and、dav:or、and dav:次のルールに従って評価されません。

not UNKNOWN = UNKNOWN

不明=不明

UNKNOWN and TRUE = UNKNOWN UNKNOWN and FALSE = FALSE

不明およびtrue =不明とfalse = false

UNKNOWN and UNKNOWN = UNKNOWN

不明および不明=不明

UNKNOWN or TRUE = TRUE

不明またはtrue = true

UNKNOWN or FALSE = UNKNOWN

不明またはfalse =不明

UNKNOWN or UNKNOWN = UNKNOWN

不明または不明=不明

Appendix B. Candidates for Future Protocol Extensions
付録B. 将来のプロトコル拡張の候補

This section summarizes issues that have been raised during the development of this specification, but for which no resolution could be found with the constraints in place. Future revisions of this specification should revisit these issues, though.

このセクションでは、この仕様の開発中に提起された問題を要約しますが、制約を実施しても解決は見つかりませんでした。ただし、この仕様の将来の改訂は、これらの問題を再検討する必要があります。

B.1. Collation Support
B.1. 照合サポート

Matching and sorting of textual data relies on collations. With respect to WebDAV SEARCH, a combination of various design approaches could be used:

テキストデータのマッチングとソートは、照合に依存しています。WebDAV検索に関しては、さまざまな設計アプローチの組み合わせを使用できます。

o Require server support for specific collations.

o 特定の照合のサーバーサポートが必要です。

o Require that the server can advertise which collations it supports.

o サーバーがサポートする照合を宣伝できることが必要です。

o Allow a client to select the collation to be used.

o クライアントが使用する照合を選択できるようにします。

In practice, the current implementations of WebDAV SEARCH usually rely on backends they do not control, and for which collation information may not be available. To make things worse, implementations of the DAV:basicsearch grammar frequently need to combine data from multiple underlying stores (such as properties and full text content), and thus collation support may vary based on the operator or property.

実際には、WebDav検索の現在の実装は通常、制御されていないバックエンドに依存しており、どの照合情報が利用できないかがあります。さらに悪いことに、DAV:Basicsearch Grammarの実装は、複数の基礎となる店舗(プロパティや全文コンテンツなど)からのデータを組み合わせる必要があるため、照合サポートはオペレーターまたはプロパティによって異なる場合があります。

Another open issue is what collation formalism to support. At the time of this writing, the two specifications below seem to provide the necessary framework and thus may be the base for future work on collation support in WebDAV SEARCH:

もう1つの未解決の問題は、サポートする照合形式主義です。この執筆時点では、以下の2つの仕様は必要なフレームワークを提供しているようであるため、WebDAV検索での照合サポートに関する将来の作業の基盤となる可能性があります。

1. "Internet Application Protocol Collation Registry" ([RFC4790]).

1. 「インターネットアプリケーションプロトコル照合レジストリ」([RFC4790])。

2. "XQuery 1.0 and XPath 2.0 Functions and Operators" ([XPATHFUNC], Section 7.3.1).

2. 「Xquery 1.0およびXpath 2.0機能と演算子」([XpathFunc]、セクション7.3.1)。

B.2. Count
B.2. カウント

DAV:basicsearch does not allow a request that returns the count of matching resources.

DAV:Basicsearchは、マッチングリソースのカウントを返すリクエストを許可していません。

A protocol extension would need to extend DAV:select, and also modify the DAV:multistatus response format.

プロトコル拡張機能は、DAVを拡張する必要があります。

B.3. Diagnostics for Unsupported Queries
B.3. サポートされていないクエリの診断

There are many reasons why a given query may not be supported by a server. Query Schema Discovery (Section 4) can be used to discover some constraints, but not all.

特定のクエリがサーバーによってサポートされない理由はたくさんあります。クエリスキーマ発見(セクション4)を使用して、すべてではありませんが、いくつかの制約を発見できます。

Future revisions should consider the introduction of specific condition codes ([RFC4918], Section 16) to these situations.

将来の改訂は、これらの状況に特定の条件コード([RFC4918]、セクション16)の導入を考慮する必要があります。

B.4. Language Matching
B.4. 言語マッチング

Section 5.12.2 defines language matching in terms of the XPath "lang" function ([XPATH], Section 4.3). Future revisions should consider building on [BCP47] instead.

セクション5.12.2は、Xpathの「Lang」関数([XPath]、セクション4.3)の観点から言語の一致を定義します。将来の改訂は、代わりに[BCP47]に構築することを検討する必要があります。

B.5. Matching Media Types
B.5. 一致するメディアタイプ

Matching media types using the DAV:getcontenttype property and the DAV:like operator is hard due to DAV:getcontenttype also allowing parameters. A new operator specifically designed for the purpose of matching media types probably would simplify things a lot. See <http ://lists.w3.org/Archives/Public/www-webdav-dasl/2003OctDec/0109.html> for a specific proposal.

DAV:getContentTypeプロパティとDAVを使用したメディアタイプを一致させる:DAV:GetContentTypeがパラメーターを許可するためにオペレーターのように難しい。メディアタイプを一致させるために特別に設計された新しいオペレーターは、おそらく物事を大幅に単純化するでしょう。<http://lists.w3.org/archives/public/wwwwebdav-dasl/2003octdec/0109.html>を参照してください。

B.6. Query by Name
B.6. 名前でクエリ

DAV:basicsearch operates on the properties (and optionally the contents) of resources, and thus doesn't really allow matching on parts of the resource's URI. See <http://lists.w3.org/Archives/ Public/www-webdav-dasl/2003OctDec/0100.html> for a proposed extension covering this use case.

DAV:Basicsearchは、リソースのプロパティ(およびオプションの内容)で動作するため、リソースのURIの一部での一致を実際に許可しません。<http://lists.w3.org/archives/ public/www-webdav-dasl/2003octdec/0100.html>を参照してください。

B.7. Result Paging
B.7. 結果ページング

A frequently discussed feature is the ability to specifically request the "next" set of results, when either the server decided to truncate the result, or the client explicitly asked for a limited set (for instance, using the DAV:limit element defined in Section 5.17).

頻繁に議論される機能は、サーバーが結果を切り捨てることを決定した場合、またはクライアントが限られたセットを明示的に要求したときに、「次の」一連の結果を具体的に要求する機能です(たとえば、セクションで定義されたDAV:Limit要素を使用して、5.17)。

In this case, it would be desirable if the server could keep the full query result, and provide a new URI identifying a separate result resource, allowing the client to retrieve additional data through GET requests, and remove the result through a DELETE request.

この場合、サーバーが完全なクエリの結果を維持し、新しいURIを個別の結果リソースを識別し、クライアントがGETリクエストを介して追加のデータを取得し、削除リクエストで結果を削除できるようにする場合に望ましいでしょう。

B.8. Search Scope Discovery
B.8. スコープの検出を検索します

Given a Search Arbiter resource, there's currently no way to discover programmatically the supported sets of search scopes. Future revisions of this specification could specify a scope discovery mechanism, similar to the Query Schema Discovery defined in Section 4.

検索アービターリソースを考えると、現在、サポートされている検索スコープセットをプログラムで発見する方法はありません。この仕様の将来の改訂は、セクション4で定義されているクエリスキーマ発見と同様に、スコープ発見メカニズムを指定できます。

Index

索引

C caseless attribute 26-27, 34 Condition Names DAV:search-grammar-discovery-supported (pre) 9 DAV:search-grammar-supported (pre) 9 DAV:search-multiple-scope-supported (pre) 9 DAV:search-scope-valid (pre) 9 Criteria 5

C CASELESS属性26-27、34条件名DAV:検索 - 文法分散サポート(pre)9 dav:検索 - グラマーサポート(pre)9 dav:search-multiple-scope-supported(pre)9 dav:検索-Scope-valid(pre)9基準5

D DAV:and 26 DAV:ascending 26 DAV:contains 31 DAV:depth 23 DAV:descending 26 DAV:eq 27 caseless attribute 27 DAV:from 23 DAV:gt 27 DAV:gte 27 DAV:include-versions 23 DAV:is-collection 30 DAV:is-defined 30 DAV:language-defined 29 DAV:language-matches 29 DAV:like 30 DAV:limit 33 DAV:literal 27 DAV:lt 27 DAV:lte 27 DAV:not 26 DAV:nresults 33 DAV:or 26 DAV:orderby 26 DAV:scope 23 DAV:score 32 relationship to DAV:orderby 33 DAV:search-grammar-discovery-supported precondition 9 DAV:search-grammar-supported precondition 9 DAV:search-multiple-scope-supported precondition 9 DAV:search-scope-valid precondition 9 DAV:select 23 DAV:supported-query-grammar-set property 14 DAV:typed-literal 28 DAV:where 24

D DAV:および26 DAV:昇順26 DAV:31 DAV:DEPT 23 DAV:Descending 26 DAV:EQ 27 CASELESS属性27 DAV:23 DAV:GT 27 DAV:GTE 27 DAV:INCUTION-Versions 23 DAV:is-コレクション30 Dav:Is-defined 30 Dav:Language-defined 29 Dav:Language-Matches 29 Dav:Like 30 Dav:Limit 33 DAV:LICAL 27 DAV:LT 27 DAV:LTE 27 DAV:NOT 26 DAV:NRESULTS 33 DAV:または26 Dav:Orderby 26 Dav:Scope 23 Dav:Score 32 Dav:Orderby 33 Dav:Search-Grammar-Discovery-Supported Precondition 9 Dav:Search-Grammar-Spupted Precondition 9 Dav:Search-Multiple-Scope-Supported Precondition9 DAV:検索スコープバリッドプリコンディション9 DAV:Select 23 Dav:supported-query-grammar-setプロパティ14 dav:typed-literal 28 dav:where 24

M Methods SEARCH 7

Mメソッド検索7

O OPTIONS method 13 DASL response header 14

oオプション方法13 DASL応答ヘッダー14

P Properties DAV:supported-query-grammar-set 14

PプロパティDAV:サポートされているクエリ文法セット14

Q Query 5 Query Grammar 5 Query Grammar Discovery 13 using live property 13 using OPTIONS 13 Query Schema 5

Qクエリ5クエリグラマー5クエリ文法発見13ライブプロパティを使用する13を使用する13クエリスキーマ5

R Result 5 Result Record 5 Result Record Definition 5 Result Set 5 Result Set Truncation Example 10

r結果5結果レコード5結果レコード定義5結果セット5結果セット切り捨て例10

S Scope 6 Search Arbiter 6 SEARCH method 7 Search Modifier 6 Sort Specification 6

sスコープ6検索アービター6検索方法7検索修飾子6ソート仕様6

Authors' Addresses

著者のアドレス

Julian F. Reschke (editor) greenbytes GmbH Hafenweg 16 Muenster, NW 48155 Germany

Julian F. Reschke(編集者)Greenbytes Gmbh Hafenweg 16 Muenster、NW 48155ドイツ

   Phone: +49 251 2807760
   EMail: julian.reschke@greenbytes.de
   URI:   http://greenbytes.de/tech/webdav/
        

Surendra Reddy Mitrix, Inc. 303 Twin Dolphin Drive, Suite 600-37 Redwood City, CA 94065 U.S.A.

Surendra Reddy Mitrix、Inc。303 Twin Dolphin Drive、Suite 600-37 Redwood City、CA 94065 U.S.A.

   Phone: +1 408 500 1135
   EMail: Surendra.Reddy@mitrix.com
        

Jim Davis 27 Borden Street Toronto, Ontario M5S 2M8 Canada

ジムデイビス27オンタリオ州M5S 2M8カナダ、ボーデンストリートトロント

   Phone: +1 416 929 5854
   EMail: jrd3@alum.mit.edu
   URI:   http://www.econetwork.net/~jdavis
        

Alan Babich IBM Corporation 3565 Harbor Blvd. Costa Mesa, CA 92626 U.S.A.

Alan Babich Ibm Corporation 3565 Harbor Blvd.コスタメサ、CA 92626 U.S.A.

   Phone: +1 714 327 3403
   EMail: ababich@us.ibm.com