- From: Rob Cameron <cameron@cs.sfu.ca>
- Date: Fri, 30 May 2003 15:59:43 -0700
- To: uri@w3c.org
From section 4.1, I infer that the difference between a validating and non-validating parser is that the former confirms that the syntax of individual URI components precisely matches the specified grammar, while the latter simply breaks the URI into its components. This makes sense. But in section 5.2, the algorithm for resolving a relative reference seems to suggest that different behaviours are required depending on whether "parse" is validating or nonvalidating. An example at the end of 5.4.2 also refers to this, drawing a distinction between "validating parsers" and "backwards compatibility." "http:g" = "http:g" ; for validating parsers / "http://a/b/c/g" ; for backward compatibility Read literally, the spec could be interpreted to mean that a new implementation of a nonvalidating parser should actually produce "backwards-compatible" behaviour. 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. 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? Perhaps the algorithm of section 5.2 could be simplified, leaving the caveat on deprecated behaviour as a footnote.
Received on Friday, 30 May 2003 18:59:51 UTC