- From: Sam Ruby <rubys@intertwingly.net>
- Date: Sat, 07 Oct 2006 07:45:51 -0400
- To: Stefan Eissing <stefan.eissing@greenbytes.de>
- CC: Mark Nottingham <mnot@mnot.net>, uri@w3.org
Stefan Eissing wrote: > > It seems to me that the data type of uri templates parameter would be > part of the template and not part of the input. The one designing the > template should know what goes where? Exactly. To use the popular terms of the day, I'm advocating being opinionated. I'm advocating convention over configuration. Most of all, I'm arguing simplicity - where in this case, I'm trying to optimize first for the people creating the input data structures (the ones most likely to get things wrong), then for the template designers, and finally for the people who implement the code that converts templates into URI/IRIs. I'm claiming that in 99.9999% of the time, one has all the information one needs in the template itself: >> from urlparse import urlparse >>> urlparse('http://www.example.com/{a}') ('http', 'www.example.com', '/{a}', '', '', '') >>> urlparse('http://www.example.com/foo?path={a}') ('http', 'www.example.com', '/foo', '', 'path={a}', '') My feeling is that we should go character by character and decide what gets escaped and what does not. Example rules (the spec should pick one): * slashes get escaped everywhere, independent of where they appear in the URI * slashes get escaped in the (x,y,z) portions of the URI, but not in the (a,b,c) portions {where we debate what the appropriate values of x, y ,z ,a ,b, and c are.} * the last variable in the path is treated special... Once the basics are nailed down, we can discuss whether there is a need for overrides. If so, it could be described as an optional feature that templating implementation can provide. It wouldn't surprise me if a number of templating libraries implemented this, if it were spec'ed. For example, I'm sure that James Snell would. What would surprise me would be to find many who would use such an interface in the presence of an alternative which accepts a java.util.Map of simple name/value pairs. - Sam Ruby
Received on Saturday, 7 October 2006 11:46:09 UTC