- From: Stefan Eissing <stefan.eissing@greenbytes.de>
- Date: Tue, 10 Oct 2006 10:03:55 +0200
- To: James M Snell <jasnell@gmail.com>
- Cc: Mark Nottingham <mnot@mnot.net>, Sam Ruby <rubys@intertwingly.net>, uri@w3.org
James, SPACE (if it is what i think it is) seems like a bad idea. The whitespace-ness of URI endings is very dear to me. I would like to see that extended in templates. Cheers, Stefan Am 09.10.2006 um 19:01 schrieb James M Snell: > > > Mark Nottingham wrote: >> >> I totally agree, and had thought that's where we ended up (we did >> a lot >> of last-minute adjustments ;). The template variable name should >> be able >> to be a full URI, with the full range of allowable characters >> available >> to it. >> > > Nope. When we cut back template-name to just the unreserved set we > eliminate the possibility that a template variable could be a full > URI. > > I think Stefan's suggestion of a two part definition is very good so > long as the template variable is still considered opaque to the > template > processing code. > > I would only make a couple of edits to Stefan's suggested ABNF > > template-char = unreserved > template-name = 1*template-char > ext_char = unreserved / reserved / pct-encoded / > SPACE / "|" / "\" / "^" / "`" > template-ext = 1*ext_char > template-var = "{" template-name [ ":" template-ext ] "}" > > Examples: > > Simple: {foo} > Bash-style parameter expansion: {foo:=bar} > URI: {foo:http://example.org/defs#Foo} > Regex {foo:\d+} > XPath: {foo:/a/b/c/@d} > ABNF: {foo:1*unreserved} > > In other words, this definition would give us a great deal of optional > flexibility while keeping the template-name itself very simple and > predictable. > > It would not be that difficult* for uri template library code to > provide > generic resolvers capable of supporting a variety of template-ext > vocabularies. However, I anticipate that the vast majority of users > wouldn't use anything more complicated than a simple Map. > > - James > > * The only thing that becomes difficult is determining which > template-ext vocabulary is being used so that an appropriate resolver > can be selected. >
Received on Tuesday, 10 October 2006 08:04:16 UTC