- From: Mike Schinkel <mikeschinkel@gmail.com>
- Date: Mon, 15 Oct 2007 16:00:17 -0400
- To: "'James M Snell'" <jasnell@gmail.com>
- Cc: <uri@w3.org>
> For instance, we could have {`ext}, where ext is some > extension syntax. Please let's not use a character like ` that is easily mistake for another character ' and also very easy for the eye to miss when printed or displayed. -- -Mike Schinkel http://www.mikeschinkel.com/blogs/ http://www.welldesignedurls.org http://atlanta-web.org > -----Original Message----- > From: James M Snell [mailto:jasnell@gmail.com] > Sent: Monday, October 15, 2007 3:47 PM > To: Mike Schinkel > Cc: 'Stefan Eissing'; uri@w3.org > Subject: Re: URI Templates - optional variables? > > I would much rather define a limited core set of <op>'s that > cover the most basic and most common cases and include in > that set a special <op> code that indicates that the > remainder of the token is going to be in some > application-specific or extension syntax. > > For instance, we could have {`ext}, where ext is some > extension syntax. > > Examples: > {`func(var,stuff)} > {`http://example.org/foo} > > Note that the {`ext} only differs from {var} in that the > application would be expected to perform some kind of > evaluation of ext as opposed to var which is effectively just a key. > > e.g., {foo} -> map["foo"] > {`foo} -> eval("foo") > > We could also allow for something like {`{arg}|{ext}}, where > {arg} is inserted if ext evaluates to a null value or an empty list. > > e.g., {`bar|foo} -> eval("foo") || "bar" > > - James > > Mike Schinkel wrote: > > It is funny how we keep going full circle. > > > > I'll throw my earlier suggestions to use a name and colon where the > > default is just {var}: > > > > {<arg|var} -> {prefix:var,stuff} > > {>arg|var} -> {append:var,stuff} > > {,arg|var} -> {join:var,stuff} > > {&arg|var} -> {joinlist:var,stuff} > > > > Also for functions where functions could be defined by external > > extensibility mechanism (i.e. functions in Python): > > > > {func(var,stuff)} > > > >> And would like to have a URI for each function. So, if I > GET http:// > >> example.org/funcs/dog?{x} I will have the same result as > any template > >> parser implementing that function does. > >> > >> And use something like namespace uris for extension functions > >> > >> n -> http://example.org/extensions/ --- (where is that done?) > >> http://example.org/{n:dog(x)} --- substitute function > "n:dog" > >> applied to x > >> > >> which should behave like GET on > >> http://example.org/extensions/dog?{x} > > > > While I greatly see the necessity of having standardized mechanisms > > for identifying variables and functions, I think they should be > > seperated from the URI template spec as the URI template > spec defines > > a single string and not the context in which that string operates. > > > > Better to define how URI Templates can be used in contexts, for > > example in WebForms > > > http://blog.welldesignedurls.org/2007/01/11/proposing-uri-templates-fo > > r-webf > > orms-2/ > > http://lists.w3.org/Archives/Public/uri/2006Dec/0028.html > >
Received on Monday, 15 October 2007 20:00:32 UTC