- From: Julian Reschke <julian.reschke@gmx.de>
- Date: Sun, 22 Apr 2001 22:12:25 +0200
- To: "WebDAV WG" <w3c-dist-auth@w3.org>
- Message-ID: <JIEGINCHMLABHJBIGKBCKEJKCCAA.julian.reschke@gmx.de>
Hi, I've spent some time looking at the current RFC, and what needs to be done to get this subject defined more precisely. The wording on property names seems to be OK (if the appendix about the non W3C-complaint name matching is removed). It probably could be less vague on what it means by a "schema", though. In addition, I would propose to have the section about property names moved *in front* of the section about property values (so 4.4 and 4.5 would be exchanged). I've also tried to add text to 4.4 that specifies the current consensus on how XML attributes in the property element are treated... Here's my attempt (comments are welcome): 4.4. Property Values The value of a property when expressed in XML MUST be well formed. XML has been chosen because it is a flexible, self-describing, structured data format that supports rich schema definitions, and because of its support for multiple character sets. XML's self- describing nature allows any property's value to be extended by adding new elements. Older clients will not break when they encounter extensions because they will still have the data specified in the original schema and will ignore elements they do not understand. XML's support for multiple character sets allows any human-readable property to be encoded and read in a character set familiar to the user. XML's support for multiple human languages, using the "xml:lang" attribute, handles cases where the same character set is employed by multiple human languages. TEXT BELOW WAS ADDED... The value of a property is defined in terms of the W3C recommendation "XML Information Set" [XML-INFOSET] and "Canonical XML" [RFC3076]. It consists of a subset of the property element's information items, of which some are optional (that is, a server MAY choose not to persist them). [prefix] (optional) The namespace prefix part of the element-type name. [children] (required) An ordered list of child information items, in document order. Note that the full Information Set of each child is part of the value. [attributes] (optional) An unordered set of attribute information items. [namespace attributes] (optional) An unordered set of attribute information items, one for each of the namespace declarations. [in-scope namespaces] (optional) An unordered set of namespace information items, one for each of the namespaces in effect for this element. [base URI] (optional) The base URI of the element, as computed by the method of XML Base. In addition, attributes from the XML namespace (http://www.w3.org/XML/1998/namespace) are inherited by means of section 2.4 of [RFC3076]: xml:lang (required) other attributes from the XML namespace (optional) 4.4.1. Examples for property values Set request: <propertyupdate xmlns="DAV:" xmlns:foo="http://foo.bar.com" xmlns:x="http://www.w3.org/XML/1998/namespace" xml:lang="en" x:space="preserve"> <set> <foo:bar attr="test">xyz</foo:bar> </set> </propertyupdate> Inheritance of attributes from XML namespaces as defined in section 2.4 of [RFC3076]: <propertyupdate xmlns="DAV:" xmlns:foo="http://foo.bar.com" xmlns:="http://www.w3.org/XML/1998/namespace" xml:lang="en" x:space="preserve"> <set> <foo:bar attr="test" xml:lang="en" x:space="preserve">xyz</foo:bar> </set> </propertyupdate> The value of the property named ("http://foo.bar.com", "bar") thus is: [prefix] "foo" [children] 3 character information items [attributes] attribute information items, describing "attr", "xml:lang" and "x:space" [namespace attributes] (empty) [in-scope namespaces] the namespace information items (no value, "DAV:"), ("foo", "http://foo.bar.com"), ("x", "http://www.w3.org/XML/1998/namespace"), ("xml", "http://www.w3.org/XML/1998/namespace") [base URI] no value Removal of optional information: <propertyupdate xmlns="DAV:" xmlns:foo="http://foo.bar.com" xmlns:x="http://www.w3.org/XML/1998/namespace" xml:lang="en" x:space="preserve"> <set> <foo:bar xml:lang="en">xyz</foo:bar> </set> </propertyupdate> The value of the property named ("http://foo.bar.com", "bar") then becomes: [children] 3 character information items [attributes] attribute information item, describing "xml:lang"
Received on Sunday, 22 April 2001 16:13:02 UTC