Subject: RE: Impact of XML 1.1 and namespaces 1.1 on WebDAV

From: "Julian Reschke" <[email-masked]>
Date: Wed, 13 Nov 2002 23:58:06 +0100

(here's a minor update for usage during the IETF meeting)

Hi,

as the W3C is finishing these specs, I'd like to make the WG aware of the
questions we'll have to answer about how these changes impact WebDAV.

Changes that are IMHO relevant to WebDAV are:

1) The set of characters that can appear in an XML name has been extended
(it now includes more Unicode characters). Infosets using these names can
*not* be marshalled as XML 1.0 documents.

2a) The set of characters that can be marshalled as text data has been
extended to include the control characters 1..31 (although only as character
reference; null is still forbidden). Again: infosets containing these
characters can *not* be marshalled as XML 1.0 documents.

2b) The characters 128..159 (Unicode control characters) can not be
marshalled as is (only as character references). Infosets containing these
characters can be marshalled as XML 1.1 documents, but requires
serialization as character references (which will be XML 1.0 compatible as
well).

3) XML 1.1 processors may reject documents if they contain non-normalized
Unicode (yes, this is optional).

4) Namespaces 1.1 allows IRIs rather than only URIs as namespace names.

One possible position would be that we just ignore it. Nothing would change
immediately. However we lose the ability to marshall "any" kind of XML
through WebDAV properties.

Allowing XML 1.1 request bodies for PROPPATCH *will* have a big impact. For
instance, properties are identified by QNames, and with XML 1.1 both the
valid character sets for the namespace name (can now be a IRI and thus
contain non-quoted non-ASCII characters) and the local name (just a bigger
subset of Unicode) will change. It may not be possible to marshall these
"extended" property names back to a client that only understands XML 1.0.

Similar problems appear with control characters in property values -- once
they appear in a property value, the property can only be marshalled back to
clients with XML-1.1 compliant parsers.

At this point, I don't have a recommendation how to treat this, but maybe
some more WG members should take a look at the current drafts. XML
namespaces 1.1 allowing IRIs is currently under debate on the W3C TAG
(Technical Architecture Mailing List) -- people interested in this topic
might want to check the mailing list archives.

Julian

--
<green/>bytes GmbH -- http://www.greenbytes.de -- tel:+492512807760

> -----Original Message-----
> From: Julian Reschke [mailto:[email-masked]]
> Sent: Tuesday, October 22, 2002 10:04 AM
> To: WebDAV
> Subject: Impact of XML 1.1 and namespaces 1.1 on WebDAV
>
>
> Hi,
>
> as the W3C is finishing these specs, I'd like to make the WG
> aware of the questions we'll have to answer about how these
> changes impact WebDAV.
>
> Changes that are IMHO relevant to WebDAV are:
>
> 1) The set of characters that can appear in an XML name has been
> extended (it now includes more Unicode characters).
>
> 2) The set of characters that can be marshalled as text data has
> been extended to include the control characters 1..31 (although
> only as character reference; null is still forbidden)
>
> 3) XML 1.1 processors may reject documents if they contain
> non-normalized Unicode (yers, this is optional).
>
> 4) Namespaces 1.1 allows IRIs rather than only URIs as namespace names.
>
> One possible position would be that we just ignore it. Nothing
> would change immediately. However we lose the ability to marshall
> "any" kind of XML through WebDAV properties.
>
> Allowing XML 1.1 request bodies for PROPPATCH *will* have a big
> impact. For instance, properties are identified by QNames, and
> with XML 1.1 both the valid character sets for the namespace name
> (can now be a IRI and thus contain non.quoted non-ASCII
> characters) and the local name (just a bigger subset of Unicode)
> will change. It may not be possible to marshall these "extended"
> property names back to a client that only understands XML 1.0.
>
> Similar problems appear with control characters in property
> values -- once they appear in a property value, the property can
> only be marshalled back to clients with XML-1.1 compliant parsers.
>
> At this point, I don't have a recommendation how to treat this,
> but maybe some more WG members should take a look at the current drafts.
>
> Julian
> --
> <green/>bytes GmbH -- http://www.greenbytes.de -- tel:+492512807760
>

---

From: "Eric Sedlar" <[email-masked]>
Date: Fri, 15 Nov 2002 15:58:49 -0800

In the general theory of being flexible with what you accept and careful
with what you generate, it sounds like WebDAV servers should accept
XML1.1 input, but only generate XML 1.0 output.

