Network Working Group J. Reschke, Ed. Request for Comments: 5323 greenbytes Category: Standards Track S. Reddy Mitrix J. Davis
A. Babich IBM November 2008
Web Distributed Authoring and Versioning (WebDAV) SEARCH
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.
著作権(C)2008 IETF信託とドキュメントの作成者として特定の人物。全著作権所有。
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/ライセンス情報)に関連IETFトラストの法律の規定に従うものとします。彼らは、この文書に関してあなたの権利と制限を説明するように、慎重にこれらの文書を確認してください。
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.
この文書では、Web分散オーサリングとバージョン管理(WebDAV)検索、効率的にクライアントが提供する一連の基準に基づいてDAVリソースを検索するためのHTTP / 1.1プロトコルのアプリケーションを構成する方法、ヘッダ、およびプロパティのセットを指定します。
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
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分散オーサリングとバージョン管理(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),
検索方法及びそのために定義された要求/応答フォーマット(セクション2)O、
o feature discovery through the "DASL" response header and the optional DAV:supported-grammar-set property (Section 3),
「DASL」応答ヘッダおよび任意のDAVを介してO機能の発見:サポートされている文法セットプロパティ(セクション3)、
o optional grammar schema discovery (Section 4), and
Oオプションの文法スキーマ検出(第4章)、および
o one mandatory grammar: DAV:basicsearch (Section 5).
O 1つの必須の文法:DAV:basicsearch(第5節)。
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-モデル化されたリソースにアクセスすることができます。
This document uses the terms defined in [RFC2616], [RFC4918], [RFC3253], and in this section.
このドキュメントは[RFC4918]、[RFC3253]、およびこのセクションでは、[RFC2616]で定義された用語を使用します。
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.
結果セットの結果レコードの順序の指定。
This specification uses the Augmented Backus-Naur Form (ABNF) notation of [RFC5234], unless explicitly stated otherwise.
特に明記しない限り、本明細書は、[RFC5234]の増補バッカス - ナウアフォーム(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].
この文書のキーワード "MUST"、 "MUST NOT"、 "REQUIRED"、、、、 "べきではない" "べきである" "ないもの" "ものとし"、 "推奨"、 "MAY"、および "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節)を使用しています。 WebDAVの要求と応答体が原因[RFC4918]のセクション17で定義された特定の拡張ルールに起因し、この仕様で定義されたすべてのXML要素は、XML名前空間名「DAV:」を使用しているという事実にDTDで検証することはできません。特に:
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.
XML要素タイプが「DAV:」名前空間は、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制作。
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/>、およびワーキンググループは、閉鎖時に大きな展開すでにありましたこの仕様の。
One can express the basic usage of DASL in the following steps:
一つは、以下の手順でDASLの基本的な使い方を表現することができます。
o The client constructs a query using the DAV:basicsearch grammar.
basicsearch文法:Oクライアントは、DAVを使用してクエリを作成します。
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またはapplication / 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)に一致するエンティティを送らなければなりません。
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).
検索は、安全な方法です。それは、(9.1.1項、[RFC2616]を参照)クエリを実行し、クエリ結果を返す以外の任意の意味を持っていません。
The client invokes the SEARCH method on the resource named by the Request-URI.
クライアントは、Request-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.
Request-URIが検索アービタを識別します。任意のHTTPリソースを検索アービタとして機能することができます。 ([RFC4918]で定義されるように、セクション15.9 resourcetypeのDAVの意味で)、またそれは、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.
検索方法は、アービタと、検索の範囲との間に関係を定義していません。むしろ、クエリで使用される特定のクエリ文法関係を定義します。例えば、クエリ文法は、Request-URI検索範囲に正確に対応するように強制することができます。
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.
サーバーは、他のフォーマットでtext / xmlまたはapplication / xml要求体、およびMAY処理要求のボディを処理しなければなりません。リクエストで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.
searchrequestまたはDAV:クエリ・スキーマ・ディスカバリーXML要素コンテンツタイプtext / xmlまたはアプリケーションとリクエストボディ/ XMLが含まれている場合、それはDAVのいずれかでなければなりません。その単一の子要素は、クエリの文法を識別します。
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.
XML要求体が存在し、DAV有する場合:(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:検索 - 文法 - サポート):XMLリクエスト体が存在する場合、ドキュメント要素の子要素で識別される検索文法はサポートされている検索文法でなければなりません。
(DAV:search-multiple-scope-supported): if the SEARCH request specified multiple scopes, the server MUST support this optional feature.
(DAV:検索 - 複数のスコープサポート):検索要求は、複数のスコープを指定した場合、サーバはこのオプション機能をサポートしなければなりません。
(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:検索スコープ-有効):供給検索範囲が有効である必要があります。サポートされていないURIスキームと通信の問題など、検索範囲が無効であるためには様々な理由が存在し得ます。失敗の正確な理由を示す条件要素にコンテンツとして応答エレメント:サーバーは、[RFC4918]に準拠DAVを加えるかもしれ。
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 multistatusフォーマット([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が必要です。この仕様は、空の結果を表すことができるようにその制限を緩和します。
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の一つだけを報告する必要があります。重複の可能性を識別するために、リソースID、[WEBDAV-BIND]の3.1節で定義された:クライアントがライブプロパティDAVを使用することができます。
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.
返された部分的な結果は、元のクエリを満足しているだろう、結果セットの任意のサブセットであり得ることに注意してください。
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応答に一致する方法を定義する必要があります。
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
SEARCH / HTTP / 1.1ホスト:example.orgのContent-Type:アプリケーション/ xmlの; charset = "UTF-8" をコンテンツの長さ: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>
<?xml version = "1.0" エンコード= "UTF-8"?> <D:searchrequestのxmlns:Dは= "DAV:" のxmlns:Fは= "http://example.com/foo"> <F:自然な言語クエリ>ロサンゼルスの良いタイレストラン</ Fの場所を探す:自然言語クエリ> </ D:searchrequest>
>> Response:
>>回答:
HTTP/1.1 207 Multi-Status Content-Type: text/xml; charset="utf-8" Content-Length: 429
HTTP / 1.1 207マルチステータスのContent-Type:text / xmlで、 charset = "UTF-8" をコンテンツの長さ: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>
<?xml version = "1.0" エンコード= "UTF-8"?> <D:multistatusのxmlns:Dは= "DAV:" のxmlns:R = "http://example.org/propschema"> <D:応答> <D:HREF>のhttp://siamiam.example/ </ D:HREF> <D:propstat> <D:プロペラ> <R:位置> 259 W.ハリウッド</ R:場所> <R:評価> < R:> 4つ星</ R:星> </ R:評価> </ D:小道具> <D:状態> HTTP / 1.1 200 OK </ D:状態> </ D:propstat> </ D:応答> </ D:multistatus>
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つの結果を返し、そしてその結果は、DAVを添加することによって切り捨てられることを示す:507(ストレージ不足)の状態と検索アービタリソースの応答エレメント。
>> Request:
>>リクエスト:
SEARCH / HTTP/1.1 Host: example.net Content-Type: text/xml; charset="utf-8" Content-Length: xxx
SEARCH / HTTP / 1.1ホスト:example.netのContent-Type:text / xmlで、 charset = "UTF-8" をコンテンツの長さ:XXX
... the query goes here ...
...クエリは、ここに行きます...
>> Response:
>>回答:
HTTP/1.1 207 Multistatus Content-Type: text/xml; charset="utf-8" Content-Length: 640
HTTP / 1.1 207 MultistatusのContent-Type:text / xmlで、 charset = "UTF-8" をコンテンツの長さ: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>
<?xml version = "1.0" エンコード= "UTF-8"?> <D:multistatusのxmlns:D = "DAV:"> <D:レスポンス> <D:HREF> http://www.example.net/聞こえる/ unbrokenchain.au </ D:のhref> <D:状態> HTTP / 1.1 200 OK </ D:状態> </ D:レスポンス> <D:応答> <D:HREF> http://tech.mit 。実施例/ arch96 /写真/ Lesh1.jpg </ D:のhref> <D:状態> HTTP / 1.1 200 OK </ D:状態> </ D:レスポンス> <D:応答> <D:のhref>のhttp: //example.net </ D:HREF> <D:ステータス> HTTP / 1.1 507不足ストレージ</ D:状態> <D:responsedescriptionのXML:langは= "EN">最初の2つのマッチングレコードが返された</ D :responsedescription> </ D:レスポンス> </ D:multistatus>
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で定義された応答本体を追加する必要があります。特に明記しない限り、条件要素は空です。しかし、特定の条件要素をより詳細にエラー状態を記述する追加の子要素を含むことができます。
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
HTTP / 1.1 409競合のContent-Type:text / xmlで、 charset = "UTF-8" をコンテンツの長さ: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>
<?xml version = "1.0" エンコード= "UTF-8"?> <D:エラーのxmlns: "DAV:" D => <D:検索スコープ有効な> <D:応答> <D:HREF>のhttp ://www.example.com/X </ D:のhref> <D:状態> HTTP / 1.1 404オブジェクトが見つかりません</ D:状態> </ D:レスポンス> </ D:検索スコープ有効> </ D:エラー>
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.
文法を問い合わせる決定することができ、クライアントは、検索アービタにOPTIONSを呼び出すことによって、アービタによってサポートされています。リソースが検索をサポートしている場合は、DASLレスポンスヘッダが応答に表示されます。 DASLレスポンスヘッダは、サポートされている文法を示しています。
Servers supporting the WebDAV extensions [RFC3253] and/or [RFC3744] MUST also:
WebDAV拡張をサポートするサーバ[RFC3253]および/または[RFC3744] MUSTも:
o report SEARCH in the live property DAV:supported-method-set for all search arbiter resources, and
ライブプロパティDAV中のOレポート検索:すべての検索アービタリソースのサポート・メソッドのセット、および
o support the live property DAV:supported-query-grammar-set as defined in Section 3.3.
3.3節で定義されているサポート・クエリ・文法セット:OのライブプロパティDAVをサポートしています。
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.
OPTIONSメソッドは、クライアントがリソースを検索方法をサポートしていれば発見すると、そのリソースのためにサポートされている検索文法のリストを決定することができます。
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で指定されたリソースに対してOPTIONSメソッドを発行します。 [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応答のDASLヘッダを含まなければなりません。このヘッダはそのリソースによってサポートされる検索文法を識別する。
DASLHeader = "DASL" ":" 1#Coded-URL Coded-URL = <defined in Section 10.1 of [RFC4918]>
DASLHeader = "DASL" ":" 1#コード化URLコード化URLが= <[RFC4918]のセクション10.1で定義されました>
(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レスポンスヘッダは、OPTIONSメソッドの問合せ文法のためのサーバのサポートを示します。値は、サポートされている文法の種類を示す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)のように定義されます。従って、文法のURIは、カンマで区切って、複数のヘッダ・インスタンスに表示される、あるいはその両方ができます。
For example:
例えば:
DASL: <http://foobar.example/syntax1>, <http://akuma.example/syntax2>, <DAV:basicsearch> DASL: <http://example.com/foo/natural-language-query>
DASL:<のhttp://foobar.example/syntax1>、<のhttp://akuma.example/syntax2>、<DAV:basicsearch> DASL:<http://example.com/foo/natural-language-query>
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 -->
<!ELEMENTサポート-クエリの文法セット(サポート-クエリ文法*)> <!ELEMENTサポート-クエリの文法(文法)> <!ELEMENT ANY文法> < - 任意の値:!クエリ文法要素のタイプを - - >
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.
DAV:basicsearchは、http://foobar.example/syntax1て、http://akuma.example/syntax2この例では、サーバーがクエリの文法と/ somefolderリソースの検索をサポートしていることを示しています。 basicsearch:WebDAVの検索をサポートするサーバはDAVをサポートしなければならないことに注意してください。
>> Request:
>>リクエスト:
OPTIONS /somefolder HTTP/1.1 Host: example.org
OPTIONS / 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>
HTTP / 1.1 200 OKを許可:、OPTIONSをGET、HEAD、POST、PUT、DELETE、TRACE、COPY、MOVE許可:MKCOL、PROPFIND、PROPPATCH、LOCK、UNLOCK、検索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
PROPFIND / somefolder HTTP / 1.1ホスト:example.org深さ:0のContent-Type:text / xmlで、 charset = "UTF-8" をコンテンツの長さ:165
<?xml version="1.0" encoding="UTF-8" ?> <propfind xmlns="DAV:"> <prop> <supported-query-grammar-set/> <supported-method-set/> </prop> </propfind>
<?xml version = "1.0" エンコード= "UTF-8"?> <PROPFINDのxmlns = "DAV:"> <小道具> <サポート・クエリの文法セット/> <サポート-法-設定/> </小道具> </ PROPFIND>
>> Response:
>>回答:
HTTP/1.1 207 Multi-Status Content-Type: text/xml; charset="utf-8" Content-Length: 1349
HTTP / 1.1 207マルチステータスのContent-Type:text / xmlで、 charset = "UTF-8" をコンテンツの長さ: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>
<?xml version = "1.0" エンコード= "UTF-8"?> <multistatusのxmlns = "DAV:"> <レスポンス> <HREF> http://example.org/somefolder </ HREF> <propstat> <プロプ> <サポートされるクエリ文法セット> <サポートされているクエリ・文法> <文法> <basicsearch /> </文法> </サポートされているクエリ・文法> <サポートされているクエリ・文法> <文法> <構文1とのxmlns = "のhttp://foobar.example/" /> </文法> </サポート・クエリ・文法> <サポート・クエリ・文法> <文法> <構文2ののxmlns = "のhttp://akuma.example/" /> </文法> </サポートされているクエリ・文法> </サポートクエリ文法セット> <サポート法セット> <支持されたメソッド名=「COPY」/> <サポート・メソッド名=「削除」/ > <支持されたメソッド名= "GET" /> <支持されたメソッド名= "HEAD" /> <支持されたメソッド名= "LOCK" /> <支持されたメソッド名= "MKCOL" /> <支持されたメソッド名= "MOVE" /> <支持されたメソッド名= "OPTIONS" /> <支持されたメソッド名= "POST" /> <支持されたメソッド名= "PROPFIND" /> <支持されたメソッド名= "PROPPATCH" /> <サポート・メソッド名= "PUT" /> <支持されたメソッド名= "SEARCH" /> <サポートされている、方法N AME = "TRACE" /> <支持されたメソッド名= "アンロック" /> </サポート法セット> </小道具> <状態> HTTP / 1.1 200 OK </ステータス> </ propstat> </レスポンス> </ 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ベースのクエリで要素名として使用することができる:DAVの一部としてマーシャリングクエリ文法要素名ことに留意されたいです。
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レスポンスヘッダとDAV:サポートされているクエリ文法セットプロパティは、クライアントがリソースによってサポートされるクエリ文法のセットを発見するための手段を提供します。これだけでは、クエリを生成するためのクライアントのために十分な情報ではありません。たとえば、DAV:basicsearch文法は、プロパティと値の組に適用される演算子の集合からなるクエリのセットを定義するが、文法自体は、クエリに使用することができるプロパティを指定しません。 DAVのためのQSD:basicsearch文法は、クライアントは、検索可能な選択、およびソート可能なプロパティのセットを発見することができます。 DAVがさらに:basicsearch文法は、オペレータの最小セットを定義し、リソースクエリで追加の演算子をサポートするかもしれないことが可能です。たとえば、リソースは、独自の構文におけるコンテンツベースのクエリを表現するために使用することができる任意のオペレーターをサポートしている場合があります。 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.
一般に、与えられたクエリ文法のためのスキーマは、リソース(アービタ)および範囲の両方に依存します。与えられたリソースは、一対一の潜在的スコープのプロパティのセット、および異なる範囲のための別のセットにアクセスできる場合があります。一つの保持、料理のレシピ、核兵器のための他の設計文書:例えば、二つの異なるコレクションを検索することができ、サーバーを検討してください。両方のコレクションは、著者、タイトル、日付などのプロパティをサポートするかもしれませんが第二は、歩留まりや適用される特許などのプロパティを定義しながら、最初はまた、カロリーや準備時間などのプロパティを定義できます。同じコレクションのインデックスを作成する二つの異なるアービタはまた、異なる特性へのアクセス権を持っているかもしれません。例えば、前述したレシピコレクションはまた、レシピをテストしていたシェフの名前を格納し、付加価値のサーバーによってインデックス付けされることがあります。利用できるクエリスキーマは、このような検索を行う主体の識別情報などの他の要因にも依存する場合がありますが、これらの要因は、このプロトコルで公開されていないことにも注意してください。
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:searchrequestクライアントは、その文法と範囲とし、DAVのルート要素とそのアービタの検索メソッドを呼び出すことにより、指定されたスコープ付きアービタリソース上の所与のクエリ文法のスキーマを検索します。
Marshalling:
マーシャリング:
The request body MUST be a DAV:query-schema-discovery element.
クエリ・スキーマ発見の要素:リクエストボディは、DAVでなければなりません。
<!ELEMENT query-schema-discovery ANY> <!-- ANY value: XML element specifying the query grammar and the scope -->
<!ELEMENTクエリスキーマ発見ANY> <! - 任意の値:XML要素クエリの文法と範囲を指定します - >
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内部返さクエリ文法を保持するように拡張される:DAVはmultistatus要素([RFC4918]、セクション13):応答体はDAVの形態をとります。
<!ELEMENT response (href, status, query-schema?, responsedescription?) > <!ELEMENT query-schema ANY>
<!ELEMENT応答(HREF、ステータス、クエリ・スキーマ?, responsedescription?)> <!ELEMENTクエリスキーマ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要素です。
In this example, the arbiter is recipes.example, the grammar is DAV: basicsearch, the scope is also recipes.example.
この例では、アービタはrecipes.exampleで、文法はDAVある:basicsearchは、スコープもrecipes.exampleあります。
>> Request:
>>リクエスト:
SEARCH / HTTP/1.1 Host: recipes.example Content-Type: application/xml; charset="utf-8" Content-Length: 258
SEARCH / HTTP / 1.1ホスト:recipes.exampleのContent-Type:アプリケーション/ xmlの; charset = "UTF-8" をコンテンツの長さ: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>
<?xmlのバージョン= "1.0"> <クエリ・スキーマ・ディスカバリーのxmlns = "DAV:"> <basicsearch> <から> <スコープ> <HREF>のhttp://recipes.example </ HREF> <深さ>無限大</深さ> </スコープ> </から> </ basicsearch> </クエリスキーマ発見>
>> Response:
>>回答:
HTTP/1.1 207 Multistatus Content-Type: application/xml; charset="utf-8" Content-Length: xxx
HTTP / 1.1 207 MultistatusのContent-Type:アプリケーション/ xmlの; charset = "UTF-8" をコンテンツの長さ: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>
<?xml version = "1.0"?> <multistatusのxmlns = "DAV:"> <応答> <HREF>のhttp://recipes.example </ HREF> <状態> HTTP / 1.1 200 OK </ステータス> <クエリ-schema> <basicsearchschema> <! - (実際の内容については、セクション5.19を参照してください) - > </ basicsearchschema> </クエリ・スキーマ> </レスポンス> </ multistatus>
The query schema for DAV:basicsearch is defined in Section 5.19.
DAVのクエリスキーマ:basicsearchは、セクション5.19で定義されています。
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.
DAV O:選択した結果のレコード定義を提供します。
o DAV:from defines the scope.
DAV(O)からスコープを定義しています。
o DAV:where defines the criteria.
DAV O:どこの基準を定義します。
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.
DAV O:制限は、全体として、クエリの制約を提供します。
<!-- "basicsearch" element -->
<! - "basicsearch" 要素 - >
<!ELEMENT basicsearch (select, from, where?, orderby?, limit?) >
<!ELEMENT基本的な検索(どこ?、?、オーダー制限することにより、から、選択?)>
<!-- "select" element -->
<! - 要素を "選択" - >
<!ELEMENT select (allprop | prop) >
<!ELEMENTは(allprop |小道具)を選択>
<!-- "from" element -->
<! - 要素 "から" - >
<!ELEMENT from (scope+) > <!ELEMENT scope (href, depth, include-versions?) > <!ELEMENT include-versions EMPTY >
<!ELEMENTから(スコープ+)> <!ELEMENTスコープ(HREF、深さ、などが-バージョン?)> <!ELEMENT含ま-バージョン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%以下のcomp_ops "eqで| LT | GT | LTE | GTE"> <!ENTITY%以下のlog_ops "および|または|ない">!|定義されて| <ENTITY%以下のspecial_ops「 - コレクションです言語定義|、言語"> <!ENTITY%以下のcontent_ops "のようなマッチ "> <!ENTITY%以下のstring_ops"" が含まれて>
<!ENTITY % all_ops "%comp_ops; | %log_ops; | %special_ops; | %string_ops; | %content_ops;">
<!ENTITY%以下のall_ops "%のcomp_ops; |%log_ops; |%special_ops; |%string_ops; |%のcontent_ops;">
<!ELEMENT where ( %all_ops; ) >
<!ELEMENT場所(%のall_ops;)>
<!ELEMENT and ( %all_ops; )+ >
<ELEMENTと(%のall_ops;)!+>
<!ELEMENT or ( %all_ops; )+ >
<!ELEMENTまたは(%all_ops;)+>
<!ELEMENT not ( %all_ops; ) >
<!ELEMENTない(%のall_ops;)>
<!ELEMENT lt (prop, (literal|typed-literal)) > <!ATTLIST lt caseless (yes|no) #IMPLIED>
<!ELEMENTのLT(小道具、(リテラル|型付きリテラル))> <!ATTLIST LTはケースレス(はい|いいえ)#IMPLIED>
<!ELEMENT lte (prop, (literal|typed-literal)) > <!ATTLIST lte caseless (yes|no) #IMPLIED>
<!ELEMENTのLTE(小道具、(リテラル|型付きリテラル))> <!ATTLISTのLTE用ケースレス(はい|いいえ)#IMPLIED>
<!ELEMENT gt (prop, (literal|typed-literal)) > <!ATTLIST gt caseless (yes|no) #IMPLIED>
<!ELEMENTのGT(小道具、(リテラル|型付きリテラル))> <!ATTLISTのGTのケースレス(はい|いいえ)#IMPLIED>
<!ELEMENT gte (prop, (literal|typed-literal)) > <!ATTLIST gte caseless (yes|no) #IMPLIED>
<!ELEMENT GTE(小道具、(リテラル|型付きリテラル))> <!ATTLIST GTEのケースレス(はい|いいえ)#IMPLIED>
<!ELEMENT eq (prop, (literal|typed-literal)) > <!ATTLIST eq caseless (yes|no) #IMPLIED>
<!ELEMENT当量(小道具、(リテラル|型付きリテラル))> <!ATTLIST当量のケースレス(はい|いいえ)#IMPLIED>
<!ELEMENT literal (#PCDATA)> <!ELEMENT typed-literal (#PCDATA)> <!ATTLIST typed-literal xsi:type CDATA #IMPLIED>
<!ELEMENTリテラル(#PCDATA)> <!ELEMENT型付きリテラル(#PCDATA)> <!ATTLIST型付きリテラルのxsi:タイプCDATA #IMPLIED>
<!ELEMENT is-collection EMPTY > <!ELEMENT is-defined (prop) >
<!ELEMENTはEMPTY-コレクションです> <!ELEMENTが定義される(プロプ)>
<!ELEMENT language-defined (prop) > <!ELEMENT language-matches (prop, literal) >
<!ELEMENT言語定義(小道具)> <!ELEMENT言語マッチ(小道具、リテラル)>
<!ELEMENT like (prop, literal) > <!ATTLIST like caseless (yes|no) #IMPLIED>
<ELEMENT(リテラル、小道具)のような!> <ケースレスのようなATTLIST(YES | NO)!#IMPLIED>
<!ELEMENT contains (#PCDATA)>
<!ELEMENTが含まれています(#PCDATA)>
<!-- "orderby" element -->
<! - "orderbyの" 要素 - >
<!ELEMENT orderby (order+) > <!ELEMENT order ((prop | score), (ascending | descending)?)> <!ATTLIST order caseless (yes|no) #IMPLIED> <!ELEMENT ascending EMPTY> <!ELEMENT descending EMPTY>
<!ELEMENTのORDERBY(オーダー+)> <!ELEMENT順((プロパ|スコアを)、(昇順?|降順))> <!ATTLISTオーダーケースレス(はい|いいえ)#IMPLIED> <!ELEMENT EMPTY昇順> <!ELEMENT降順EMPTY>
<!-- "limit" element -->
<! - "リミット" の要素 - >
<!ELEMENT limit (nresults) > <!ELEMENT nresults (#PCDATA) >
<!ELEMENTリミット(nresults)> <!ELEMENTのnresults(#PCDATA)>
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.
このクエリは、その長さはサイズによって10000ソート昇順を超え、サーバの「/ container1 /」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>
<D:searchrequestのxmlns:D = "DAV:"> <D:basicsearch> <D:選択> <D:プロペラ> <D:getcontentlength /> </ D:プロップ> </ D:選択> <D:から> <D:範囲> <D:HREF> / container1 / </ D:HREF> <D:深さ>無限</ D:深さ> </ D:範囲> </ D:から> <D:ここで、> < D:GT> <D:プロペラ> <D:getcontentlength /> </ D:プロペラ> <D:リテラル> 10000 </ D:リテラル> </ D:GT> </ D:ここで、> <D:ORDERBY> <D:順> <D:プロペラ> <D:getcontentlength /> </ D:プロペラ> <D:昇順/> </ D:順> </ D:ORDERBY> </ D:basicsearch> </ D: searchrequest>
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:選択は、プロパティと値のセットで結果のレコードを定義します。 DAV:allpropおよびDAV:プロップ、両方の[RFC4918]のセクション14で定義されたこの文書は、2つの可能な値を定義します。
<!ELEMENT scope (href, depth, include-versions?) > <!ELEMENT include-versions EMPTY >
<!ELEMENTスコープ(HREF、深さ、-のバージョンが含まれていますか?)> <!ELEMENT含ま-バージョン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が含まれています。彼らはそれをサポートすることができない場合(セクション2.2.2、前提条件のDAV参照:検索 - 複数のスコープ・サポート)をスコープ要素:複数のスコープ要素のサポートは、サーバが複数のDAVを指定する要求に失敗しなければなりませんが、オプションです。 HREFとDAV:深要素スコープ要素は必須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).
子要素DAV場合:包含バージョンが存在する場合、検索範囲は、範囲内のすべてのバージョン管理リソースのすべてのバージョン([RFC3253]を参照して、セクション2.2.1)を含むであろう。バージョン管理をサポートしていないが、DAVをサポートしていませんサーバー:それはクエリで使用されている場合などが、バージョン機能は、エラーを通知しなければならない(セクション2.2.2、前提条件のDAV参照:検索スコープ-有効)。
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と相対的であると解釈されます。
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:」または特定のURI名前空間これは、以下のような特定のスキームの制限を含むことができます。しかし、WebDAVの準拠検索アービタは、最低限、自分のURIに一致するスコープをサポートする必要があります。
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.
DAV:要素が結果セット内のリソースを含めるための検索条件を定義します。この要素の値は、TRUE、FALSE、またはUNKNOWNブール真理値のいずれかに評価さ検索演算子を定義するXML要素です。 DAVに含まれる検索演算子:自身が順番に再帰的に含む等オペランド、などの追加の検索演算子を評価することができるオペランド、などの追加の検索演算子を含み、評価することができます。
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.
各オペレータは、ブール値は、TRUE、FALSE、またはUNKNOWNに評価される必要があります戻りますwhere句で使用するために定義されました。スキャンの下のリソースがあれば、結果セットのメンバーとして含まれていると、検索条件がTRUEと評価された場合にのみ。
Consult Appendix A for details on the application of three-valued logic in query expressions.
クエリ式で、三値論理の適用の詳細については、付録Aを参照してください。
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(処理不能エンティティ)ステータスコードで応じなければなりません。
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.
プロパティ値のPROPFINDは、そのプロパティの非2XX([RFC2616]のセクション10.2を参照)応答を生じる場合、そのプロパティがNULLであると考えられます。
NULL values are "less than" all other values in comparisons.
NULL値は比較で他のすべての値「未満」です。
Empty strings (zero length strings) are not NULL values. An empty string is "less than" a string with length greater than zero.
空の文字列(長さゼロの文字列)がNULL値ではありません。空の文字列は、ゼロより大きい長さの文字列「未満」です。
The DAV:is-defined operator is defined to test if the value of a property is not NULL.
DAV:プロパティの値がNULLでない場合、定義される演算子はテストするために定義されています。
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あたりとして)UNKNOWNになるように定義されます。 DAV照会のために:resourcetypeのプロパティを、5.13項を参照してください。
The example shows a single operator (DAV:eq) applied in the criteria.
基準に適用される:(式DAV)の例では、一人のオペレータを示します。
<d:where xmlns:d='DAV:'> <d:eq> <d:prop> <d:getcontentlength/> </d:prop> <d:literal>100</d:literal> </d:eq> </d:where>
<D:ここでのxmlns:D = 'DAV:'> <D:EQ> <D:プロペラ> <D:getcontentlength /> </ D:プロペラ> <D:リテラル> 100 </ D:リテラル> </ D :EQ> </ D:どこ>
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:EQ、DAV GT DAV)を含むより複雑な動作を示しています。このDAV:式はサイズが4Kを超えるタイプ「イメージ/ 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>
<D:ここでのxmlns:D = 'DAV:'> <D:と> <D:EQ> <D:プロペラ> <D:GETCONTENTTYPE /> </ D:プロペラ> <D:リテラル>画像/ GIF </ D:リテラル> </ D:EQ> <D:GT> <D:プロペラ> <D:getcontentlength /> </ D:プロペラ> <D:リテラル> 4096 </ D:リテラル> </ D:GT> </ D:と> </ D:ここ>
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要素は、結果セットの順序を指定します。結果セット内の2つの項目間の比較を指定し、それぞれが順要素:これは、1つまたは複数のDAVを含有します。非公式に、比較は、一つのリソースは、結果セット内の別の前に現れるかどうかを決定するテストを指定します。以前の比較がより重要であること、orderbyの要素:比較は、それらがDAV内で発生順に適用されます。
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.
LTオペレータ(昇順)またはDAV:GT演算子(降順)ここで定義された比較はDAVと同じ順序付けを使用して比較し、各リソースから単一のプロパティを使用します。昇順:どちらの方向が指定されている場合、デフォルトは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要素、ヌル値はゼロ長のストリングを含む、任意の実際の(すなわち、非ヌル)値(これは[SQL99]と互換性がある)前に照合すると考えられます。
The "caseless" attribute may be used to indicate case-sensitivity for comparisons (Section 5.18).
「ケースレス」属性は、比較(セクション5.18)のための大文字と小文字の区別を示すために使用されてもよいです。
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>
<D:ORDERBY用のxmlns:D = 'DAV:' のxmlns:R = 'HTTP://example.com/ns'> <D:順> <D:プロペラ> <R:LASTNAME /> </ D:小道具> <D:昇順/> </ D:順> <D:順> <D:プロペラ> <D:getcontentlength /> </ D:プロペラ> <D:降順/> </ D:順> </ D: ORDERBY>
The DAV:and operator performs a logical AND operation on the expressions it contains.
DAV:オペレータは、それが含まれている式の論理AND演算を行います。
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演算を行いません。
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).
「ケースレス」属性は、この要素(セクション5.18)と一緒に使用することができます。
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オペレータは大なり、小なり小なり等しいかを使用して、プロパティ値の比較を提供し、より、大きいかまたは等しいです。 「ケースレス」属性は、これらの要素(セクション5.18)と一緒に使用することができます。
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.
リテラル値の空白が比較において重要です。この動作をオーバーライドする([XML]の2.10節):[RFC4918]との整合性のために、クライアントは、属性「スペースのxml」を指定しないでください。
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),
DAVと比較するための場合オペランドO: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のために定義されたISO-8601のサブセットの日付値として扱われるべきである:CreationDateプロパティプロパティは、([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、それは、このタイプに応じて処理することができます。
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を使用して実施することができます。
<!ELEMENT typed-literal (#PCDATA)>
<!ELEMENT型付きリテラル(#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:文字列」へ。
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で提供された値があれば、それは要求を拒否すべきです。
The comparison evaluates to UNKNOWN if the property value cannot be cast to the specified datatype (see [XPATHFUNC], Section 17).
プロパティー値が指定されたデータ型にキャストできない場合、比較は、([XPATHFUNC]、セクション17を参照)UNKNOWNと評価します。
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>
<LTのxmlns = "DAV:" のxmlns:XSI = "http://www.w3.org/2001/XMLSchema-instance" のxmlns:XS = "http://www.w3.org/2001/XMLSchema"> <タイプ= "XS:整数"> 3 </型付きリテラル> </ LT>>は、<= "http://ns.example.org" /> </小道具> <型付きリテラルXSIのxmlnsを編集プロプ
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).
プロパティ値が対応している(「/ C」をFALSEに、(整数、数値比較が真と評価され、それらのプロパティ値は、タイプxsとして解析することができる)リソース「/ A」と「/ B」についてTRUEと評価されますしかし、数値比較)は偽と評価し、「/ D」と「/ E」のUNKNOWN(プロパティが未定義であるか、その値は、xsとして解析できません)整数。
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).
(:lang属性XMLを用いて表現されるように)次の2つのオプションの演算子は、プロパティ値の言語で条件を表現するために使用することができます。
<!ELEMENT language-defined (prop)>
<!ELEMENT言語定義(小道具)>
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.
プロパティ自体が定義されていない場合は指定されたプロパティの値の言語は、そうでない場合、FALSE知られており、知られていない場合、この演算子は、TRUEと評価します。
<!ELEMENT language-matches (prop, literal)>
<!ELEMENT言語マッチ(リテラル、小道具)>
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、およびUNKNOWNと一致している場合、この演算子は、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の機能」のセクション4.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>
<またはのxmlns = "DAV:"> <ない> <言語定義> <プロパ> <foobarに/> </小道具> </言語定義> </しない> <言語マッチ> <プロパ> <foobarに/> </小道具> <リテラル> </ literal>を</言語試合> </または>エン
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は:で収集オペレータは、クライアントがリソースがコレクションであるかどうかを決定することを可能にする(つまり、その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.
理由:この演算子は、このために、多くのより強力なクエリのために十分であろう一般的な構造のクエリを定義する代わりに提供されているが、この時点で標準化することは不適切と思われるています。
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>
<どこのxmlnsは= "DAV:"> <です-コレクション/> </>
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:定義されているオペレータは、クライアントが属性を、リソース上で定義されているかどうかを決定することができます。 「リソースで定義された」の意味は、セクション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>
<D:定義されているのxmlns:D = 'DAV:' のxmlns:X = 'HTTP://example.com/ns'> <D:プロペラ> <X:someprop /> </ D:プロップ> </ D :定義されています>
The DAV:like is an optional operator intended to give simple wildcard-based pattern matching ability to clients.
DAV:好みは、クライアントへの単純なワイルドカードベースのパターンマッチング能力を与えることを意図した任意のオペレーターです。
The operator takes two arguments.
オペレータは2つの引数を取ります。
The first argument is a DAV:prop element identifying a single property to evaluate.
最初の引数はDAVです:支柱要素を評価するために、単一のプロパティを特定します。
The second argument is a DAV:literal element that gives the pattern matching string.
リテラルの要素パターンマッチング文字列を与える:第二引数は、DAVです。
pattern = [wildcard] 0*( text [wildcard] )
パターン= [ワイルドカード] 0 *(テキスト[ワイルドカード])
wildcard = exactlyone / zeroormore text = 1*( character / escapeseq )
ワイルドカード= exactlyone / zeroormoreテキスト= 1 *(文字/ escapeseq)
exactlyone = "_" zeroormore = "%" escapechar = "\" escapeseq = escapechar ( exactlyone / zeroormore / escapechar )
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
;キャラクター:[XML]、セクション2.2、マイナスワイルドカード/ EscapeCharに文字= HTAB / LF / CRを参照してください。空白文字= /%x20-24 /%x26-5B /%x5D-5E /%X60-D7FF文字= /%の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.)
(;クエリがWebDAVを超えるXML文書として送信される場合、これらの文字は、典型的には、UTF-8やUTF-16でエンコードされている。上記のABNFはUnicodeコードポイント([UNICODE5])で定義されていることに注意してください)
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.
「%」ワイルドカードは、0個以上の文字に一致します。
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.
リテラルは、「_」と「%」が含まれることができるように「\」の文字は、エスケープシーケンスです。パターンに「\」文字を含めるには、エスケープシーケンスは、「\\」を使用します。
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>
<D:ここでのxmlns:D = 'DAV:'> <D:ケースレスのよう= "YES"> <D:プロペラ> <D:GETCONTENTTYPE /> </ D:プロペラ> <D:リテラル>画像/%</ D:リテラル> </ D:のような> </ D:どこ>
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.
DAVは:オペレータは、コンテンツベースの検索機能を提供するオプションの演算子であるが含まれています。この演算子は、暗黙のうちにないプロパティの内容に対して、リソースのテキストコンテンツに対して検索します。 DAVは:オペレータは、サーバーが検索を実行する際に、それができる最善の仕事をすることを可能にするために、意図的に過度に制約されないが含まれています。
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は:オペレーターがブール値に評価が含まれています。リソースのコンテンツは検索を満たす場合には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」としてふりがな方法を用いても用いなくてもよいです。 Wordは行っても行わなくてもよいステミング。言葉のシソーラス拡大が行われたりしてもしなくてもよいです。右または左切り捨てよく、または実行されない場合があります。検索では大文字小文字を区別しないか、大文字と小文字を区別することがあります。単語または単語がまたは名前として解釈してもしなくてもよいです。複数単語はまたは隣接又は互いに「近い」ことが必要とされなくてもよいです。複数の単語は、同じ順序で発生する必要がなくてもよいです。複数の単語やフレーズは、として扱われてもしなくてもよいです。検索は、文字列やオペランドと「類似」文書を検索するための要求として解釈してもしなくてもよいです。そのようなユニコード照合アルゴリズムによって行われるような文字正規化は、または適用されなくてもよいです。
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を追加することによって、条件が含まれています。その値は、特定のクエリ結果のコンテキストで定義されています。値がスコア、ゼロからより高い値は、より高いスコアを(例えば、より関連性)を示す包括10000の整数を表す文字列です。
Modified DTD fragment for DAV:propstat:
DAVのために変更されたDTDフラグメント:propstat:
<!ELEMENT response (href, ((href*, status)|(propstat+)), responsedescription?, score?) > <!ELEMENT score (#PCDATA) >
<ELEMENT応答(HREF、((HREFの*、ステータス)|?(propstat +))、responsedescription ?,スコア)!> <!ELEMENTスコア(#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.
クライアントは、両方が同じリソースのコレクションに同じ基本検索システムによって実行された場合を除き、一般的に、二つの異なるクエリ結果から、スコアの数値を比較することは意味がありません、ということに注意してください。
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に子として追加することができる:(DAVの代わりに:支柱要素)ORDERBY要素。
The example below shows a search for the phrase "Peter Forsberg".
以下の例では、語句「ピーター・フォースバーグ」の検索を示しています。
Depending on its support for content-based searching, a server MAY treat this as a search for documents that contain the words "Peter" and "Forsberg".
コンテンツベースの検索のサポートによって、サーバーは言葉「ピーター」と「フォースバーグ」を含む文書の検索として扱う場合があります。
<D:where xmlns:D='DAV:'> <D:contains>Peter Forsberg</D:contains> </D:where>
<D:どこのxmlns:D = 'DAV:'> <D:含まれている>ピーター・フォースバーグ</ D:含まれている> </ D:どこ>
The example below shows a search for resources that contain "Peter" and "Forsberg".
以下の例では、「ピーター」と「フォースバーグ」が含まれているリソースの検索を示しています。
<D:where xmlns:D='DAV:'> <D:and> <D:contains>Peter</D:contains> <D:contains>Forsberg</D:contains> </D:and> </D:where>
<D:ここでのxmlns:D = 'DAV:'> <D:と> <D:含ま>ピーター</ D:含ま> <D:含ま> Forsbergの</ D:含ま> </ D:と> </ D:どこ>
<!ELEMENT limit (nresults) > <!ELEMENT nresults (#PCDATA)> <!-- only digits -->
<!ELEMENTリミット(nresults)> <!ELEMENTのnresults(#PCDATA)> <! - 数字のみ - >
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:リミットXML要素は、サーバによって費やさ努力の返信または量の大きさを制限するために、クライアントから要求された制限が含まれています。 DAV:応答体に返される応答エレメント:nresults XML要素は、DAVの要求された最大数を含んでいます。サーバーは、この制限を無視することがあります。この要素の値は、符号なし整数です。
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、応答ドキュメントに含まれている結果は、最高のを注文するものであるべきです。
The "caseless" attribute allows clients to specify caseless matching behavior instead of character-by-character matching for DAV: basicsearch operators.
basicsearchオペレーター:「ケースレス」属性は、クライアントが代わりにDAVのための文字単位でのマッチングのケースレスのマッチング動作を指定することができます。
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]).
「ケースレス」のための可能な値は「はい」または「いいえ」です。デフォルト値は、サーバーが指定しています。 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.
「ケースレス」属性のサポートはオプションです。それが使用されているが、サポートすることができない場合、サーバーは422のステータスで応答する必要があります。
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文法は、ブール値の表現である検索条件を定義し、結果レコードに含まれるプロパティの任意のセットを可能にします。結果セットは、プロパティ値のセットでソートすることができます。したがって、この文法のスキーマ発見のための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.いずれであってもよいプロパティのセットは、検索返された、またはソートするために使用され、そのようなプロパティのデータ型についてのヒント。
<!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>
!<!ELEMENTのbasicsearchschema(プロパティ、演算子)> <!ELEMENTどの-その他の財産EMPTY> <!ELEMENTのプロパティ(propdesc *)> <ELEMENTのpropdesc((小道具|任意の-他-プロパティ)、データ型?、検索可能?選択?,ソート可能?,ケースレス)> <ELEMENT演算子(opdesc *)> <ELEMENT ANY opdesc> <ATTLIST opdesc許可-PCDATA(はい|?!!!!なし)#IMPLIED> <ELEMENTオペランドリテラル> <EMPTY! ELEMENTオペランドに型指定されたリテラルEMPTY> <!ELEMENTオペランド-プロパティEMPTY>
The DAV:properties element holds a list of descriptions of properties.
DAV:properties要素は、プロパティの説明のリストを保持しています。
The DAV:operators element describes the optional operators that may be used in a DAV:where element.
DAV:エレメント:演算子要素はDAVで使用することができる任意の演算子を記載しています。
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:データ型は、プロパティ値のタイプについてのヒントを提供し、その値を促すユーザインタフェースに有用であり得ます。残りの4つ(DAV:検索、DAV:選択、DAV:ソート、およびDAV:ケースレス)は、クエリの部分を識別し(:、DAV:選択し、DAV:DAVそれぞれ、ORDERBYを)。プロパティは、セクションの記述がある場合、サーバーは、プロパティがそのセクションで使用されることを許容しなければなりません。これらの記述はオプションです。プロパティは、そのような説明を持っていない、またはまったく記載されていない場合、サーバは、まだプロパティは、対応するセクションで使用することを可能にすることができます。
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の代わりに使用することができます:支柱要素:他のDAVに記載されていないのWebDAVプロパティのプロパティを記述するためにプロップ。例えば、これは他のすべてのプロパティは、その型(死者の特性のための典型的なシナリオ)の詳細を与えることなく、検索および選択であることを示すために使用することができます。
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:データ型の要素は、クエリで使用される値を促すユーザインタフェースに有用であろう性のドメイン、約ヒントを提供する単一のXML要素を含んでいます。データ型は、要素名によって識別されます。適切な場合、サーバは[XS2]で定義された単純なデータ型を使用すべきです。
<!ELEMENT datatype ANY >
<!ELEMENTデータ型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には、データ型のデフォルトを与えられていない場合。
<!ELEMENT searchable EMPTY>
<!ELEMENT検索可能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内に表示することを可能にしなければならない(MUST):要素演算子は、プロパティを許す場合どこ。検索を許可するとプロパティがスコープ内のすべてのリソースに定義されることが保証されている、それだけでチェックするサーバの意欲を示していることを意味するものではありません。
<!ELEMENT selectable EMPTY>
<!ELEMENTの選択EMPTY>
This element indicates that the property may appear in the DAV:select element.
この要素は、プロパティはDAVに表示される可能性があることを示す:要素を選択します。
This element indicates that the property may appear in the DAV: orderby element.
ORDERBY要素:この要素は、プロパティがDAVに表示される可能性があることを示します。
<!ELEMENT sortable EMPTY>
<!ELEMENTソート可能EMPTY>
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).
DAVあたりなど派生データ型:データ型プロパティの説明:この要素は、データ型が「文字列XS」であるプロパティに適用されます。その存在は(デフォルトは文字単位で)文字列プロパティに結果を注文するための検索のために実行される比較、および比較はケースレスになることを示しています。
<!ELEMENT caseless EMPTY>
<!ELEMENTのケースレスEMPTY>
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:オペランドリテラル、またはDAV:オペランド型付けされたリテラル、対応する位置のオペランドがプロパティであることを示し、リテラル値、または型付きリテラル値、それぞれオペランドはDAVのいずれかでなければなりません。オペレータが多型である場合、各許可構文は別々に記載されている必要があり(複数のオペランド構文を可能にします)。
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要素は、(「なし」に不履行)「許可-PCDATAを」属性を持っているかもしれません。それはDAVの場合のように「はい」の値は、オペレータが文字データを含むことができることを示します(項5.16を参照)が含まれています。このフォーマットを使用して、追加の演算子の定義は、推奨されません。
<operators xmlns='DAV:'> <opdesc> <like/><operand-property/><operand-literal/> </opdesc> </operators>
<演算子のxmlns = 'DAV:'> <opdesc> <様/> <オペランド性/> <オペランドリテラル/> </ opdesc> </演算子>
<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>
<D:basicsearchschema用のxmlns:D = "DAV:" のxmlns:XS = "http://www.w3.org/2001/XMLSchema"> <D:特性> <D:propdesc> <D:プロペラ> <D: getcontentlength /> </ D:プロペラ> <D:データ型> <XS:NonNegativeIntegerの/> </ D:データ型> <D:検索/> <D:選択/> <D:ソート/> </ D:propdesc> <D:propdesc> <D:プロペラ> <D:GETCONTENTTYPE /> <D:表示名/> </ D:プロペラ> <D:検索/> <D:選択/> <D:ソート/> </ D: propdesc> <D:propdesc> <D:プロペラ> <FSTOPのxmlns = "http://ns.example.org" /> </ D:プロペラ> <D:選択/> </ D:propdesc> <D: propdesc> <D:任意-他の資産/> <D:検索/> <D:選択/> </ D:propdesc> </ D:特性> <D:演算子> <D:opdesc> <D:様/> <D:オペランド-プロパティ/> <D:オペランドリテラル/> </ D:opdesc> <D:opdesc許可-PCDATA = "はい"> <D:含まれている/> </ D:opdesc> </ D:演算子> </ 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がデフォルトされていません:文字列。すべてが選択可能であり、最初の3つは、検索することができます。すべてが、最後には、ソートに使用することができます。オプションのDAV事業者のうち、DAV:含まれ、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.
注意:ここで定義されたスキーマの発見は、「ケースレス」属性のサポートされている値の発見のために提供されていません。これは、返信にも必須の演算子の一覧を表示することを要求することができます。
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)は、情報をタグ付け言語上の条件の発現を可能にします。
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).
クライアントがアクセス権を読んだことがないのWebDAV特性にOクエリの制約は、(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.
(DAVのように:含まれている、セクション5.16で定義された)コンテンツのOクエリの制約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.
サーバーは、サービス拒否攻撃のために準備する必要があります。例えば、クライアントは、多くのリソースが一致するかを評価しなければならないため、結果セットが計算または送信するには高価であるためにクエリを発行することができます。
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プロセッサを指示する[XML]のセクション4.2.2で定義された「外部エンティティ」として知られる機能をサポートする特定の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文書の最終形態に影響するまた、最悪の場合には著しく、そのセマンティクスを変更するか、[RFC3023]で説明したセキュリティリスクにXMLプロセッサを露出させることが可能です。そのため、実装者は外部の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エンティティを利用した、広く配備されたアプリケーションを伴うだろうスケーラビリティのリスクもあります。このような状況では、潜在的に外部のXMLエンティティを含むリソースの要求をフィールドの任意のサーバーが過負荷に、一つの外部のXMLエンティティに対する要求のかなりの数があるだろうということも可能です。
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://").
クエリの文法はURIので識別されます。アプリケーションは、彼らが(「http://」で開始すること例えば、それらの)回収可能なように見える場合でも、これらのURIを取得するために試みるべきではありません。
This document uses the namespace defined in Section 21 of [RFC4918] for XML elements.
この文書は、XML要素のために[RFC4918]のセクション21で定義された名前空間を使用します。
This document specifies the HTTP header listed below, which has been added to the permanent HTTP header registry defined in [RFC3864].
このドキュメントは[RFC3864]で定義された永久的なHTTPヘッダーレジストリに追加された、下記のHTTPヘッダーを指定します。
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節)
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プロトコルの前の仕事に基づいている - つまりアランBabich、ジム・デイビス、リック・ヘンダーソン、デイル・ローリー、Saveenレディ、スレンドラレディ、そしてジュディスSlein(参照することにより< http://www.webdav.org/dasl/>ワーキンググループのウェブサイトのために、<http://purl.org/NET/webdav/dasl-references/reqs>要件文書について、および<のhttp:// purl.org/NET/webdav/dasl-references/dasl-protocol-00>)仕様の初期バージョンのために。
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.
この文書では、リサDusseault、ハビエル・ゴドイ、サン・キム、クリス・ニューマン、エリアスSinderson、マーティンWallmer、キース・ワナメーカー、ジム・ホワイトヘッド、およびケビンWiggenで思慮深い議論の恩恵を受けています。
[RFC2119] Bradner, S., "Key words for use in RFCs to Indicate Requirement Levels", BCP 14, RFC 2119, March 1997.
[RFC2119]ブラドナーの、S.、 "要件レベルを示すためにRFCsにおける使用のためのキーワード"、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]フィールディング、R.、ゲティス、J.、モーグル、J.、Frystyk、H.、Masinter、L.、リーチ、P.、およびT.バーナーズ - リー、 "ハイパーテキスト転送プロトコル - HTTP / 1.1" 、RFC 2616、1999年6月。
[RFC3023] Murata, M., St. Laurent, S., and D. Kohn, "XML Media Types", RFC 3023, January 2001.
[RFC3023]村田、M.、サンローラン、S.、およびD.コーン、 "XMLのメディアタイプ"、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.、エリソン、T.、Kaler、C.、およびJ.ホワイトヘッド "の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.ホワイトヘッド、 "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]バーナーズ - リー、T.、フィールディング、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.、エド。、RFC 4918、2007年6月 "Web分散オーサリングとバージョン管理(WebDAV)のためのHTTP拡張機能"。
[RFC5234] Crocker, D., Ed. and P. Overell, "Augmented BNF for Syntax Specifications: ABNF", STD 68, RFC 5234, January 2008.
[RFC5234]クロッカー、D.、エド。そして、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]ブレイ、T.、パオリ、J.、Sperberg-マックィーン、C.、MALER、E.、およびF. Yergeau、 "拡張マークアップ言語(XML)1.0(第4版)"、W3C REC-XML-20060816 、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]クラーク、J.及びS. DeRose、 "XMLパス言語(XPath)バージョン1.0"、W3CのXPath-REC-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]マルホトラ、A.、メルトン、J.、およびN.ウォルシュ、 "XQueryの1.0とXPath 2.0関数と演算子"、W3C REC-のXPath関数-20070123、2007年1月、<のhttp://www.w3。 ORG / TR / 2007 / REC-XPathの関数-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]トンプソン、H.、ブナ、D.、マロニー、M.、メンデルゾーン、N.、およびワールドワイドウェブコンソーシアム、 "XMLスキーマパート1:構造"、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]ビロン、P.、マルホトラ、A.、およびワールドワイドウェブコンソーシアム、 "XMLスキーマパート2:データ型第二版"、W3C REC-XMLSCHEMA-2から20041028、2004年10月、<のhttp://www.w3 .ORG / TR / 2004 / REC-XMLSCHEMA-2から20041028 />。
[BCP47] Phillips, A. and M. Davis, "Matching of Language Tags", BCP 47, RFC 4647, September 2006.
[BCP47]フィリップス、A.とM.デイヴィス、 "言語タグのマッチング"、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.、ノッティンガム、M.、およびJ.モーグル、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]ホワイトヘッド、J.、Clemm、G.、およびJ. Reschke、エド。、 "Web分散オーサリングとバージョン管理(WebDAV)リダイレクト参考資料"、RFC 4437、2006年3月。
[RFC4790] Newman, C., Duerst, M., and A. Gulbrandsen, "Internet Application Protocol Collation Registry", RFC 4790, March 2007.
[RFC4790]ニューマン、C.、Duerst、M.、およびA. Gulbrandsenの、 "インターネットアプリケーションプロトコル照合レジストリ"、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]ミルトン、J.、 "データベース言語SQL第2部:財団(SQL /財団)"、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コンソーシアム、 "Unicode標準 - バージョン5.0"、アディソン・ウェズリー、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.、クロフォード、J.、Reschke、J.、編、及びJ.ホワイトヘッド、 "Web分散オーサリングとバージョン管理(WebDAV)に結合する拡張機能" 2008年10月。
URIs
URI
[1] <urn:isbn:0321480910>
〔1〕<URN:ISBN:0321480910>
Appendix A. Three-Valued Logic in DAV:basicsearch
DAVで付録A.三値論理: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標準SQLの仕様で定義されているANSI標準の三値論理は、(使用され、例えば、ANSI X3.135-1992、セクション8.12、PP。188-189、セクション8.2、P。169において、一般規則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.
未定義の式は、式の値が定義されていない表現です。未定義の式は、実際には、十分に定義されている、UNKNOWN真理値とは完全に独立した概念です。プロパティ名とリテラル定数は、このセクションの目的のために表現と考えられています。スキャンの下で現在のリソースでプロパティが値に設定されていない場合は、そのプロパティの値は、スキャンの下のリソースに対して定義されていません。 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.
明示的に未定義の数値、文字列、またはdatetime値を表すために何のマニフェスト定数はありません。
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つの関係演算子(「より大きい」、「未満」は、「等しい」等)です。関係演算子のいずれか一方または両方のオペランドが未定義の値を持っている場合、関係演算子は、UNKNOWNと評価します。そうでなければ、比較演算子は、比較の結果に応じて、TRUEまたはFALSEに評価されます。
The Boolean operators DAV:and, DAV:or, and DAV:not are evaluated according to the following rules:
ブール演算子のDAV:と、DAV:または、およびDAV:次の規則に従って評価されているわけではありません。
not UNKNOWN = UNKNOWN
UNKNOWNではない= UNKNOWN
UNKNOWN and TRUE = UNKNOWN
UNKNOWN = UNKNOWNとTRUE
UNKNOWN and FALSE = FALSE
UNKNOWNとFALSE = FALSE
UNKNOWN and UNKNOWN = UNKNOWN
UNKNOWN = UNKNOWNとUNKNOWN
UNKNOWN or TRUE = TRUE
UNKNOWNまたはTRUE = TRUE
UNKNOWN or FALSE = UNKNOWN
UNKNOWN = UNKNOWNまたはFALSE
UNKNOWN or UNKNOWN = UNKNOWN
UNKNOWN = 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文法は頻繁に(そのような特性とフルテキストコンテンツなど)は、複数の基礎となるストアからのデータを結合する必要があるため、照合のサポートは、オペレータまたはプロパティに基づいて異なる場合があります。
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:
もう一つの未解決の問題は、サポートするために、どのような照合形式主義です。この記事の執筆時点では、以下の2つの仕様は、必要なフレームワークを提供するように見えるので、WebDAVの検索で照合サポートの将来の仕事のためのベースとなる場合があります。
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を拡張する必要があります:選択してもDAV変更:multistatus応答形式を。
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「ラング」機能([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を使用してメディアタイプをマッチング:プロパティおよびDAVをGETCONTENTTYPE:オペレータが原因DAVに困難であるように:GETCONTENTTYPEもパラメータを許可します。具体的に一致するメディアタイプのために設計された新しいオペレータは、おそらく、物事に多くを簡素化します。具体的な提案のために:<//lists.w3.org/Archives/Public/www-webdav-dasl/2003OctDec/0109.html HTTP>を参照してください。
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/公開/ 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を使用して、(例えば、限定されたセットを求めた結果、の「次」のセットを具体的に要求する能力であります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リクエストによって追加のデータを取得することができ、およびDELETE要求を通じて結果を削除することができれば、この場合には、それが望ましいであろう。
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
検索文法発見サポート(PRE)9 DAV:検索文法サポート(PRE)9 DAV:検索複数スコープ支持(PRE)9 DAV:検索Cのケースレスは26-27、34条件名DAV属性-scope-有効(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
D DAV:26 DAV:26 DAVを昇順:31 DAVが含ま:深さ23 DAV:26 DAV降順:EQ 27ケースレス27 DAV属性:23 DAVから:GT 27 DAV:GTE 27 DAV:包含バージョン23 DAV:IS-コレクション30 DAV:定義されている30 DAV:言語定義29 DAV:言語に一致29 DAV:30 DAVのような:限界33 DAV:リテラル27 DAV:27 DAV LT:LTE 27 DAV:いない26 DAV:33 DAVをnresults。または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
DAV:ORDERBY 26 DAV:スコープ23 DAV:DAVする32の関係をスコア:33 DAV ORDERBY:検索文法発見支持前提9 DAV:検索文法支持前提9 DAV:検索複数スコープ支持前提9 DAVを:検索スコープの有効な前提条件9 DAV:23 DAVを選択:サポートされているクエリ・文法・プロパティセットを14 DAV:型付きリテラル28 DAV:24
M Methods SEARCH 7
MメソッドSEARCH 7
O OPTIONS method 13 DASL response header 14
O OPTIONSメソッド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 OPTIONS 13クエリスキーマ5を使用して、ライブプロパティ13を使用して
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
ジュリアンF. Reschke(エディタ)greenbytes社Hafenweg 16ミュンスター、NW 48155ドイツ
Phone: +49 251 2807760 EMail: julian.reschke@greenbytes.de URI: http://greenbytes.de/tech/webdav/
電話:+49 251 2807760 Eメール: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.
スレンドラレディMitrix、Inc.の303ツインドルフィンドライブ、スイート600から37レッドウッドシティー、CA 94065 U.S.A.
Phone: +1 408 500 1135 EMail: Surendra.Reddy@mitrix.com
電話:+1 408 500 1135 Eメール: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
電話:+1 416 929 5854 Eメール:jrd3@alum.mit.edu URI:http://www.econetwork.net/~jdavis
Alan Babich IBM Corporation 3565 Harbor Blvd. Costa Mesa, CA 92626 U.S.A.
アランBabich IBMコーポレーション3565ハーバーブルバードコスタメサ、CA 92626 U.S.A.
Phone: +1 714 327 3403 EMail: ababich@us.ibm.com
電話:+1 714 327 3403 Eメール:ababich@us.ibm.com