DTD confusion (mail thread from 2001Q1)

Hi,

I just finished reading (parts of) the long discussion that took place 8
months ago and would like to make the following comments:

1) DTDs can not be normative for any WebDAV XML exchange, because WebDAV is
based on XML *plus* Namespaces, and explicitly allows any prefix to be used
as long as the right namespace Uri is mapped. This is something that can't
be captured in DTDs.

2) Using a DTD that was supplied inside a request doesn't make sense at all.
*If* a processor of a WebDAV message is interested in programmatic
validation, the only thing that matters is *his* copy of the DTD (or the
schema).

3) In WebDAV, messages contain a mix of protocol information and values. For
instance, depending on the context, a DAV:href element may be part of the
marshalling (child of DAV:response) or may appear *anywhere* in somebody
else's dead property. Defining different DTDs for each message won't help,
because this can happen within a single message.

So,

a) If a WebDAV related spec uses DTDs as normative information, it's broken.
If it makes any comments about parsing requests using a validating parser,
these comments should be removed.

b) Where DTDs are given, the spec should clearly describe how they can be
used (for instance, describing extensibility, namespace processing and
such...).

c) If there's a strong desire to formally define syntactic constraints,
we'll have to use something that actually works with XML + namespaces (XML
Schema, for instance).

Julian

Received on Wednesday, 24 October 2001 12:14:04 UTC