[OSM-dev] Disallowing certain characters in tag keys
ulf.lamping at googlemail.com
Sun Oct 17 08:48:31 BST 2010
Am 16.10.2010 20:44, schrieb Jochen Topf:
> I am currently fighting some issues where tags with strange characters in them
> need to be represented in a URL for Taginfo. Lots of other websites probably
> will have similar issues. Characters like /, ?,&, etc. have special meaning
> in URLs so if they appear in tags I can't have those tags in URLs. Sometimes
> escaping characters as %XX helps, sometimes not. And those problems are not
> confined to web pages and URLs only. Special characters that need escaping
> are often a problem.
Yes, special characters can cause headaches. I remember this from my own
tag analyzing experiments and other software projects ;-)
I agree with you that most (all?) of them are (usually unintended) bugs.
For example: Not long ago, it was a common tag problem that keys started
or ended with a space char. IIRC the xybot regularly fixes those bugs now.
However, as those characters can be used in the name values (and
elsewhere), you have to deal with the correct handling of special
characters in your software anyway, so I'm not sure if disallowing
special characters in the key will really help us in that regard.
The problem with disallowing special characters is that you "close the
door". Software writers will then write software that depends on them
not being there (or not caring which is probably the common case today).
If we later find out that - for whatever reasons - we want to use one of
those chars this will become extremely difficult, as it will cause
trouble at many places in existing software.
What we currently don't have is a guideline for mappers. I'm missing
(and thinking to write for some time) a: "How to write good tags". To my
knowledge we don't have a written guide (not rule) that we tend to used
lower case chars, underscores instead of spaces and all that "unwritten
rules". Of course, this could include: "don't use special chars like /,
?, ... in keys - because this makes it hard for software writers".
I tend to simply ignore keys with special chars - as we do it today ...
More information about the dev