RE: Reconsidering DTDs and validity (was RE: I-D ACTION:draft-ietf-webdav-rfc2518bis-03.txt)

> From: w3c-dist-auth-request@w3.org
> [mailto:w3c-dist-auth-request@w3.org]On Behalf Of Lisa Dusseault
> Sent: Sunday, June 22, 2003 1:56 AM
> To: w3c-dist-auth@w3.org
> Subject: Reconsidering DTDs and validity (was RE: I-D
> ACTION:draft-ietf-webdav-rfc2518bis-03.txt)
>
>
>
>
> Are there any more opinions on the use of DTDs?  Has the
> consensus reversed?
> I thought the consensus was clear way back when I made the change to move
> from a specific list of children to the definition form of ANY (where
> appropriate) plus a list of possible children in English rather
> than DTD.

Can you point to where this was discussed?

> Originally, there was a lot of discussion that overall seemed to
> favour DTDs
> that allowed both extensibility and validation.  FOr example:
> http://lists.w3.org/Archives/Public/w3c-dist-auth/1999OctDec/0242.html -
> Juergen Reuter
> http://lists.w3.org/Archives/Public/w3c-dist-auth/1998JulSep/0055.
> html - Jim
> Amsden
> http://lists.w3.org/Archives/Public/w3c-dist-auth/2000OctDec/0082.html -
> James Hunt
> http://lists.w3.org/Archives/Public/w3c-dist-auth/2001OctDec/0201.html -
> Julian Reschke
> http://lists.w3.org/Archives/Public/w3c-dist-auth/1998JulSep/0060.html -
> Lauren Wood
> http://lists.w3.org/Archives/Public/w3c-dist-auth/1998JulSep/0061.html   ^
>
> Are we back to the idea of throwing out the DTDs altogether?

Well. DTDs can *not* be used for validating WebDAV request/response bodies
(hopefully we agree on that?). Thus new specs must make sure that they are
clear about the fact that the role of DTD fragments.

Usage of DTD fragments in RFC2518, RFC3253, ACL and the ordering spec *is*
consistent. In the Ordering Spec I am trying to summarize how the DTD
fragments need to be read [1]:
.
--

This document uses XML DTD fragments as a purely notational convention.
WebDAV request and response bodies can not be validated due to the specific
extensibility rules defined in section 23 of [RFC2518] and due to the fact
that all XML elements defined by this specification use the XML namespace
name "DAV:". In particular:

1. element names use the "DAV:" namespace,
2. element ordering is irrelevant,
3. extension elements (elements not already defined as valid child elements)
may be added anywhere, except when explicitly stated otherwise,
4. extension attributes (attributes not already defined as valid for this
element) may be added anywhere, except when explicitly stated otherwise.

--

Again, this is consistent with all WebDAV specs that are RFCs (or hopefully
will be soon).

The change I'm objecting to is:

> > I don't like the syntax change in the DTDs. For instance,
> > activelock now is defined as:
> >
> >    <!ELEMENT activelock ANY>
> >    ANY value: Any number of elements, including one of each of
> >    (lockscope, locktype, depth, owner, timeout, locktoken, lockroot)
> >
> > It used to be:
> >
> >    <!ELEMENT activelock (lockscope, locktype, depth, owner?, timeout?,
> >    locktoken?) >

The "old" syntax in theory allows programmatic checking of XML bodies (with
the caveats listed above), while the "new" syntax just uses prose. However,
the main problem is it's inconsistency with all the other specs that we
have. I would find it very confusing if the way DTD fragments in WebDAV
specs need to be read depend on which spec (or which revision of a spec)
you're looking at.

Julian


[1]
<http://greenbytes.de/tech/webdav/draft-ietf-webdav-ordering-protocol-08.htm
l#rfc.section.1>

Received on Sunday, 22 June 2003 06:29:59 UTC