[Talk-at] YA Hausnummern in Wien

Friedrich Volkmann bsd at volki.at
Mon Jul 23 09:00:30 UTC 2012


On 22.07.2012 11:56, Boris Cornet wrote:
> Überhaupt nicht logisch stringent ist aber deine Idee des Taggings:
>> addr:street=* + addr:housenumber=*
>> addr1:street=* + addr1:housenumber=*
>
> Du willst also ein Programm zwingen, eine unvorhersehbare Zahl von
> unterschiedlichen Tags auszuwerten? Eine kleine, aber entscheidende
> Verbesserung wäre:
>
> addr:1:street
> addr:2:street
>
> Das hat den Vorteil, dass es universell ist (also nicht nur auf den
> addr namespace beschränkt bleiben muss) und wesentlich einfacher zu
> parsen ist.

Ich sehe beim Parsen keinen wesentlichen Unterschied, ob zwischen addr und 
Zahl ein Doppelpunkt steht. Z.B. in Perl:
if ($key =~ /^addr(\d+):(\w+)/) {$addrnum=$1; $subkey=$2}
if ($key =~ /^addr:(\d+):(\w+)/) {$addrnum=$1; $subkey=$2)
oder für Namespaces:
if ($key=~ /^([[:alpha:]_]+)(\d*):(\w+)/) {$namespace=$1; $namespace_num=$2; 
$subkey=$3}
if ($key=~ /^(\w+):(?:(\d*):)?(\w+)/) {$namespace=$1; $namespace_num=$2; 
$subkey=$3}

Aber vielleicht ist es mit Doppeltpunkt besser lesbar.

Deine Variante, auch bei der ersten Straße eine Nummer in den Key zu geben, 
hat auf jeden Fall den Vorteil, dass wir definieren können:
mit Nummer ... gilt für eine der Adressen
ohne Nummer ... Default für alle Adressen des Objekts

Somit braucht man country, postcode und city nur 1x angeben:

addr:country=AT
addr:postcode=1010
addr:city=Wien
addr:1:street=Hubergasse
addr:1:housenumber=3
addr:2:street=Meiergasse
addr:2:housenumber=8

Wenn jemand ein Postfach hat:
addr:3:postcode=1011
addr:3:pob=851

-- 
Friedrich K. Volkmann       http://www.volki.at/
Adr.: Davidgasse 76-80/14/10, 1100 Wien, Austria




More information about the Talk-at mailing list