Thanks Colin, this proposal makes some good points. Some comments :

For completeness, you should mention the possibility of an API-level
implementation[1]. Even if this'll be met with a "patches welcome" and
if we need a pragmatic solution in the meantime, supporting MV at the
API level has some impressive pros & cons.

You barely broach the subject of how MV and namespaces combine. For
example if an object has multiple refs with sources, it should be
clear wether an MV tag corresponds to "multiple sources for all the
refs" or to "source for the 2nd ref". In suffix syntax, this could be
distriinguished by "ref_1=x ref_2=y source_1:ref=a source_2:ref=b" vs
"ref_1=x ref_2=y source:ref_1=a source:ref_2=b", even though this is
becoming hairy.

Concerning ordered vs unordered, I don't think we should define it at
this level. Wether a key is treated as ordered or not will depend both
on the key and the consumer. For example searching for a POI will
always treat the MV as unordered, but displaying it is likely to treat
it as ordered (either by displaying an ordered list, or only
displaying the first value). Conversely, a carefully ordered list
might get interpreted as unordered (Say I want to promote POIs with a
particular tag, and always disply that one first if present. Or I've
loaded the values in a language structure that doesn't conserve
order).

A syntax to specify wether a list is ordered or not will typically be
ignored by consumers, and will only make the spec messyer. IMHO,
producers should write every tag as if it was ordered, and keep in
mind that consumers will do their own thing anyway.


[1]:http://wiki.openstreetmap.org/wiki/API_v0.7#Multiple_Tags

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

Reply via email to