WebDAV/DeltaV Interoperability and XML Validation

Dear Colleagues,

After much thought, we have finally devised a way to provide for XML
validation in DeltaV without breaking existing WebDAV clients.  There
are only two points where the DTD given in WebDAV is not validatable: 
property tags occur both as empty-element tags and as begin/end tag
pairs, and though the DTD is named webdav-1.0, it gives no definition
for that tag.   Two small changes would make the DTD usable.

The problem is that to do this, an incompatibility would be introduced
between current implementations and ones based on the new DTD.  The
solution to this problem is to define a full validatable DTD for DeltaV
including the modifications to webdav,then provide for two modes of
operation.

Since a server can only react to a client request, it can send a
response in the correct mode based on the HTTP header sent by the
client.  A server MUST send an old style WebDAV response if the option
"valid=true" is not listed in the Content-Type header entry.  However,
if the media type contains "valid=true" as follows, the server MUST send
valid XML:

    Content-Type: application/xml; charset="utf-8"; valid=true

The presence of the valid=true option means that the XML being sent is
valid, but it does not mean that the receiver must check that validity. 
Validation is done at the receivers discretion.  Note, that application
is used here instead of text. Though WebDAV specifies either text or
application, text is not really appropriate, because text is meant for
documents designed for display to a user.  Here, XML is intended for
information exchange between programs.

A client must ask the server if it supports valid XML.  If a server
returns a DAV responseheader containing version-control, then the server
MUST support valid XML.  The client can then send the appropriate XML
message.  Non valid XML messages are limited to those used by WebDAV.

These rules insure that all old clients will work with new
version-control servers and all new client will work with old WebDAV
servers.  Since the changes to the WebDAV part of the protocol are
small, supporting both forms of WebDAV messages is not much of a burden
on either clients or servers. The use of valid XML is then an extension
to WebDAV, that is introduced by DeltaV.  WebDAV could use the same
method to add valid-xml as a general option in its next draft.

Sincerely,
James J. Hunt
Jürgen Reuter

Received on Saturday, 3 February 2001 21:00:33 UTC