x

Keys in einem Tag: Länge, Gleichheit, ...


Geschrieben von Weide (Gast) am 01. März 2019 09:22:16: [flux]

Wir haben da praktische und einfache Regeln, die aber bei näherer Betrachtung ein paar Hinterlistigkeiten zeigen:

In https://wiki.openstreetmap.org/wiki/Elements#Tag steht

Each of these are Unicode strings of up to 255 characters.

Hmm. Das wären dann bis 2048 UTF-8 Bytes. Ist das wirklich so gedacht? Lässt die Datenbank das zu? Können die Editoren das verdauen?

An element cannot have 2 tags with the same 'key', the 'key's must be unique.

Das ist m.E. eine schöne vernünftige Regel. Aber...

Wollen wir denn wirklich, dass
description=xxx
description=yyy
verboten ist während
description=xxx
Description=yyy
erlaubt ist?

Es wäre sogar das Folgende in einem Datensatz erlaubt:
description=xxx
descriptiοn=yyy

(Die Keys sind verschieden ... man sieht es nur nicht ... da steckt ein griechisches Omikron drin)

Es geht sogar noch wilder. In UTF-8 kann man dasselbe Zeichen manchmal auf mehrere Arten ausdrücken. Da haben wir den gleichen Unicode aber verschiedene UTF-8 Darstellungen. Alle Bytestring-Vergleiche wären damit nicht korrekt.

Sollten wir da nicht lieber sagen, dass ein Key maximal xxx Byte haben darf und dass die Gleichheit von Keys nicht zwischen Groß- und Kleinbuchstaben unterscheidet und das in Keys nur ein Subset von Unicode erlaubt ist?


Antworten: