- From: Sam Ruby <rubys@intertwingly.net>
- Date: Fri, 06 Oct 2006 22:52:10 -0400
- To: Mark Nottingham <mnot@mnot.net>
- CC: uri@w3.org
Mark Nottingham wrote:
>
> +1 to dropping component spanning and doing percent-encoding during
> substitution, as well as UTF-8.
>
> However, this will require that the data model for the input to
> substitution be formalized more, as others have pointed out -- which I
> think is a good thing.
I disagree.
> Consider:
> a = "foo/bar"
>
> http://www.example.com/{a}
> http://www.example.com/foo?path={a}
>
> The first will need the '/' escaped; the second will not.
>
> So, the input data model needs to be something like:
>
> {'a': ('foo/bar', PATH_SEGMENT)}
>
> In practice, this might mean that particular uses of templates will need
> to specify the types of their variables.
Here, I disagree on two levels.
First, I will note that this argument is based solely on the difference
in the templates -- your example does different things with the SAME
inputs. What you seem to be arguing instead is that each part of a URL,
e.g. the path info, the query, etc., has a different set of reserved
characters that must be quoted.
Second, if the specification follows the recommendation that you give in
this example, you actually surprise many. I would suspect that most
would see that template and assume that they can pass in a path, and
find out that if the results are served statically by a server such as
Apache HTTPD, paths won't quite work as expected.
- Sam Ruby
Received on Saturday, 7 October 2006 02:52:22 UTC