- From: Julian F. Reschke <julian.reschke@greenbytes.de>
- Date: Tue, 19 Jun 2001 17:00:00 +0200
- To: <w3c-dist-auth@w3.org>
- Message-ID: <JIEGINCHMLABHJBIGKBCGENHCHAA.julian.reschke@greenbytes.de>
Hi,
I've spend some more time thinking about this issue, and actually
implementing my proposal in our server.
Text was added to section 4.4 which tries to define what a property value
is, using the W3C recommandations "Namespaces in XML" and "Canonical XML" as
base.
BTW: I think the first sentence "...when expressed in XML MUST be well
formed." is misleading. In WebDAV, there's no way to express the value of a
property other than in XML, so it will by definition be well-formed.
Feedback appreciated,
Julian
--
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.
(added text starts here)
The value of a property is defined in terms of the W3C
recommendations "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] (required) 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 attr="test" 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 "attr" and
"xml:lang"
Attachments
- application/x-gzip attachment: rfc2518-propattr.tar.gz
Received on Tuesday, 19 June 2001 11:01:18 UTC