Re: validating vs. non-validating

> Read literally, the spec could be interpreted to mean that
> a new implementation of a nonvalidating parser should
> actually produce "backwards-compatible" behaviour.

Yes, that was a poor choice of words.  What I wanted to say was
that an application testing for invalid links should consider
those references to be invalid because their interpretation will
be inconsistent.

> I'm wondering whether the intent is really to suggest
> that the behaviour that produces "http://a/b/c/g" is
> deprecated, but that implementors should be aware of this
> behaviour in older implementations.

A little more than that.  Some browser implementations have
insisted that this behavior is necessary for backward compatibility,
even though it has a negative impact on parsing non-hierarchical
schemes.  However, I've managed to tweak the algorithm for abnormal
reference parsing to fix that, so maybe we should just restore
the deprecated behavior.

For now, I have changed it to "strict" instead of "validating".

> I was also trying to track down the genesis of this behaviour
> in RFC 1630, but find only that in "the context of URI
> magic://a/b/c//d/e/f" g:h expands as g:h.  Is there arother
> reference?

Where 1630 says:

    The rules for the use of a partial name relative to the URI of the
    context are:

       If the scheme parts are different, the whole absolute URI must
       be given.  Otherwise, the scheme is omitted, and:

many implementations (including CERN/W3C libwww) interpreted that
as meaning the scheme parts are ignored if they are the same.

> Perhaps the algorithm of section 5.2 could be simplified,
> leaving the caveat on deprecated behaviour as a footnote.

The algorithm doesn't change much either way.  What changes is
the number of applications that are compliant to the standard.

....Roy

Received on Tuesday, 3 June 2003 21:42:09 UTC