ok, let not call it unordered, but it is just a list without positions.
If you are using | pipes, you have specific positions. And there, an
empty value is also a value/information. But if you have a list like you
should do with ; an empty value would be nothing, there wont be any
information that you could read from this non-value, differently from an
empty position with | pipes.

Anyway, if you want to introduce \; and not ;; for escaping, ok. but you
have to make a proposal and so on. ;; is already fixed in wiki, and I
really would not like to talk about such a situation that practically
never occurs.

On 19.01.2016 20:02, Colin Smale wrote:
> Who says the lists using a semicolon are by definition unordered? 
> 
> A road with multiple ref's might have ref=A1;A2 where A1 is listed first
> on the signs. A shop with multiple categories (I know this is subject to
> some discussion) might have shop=a;b;c where shop=a is its primary
> categorisation. A road with destination=City1;City2 may show City1 first
> or more prominently on signs. If you try to say that these values are
> unordered by definition, i.e. the order conveys no meaning at all, I am
> sure you will get a lot of pushback.. 
> 
> Anyway, syntactically the semicolon syntax is pretty damn similar to the
> pipe syntax for lanes, except that (so far) an empty value doesn't make
> sense in the places that are currently using the semicolon syntax.
> Looking through the eyes of a lexical parser I see no intrinsic reason
> why the two delimiters should be treated so differently. Tags and values
> are for machine processing, not for direct human consumption; in order
> to be fit-for-purpose they have to lend themselves to machine
> interpretation, and that usually means well-defined rules of syntax. 
> 
> //colin 
> 
> On 2016-01-19 19:41, Hakuch wrote:
> 
>> On 19.01.2016 19:25, Colin Smale wrote: 
>>
>>> So how do you indicate a missing/empty value in the middle of the list?
>>> Does "a;;b" mean a single value of "a;b" or does it mean three values
>>> "a", "" and "b"?
>>>
>>> The "lanes" tag family uses a different delimiter ("|"), sometimes
>>> together with a semicolon to make a kind of 2-d array. A double pipe
>>> ("||") indicates a missing value there. Wouldn't it be nice if we were
>>> consistent?
>>
>> no, that is a complete different situation. The lane-family use
>> parameters (if you like it or not), so every position has a meaning.
>>
>> The semicolon is for (unordered) lists, an empty value doesn't make any
>> sense there.
>  
> 

Attachment: 0x3CBE432B.asc
Description: application/pgp-keys

_______________________________________________
Tagging mailing list
Tagging@openstreetmap.org
https://lists.openstreetmap.org/listinfo/tagging

Reply via email to