- From: Mark Nottingham <mnot@mnot.net>
- Date: Mon, 28 Jan 2008 11:10:39 +1100
- To: "Manger, James H" <James.H.Manger@team.telstra.com>
- Cc: "URI" <uri@w3.org>
On 17/01/2008, at 12:13 PM, Manger, James H wrote: > > Not sure I agree here; if we're going to add a layer of > abstraction, let's have a good reason for it. > > Example: > > OpenSearch (1.1) defines 7 parameters (variable names): searchTerms, > count, startIndex, startPage, language, inputEncoding, and > outputEncoding. > > [http://www.opensearch.org/Specifications/OpenSearch/1.1#OpenSearch_1.1_parameters > ] > > The examples in the OpenSearch spec that use these in query > parameters all use different query names. For instance, …? > q={searchTerms}&pw={startPage}. > > Many web site search interfaces use different name for the > OpenSearch parameters: “q” or “query” for “searchTerms” is common; > “oe” for “outputEncoding”; “page” for “startPage” etc. > > Specifications (such as OpenSearch) will often define the variable > names, while web sites define their own query names. Consequently, > the variable and query name will often not match. Consequently, > templates need to support this easily, which {-join|arg|vars} does > not do. > Sounds good. I wasn't thinking about standard-defined templates... > >> The simplest model is to say each variable value is a list of > (Unicode) strings. An empty list is treated as if the variable was > undefined. > > > Not sure I'm with you here. > > If some variables are strings (x="Hi") and some are lists of strings > (y=["red", "blue"]), it is simpler to say all variables are lists of > strings (it is just many lists will only contain 1 string). A string > in a programming language can have a value (0, 1 or more characters) > or be undefined (eg null). A list of strings has an extra > possibility: it can be an empty list. Consequently, the spec needs > an explicit statement that a variable whose value is an empty list > is treated the same as a variable whose value is undefined (both of > which are different from a variable whose value is a list of 1 empty > string). > > x=["Hi"] > > y=["red", "blue"] > > z=[""] non-empty list, with 1 string that has no characters > > w=[ ] empty list > > z and w are different. v is not defined. > > “A{-prefix|_|z}B{-prefix|_|w}C{-prefix|_|v}D” would become “A_BCD”) > Seems reasonable, but I suspect that however we describe the data model, there's going to be about the same amount of verbiage around it. Cheers, -- Mark Nottingham http://www.mnot.net/
Received on Monday, 28 January 2008 00:10:54 UTC