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.
>
>
0x3CBE432B.asc
Description: application/pgp-keys
_______________________________________________ Tagging mailing list [email protected] https://lists.openstreetmap.org/listinfo/tagging
