Hi all,
>> - Doing something with values that are separated with ';'. >This is >> clearly desirable, but knowing what exactly to do is less >clear. >> I think it would have to be enabled on a tag-by-tag basis. > >I >had already been chewing this one over. If we are able to treat the >values as lists, where the normal case degenerates to a list of one >value, then we could think of simple list manipulation functions such as >"first element", "last element", "count of elements", "element N". In >practice the count of elements will be quite low (often 2-3 will be >enough I think), so allowing a reference to a non-existing element >(returning an empty string) would allow quite powerful style-file >constructions with only a couple of lines. I'm sure we can get by >without "for each element" constructions which sound more difficult to >implement. > >Nuts to crack: > > * how to handle a ";" in the data itself >(escape with preceding backslash? enclose value in quotes?) Really this >will need standardising across all editors/consumers, but I'm under no >illusions about the feasibility of that!
Yes, indeed, the array-handling could be the perfect overkill solution.
What about thinking a more simple way? Wouldn't it be enough to treat
a ';' like a 'continue' statement? Split the string, create a new object
with the remaining string part, and continue rule testing from start. So,
no map makers would have to care about this new option. I don't know
about mkgmap's internals, could you imagine this is possible?
Btw: there are tags where dividing could be a disadvantage, like in
opening hours. So only certain keys would be good to split, e.g.
amenity, or cuisine
So mkgmap would really be the first application (at least I know...)
to support ';' tagged objects.
Cheerio
Manfred
PS: It was a pleasure for me you meet you in Essen, was a lot of fun and
very interesting. Thank you all for coming, especially Steve and WanMil.
This has given me some motivation to continue on my sleeping project