- From: Joe Gregorio <joe@bitworking.org>
- Date: Mon, 26 Nov 2007 14:04:18 -0500
- To: "James M Snell" <jasnell@gmail.com>
- Cc: URI <uri@w3.org>
On Nov 26, 2007 11:56 AM, James M Snell <jasnell@gmail.com> wrote: > Looks good overall, some comments: > > 1. varname is unnecessarily restrictive. There is no harm that I can see > in using the following: > > unreservedsansdash = (alphanum / "." / "_" / "~") > varname = unreservedsansdash *(unreserved) > > For URI Templates, this is *extremely* minor, but for IRI > Templates (see below) this will have a significant impact on > what characters can be used for varname (replace unreserved > with iunreserved) That makes sense. > 2. Did you decide against introducing cardinality indicators? > e.g., {-list|&|foo+,bar}. I haven't decided against them, just waiting for more feedback, particularly weighing cardinality vs. required/optional vs can-be-a-list indicators. > 3. For -join, you need to specify what happens if the value is a list. > e.g., foo = ['a','b'] would expand to foo=a&foo=b Yeah, I'd like to hear more opinions about using lists in operators outside '-listjoin'. > 4. There are interesting things that could be done if we allow prefix > and append to use list values. The prefix or postfix would be > applied to each item in the list. e.g., when foo = ['a','b'], > {-prefix|/|foo} would expand to "/a/b" and {-append|/|foo} would > expand to "a/b/". > > http://example.org{-opt|/-|categories}{-prefix|/|categories} > > http://example.org/-/a/b/c > > http://example.org{-opt|/-/|categories}{-append|/|categories} > > http://example.org/-/a/b/c/ I worry about introducing that level of complexity into the specification/implementation. > 5. We need to decide whether or not "extension operations" are going to > be allowed, and if so, how are they to be handled. Should an > template processor signal an error if an unknown operation is used? > Should the processor replace the unknown token with an empty string? I am leaning towards a 'must ignore' stance with respect to unknown operators, i.e. replace the expansion with the empty string. > 6. We should include a section on IRI Templates. I'll volunteer to write > it up if you'd like. An IRI template is generally identical to the > URI Template with the exception of the characters allowed in varname, > arg and the replacements. The following is taken from my expanded > ABNF: So in the IRI case any characters outside ( iunreserved / pct-encoded ) in a variable value need to be percent-encoded, and we skip the UTF-8 encoding? -joe -- Joe Gregorio http://bitworking.org
Received on Monday, 26 November 2007 19:04:33 UTC