I also recommend us looking into the IRI issue.

--Eric

---

From: "Julian Reschke" <[email-masked]>
Date: Sat, 16 Nov 2002 10:57:50 +0100

I'm in violent diasgreement.

The principle you mention is one of the biggest factors leading to
interoperability. If servers do not reject non-compliant requests, clients
do not get fixed. If clients do not get fixed, other server implementors are
forced to implement "workarounds" as well. We already see the results of
this within WebDAV -- almost everybody has workarounds in the server code to
please the most-deployed but worst-supported client (Microsoft webfolders).

While doing this sometimes is unavoidable in real life, putting this into
the protocol is a completely different story.

In this particular case, allowing XML 1.1 in PROPPATCH requests will allow
creation of property names/values that can not be sent back using XML 1.0
(*). Furthermore, there's no reliable way how a server can find out whether
the client actually *understands* XML 1.1. So supporting XML 1.1 will
require new compliance levels or it *will* break communication with older
clients. That's why we really need to understand what's going on before
making changes in RFC2518bis. Right now RFC2518 normatively refers to XML
1.0, and we may want to clarify that this means that requests marshalled in
any other XML version *must* be rejected.

Julian

(*) Unless we allow XML 1.1 but explicitly forbid property names/values that
cannot be marshalled using XML 1.0 (in which case using XML 1.1 in the first
place is questionable).

> From: [email-masked]
> [mailto:[email-masked]]On Behalf Of Eric Sedlar
> Sent: Saturday, November 16, 2002 12:59 AM
> To: Julian Reschke; WebDAV
> Subject: Re: Impact of XML 1.1 and namespaces 1.1 on WebDAV
>
>
>
> aware of the
> non-normalized
> values -- once
> > they appear in a property value, the property can only be
> marshalled back
> to
> but maybe

---

From: Brian Korver <[email-masked]>
Date: Sat, 16 Nov 2002 14:36:52 -0800

> the protocol is a completely different story.

Julian,

The principal you object to (Postel's robustness principal, spelled out
in RFC-793, the TCP/IP draft), informs the design of many IETF
protocols, especially when dealing with issues of backward
compatibility.  Within the IETF, this principal is believed to
increase interoperability, in contrast to what you state.

As for forcing servers to reject non-compliant requests, I think
we'll all agree that non-compliant implementations are a problem,
but how can the protocol document force these implementations
into compliance?  And if vendor Y decides to interoperate with
non-compliant vendor X, there is little that this working group
can do to prohibit vendor Y from doing so.

On the subject of certain non-compliant clients, if we were to
prohibit the accepting of XML1.1, what effect would you expect
that prohibition to have on the decisions made by the vendors of
such clients?

Eric, I don't recall if you stated the client requirements.  Did you
expect that clients would be permitted to generate XML1.1?

Note, the above should not be construed as an argument either for or
against WebDAV support for XML1.1.

-brian
[email-masked]

---

From: "Julian Reschke" <[email-masked]>
Date: Sun, 17 Nov 2002 00:18:44 +0100

> [mailto:[email-masked]]On Behalf Of Brian Korver
> Sent: Saturday, November 16, 2002 11:37 PM
> To: Julian Reschke
> Cc: WebDAV
> ...

However, XML is conservative in both directions (malformed requests are
never accepted), and has reached very high interoperability. Are you
suggesting that an XML parser should accept documents with minor
wellformedness errors if it thinks it can fix them?

For example: Microsoft's XML parsers used to accept control characters that
aren't allowed in XML. People solely on the Microsoft platform started using
this as a feature -- they never tested against other implementations. Guess
what they said when Microsoft finally fixed their parser?

So yes, I think that this well known principle is *causing* interoperability
problems. It's much better to have a as-precise-as-possible protocol
definition and to mandate that both clients and servers stick to it.

> can do to prohibit vendor Y from doing so.

It can't.

However, Eric was suggesting that the protocol explicitly *allows* accepting
XML 1.1 requests. That's very different from not saying anything about it.

Accepting XML 1.1 requests as they are defined right now would mean that
property values and names (and labels, privileges...) can occur that can't
be marshalled to a client using XML 1.0. That's what I call a major interop
problem.

> that prohibition to have on the decisions made by the vendors of

Hopefully they'd send XML 1.0.

> against WebDAV support for XML1.1.

Understood.

Actually, it's a good thing that finally we've got a discussion thread about
this topic :-)