- From: Clemm, Geoff <gclemm@rational.com>
- Date: Sun, 5 Aug 2001 23:22:17 -0400
- To: DeltaV <ietf-dav-versioning@w3.org>
Note: I personally don't care much one way or the other on this topic, so I'm just reporting on the rationale that went into the current choice. From: Julian F. Reschke [mailto:julian.reschke@greenbytes.de] > From: Clemm, Geoff > From: Lisa Dusseault [mailto:lisa@xythos.com] > > But the DeltaV draft requires the following syntax: > <supported-live-property-set> > <supported-live-property name="getcontentlength" namespace="DAV:"/> > <supported-live-property name="quota" > namespace="http://www.xythos.com/schemas/StorageServer"/> > ... > </supported-live-property-set> > > Is there some merit to doing things this way that isn't immediately > obvious? > > This was done at the request of the folks who care about syntactic > validation (e.g. DTD or XML-Schema). It is expected that this > report will be extended with other interesting metadata about the > supported live properties (e.g. DAV:is-computed). By using the > DAV:supported-live-property node, this can be declared as: > > <!ELEMENT supported-live-property (is-computed?)> That could have easily been done by adding it in the form of: <x:quota xmlns:D="DAV:" D:is-computed="true" /> For a simple extension like D:is-computed, yes, but not all extensions will have values that easily map into a simple string. > Aside from consistency and stylistic considerations, the syntax in the > draft > is just plain broke. The DTD for supported-live-property set hardwires > the > namespace to DAV: > > <!ATTLIST supported-live-property namespace NMTOKEN "DAV:"> > > This does not hardwire the namespace to be "DAV:", it just specifies > that the "DAV:" is the default if no explicit namespace attribute is > specified. Now that you mention that: this breaks reporting of live properties that actually happen to be in no namespace at all (no, I wouldn't suggest using things like that, but ...). I assume that currently no server uses DTDs to validate. Which raises the question how they should process element where the attribute is missing: a) assuming the property is in the DAV: namespace, b) assuming it's in no namespace. For consistency, I'd prefer b). Since (as you indicate) one should not place properties in the default namespace, having the default be something that we discourage and is likely to not occur, does not make much sense to me. If it's a), that should be clearly stated somewhere The fact that the default is the DAV: namespace is specified in the DTD declaration in the protocol. We could repeat that in text I suppose. (and a way to report properties in "no" namespace -- such as namespace="" -- should be documented). How else could it be represented? Since we do not want to encourage anyone to place properties in the default namespace, I'd be inclined to leave this unstated, as a way of discouraging this bad practice. Cheers, Geoff
Received on Sunday, 5 August 2001 23:23:24 UTC