property

特性 (HTTP)

[4] 特性 (プロパティー) (property) は、 資源について記述する名前と値の組です。

仕様書

意味

[5] 特性は、資源についての記述的 (descriptive) な情報を含む名前と値の組です >>3, >>8。

[19] 特性は特性名 (property name) により識別されます。 特性名はXML名前空間を通じて URL を使った普遍的に固有な識別子となっています。 >>8

[21] 特性名の URL としての見かけ上の階層構造があるかもしれませんが、 WebDAV としては異なる特性名はすべて独立しており、 階層構造は持ちません >>8。

[20] ある資源に同じ特性名の特性は高々1つだけ指定できます >>8。

[7] 特性には生特性と死特性があります >>8。

[33] 他に次のような分類があります。

構文

[12] 特性は、特性名を表すXML 要素によって表現されます。 この要素を特性名要素 (property name element) といいます。 >>8

[2] 仕様書での表記上は、 DAV: XML名前空間の creationdate 特性を DAV:creationdate のように記述することがあります >>1。
[34] RFC 2518 では QName は名前空間URLに局所名を連結した URL として解釈することとされており >>35、 DAV: 名前空間に属する要素は DAV: URL を表していました。 この規定は RFC 4918 にはありません。

[9] 特性の値は、特性名要素の内容であるXML 素片です >>8。 要素もテキストも含めることができます >>8。

[13] 特性の値が空文字列 (空要素) であるのと、特性名要素が存在しないのとは異なります >>8。

[24] 特性名要素が propfind 要素 >>25 や remove 要素 >>28 の子孫として使われる時は、 特性の値を含んではなりません。

[30] set 要素の子孫として使われる時は、 特性の名前と (新しい) 値を含めなければなりません >>29。

[5] 鯖は、死特性 >>8 および別途規定のない生特性 >>8、 owner >>22 について、 次の情報を保持しなければなりません。

[17] これ以外の情報も鯖は保持して構いませんが、 クライアントはそれに依存してはなりません >>8。

[14] 各特性の項も参照。
[18] 接頭辞は XPath や XML Schema のように名前空間接頭辞に依存した応用の利用を想定している >>8 と説明されています。しかし、多くの場合は名前空間名が保持されることで十分でしょうし、 名前空間接頭辞の解決を行いたい時は名前空間属性や適用範囲内名前空間の名前空間情報項目が保持されないといけないですし、 接頭辞も推奨でしかないので確実に利用できると保証されないという状態で、 相互運用性が本当に保持できるのかどうか疑問ではあります。

[10] クライアントは理解できない要素を無視しなければなりません >>8。

[11] 特性の値の自然言語は適用範囲内となる xml:lang 属性により指定できます。 (未指定ともできます。) >>8

[15] 特性の値の空白は常に意味を持ちます。 xml:space 属性があっても無視しなければなりません。 >>8

[16] 鯖の処理に用いることが禁じられていますが、特性の値の一部として保持することが求められているのか禁止されているのかはよくわかりません。

[27] 特性名要素は文脈によっては「値を持たない」ことや「空」 であることが求められていますが、 >>5 で保持されないことになっている注釈や処理指令を含めても良いのかは不明です。

文脈

[23] 特性名要素は、次の要素の子要素として使用できます。

[26] 特性名要素は propfind 要素や remove 要素 >>28 の子孫としては空要素として用いて、取得・削除したい特性の名前を指定します。 (値は指定しません。)

[31] 特性名要素は、 set 要素の子孫として用いて、 設定したい特性の名前と値を指定します >>29。

関連

[6] WebDAV の特性は RDF 的意味の特性とほとんど同じような意味を持っています。