
"consuming" a key value pair could be done with delete already. but i have a couple of catch all lines at the end of my style: name, ele, fixme... those would always fire if the style is always processed to the last lines. example: node: tourism=alpine_hut amenity=restaurant name=some-name ele=1000 fixme=ele approx only i could consume tourism/amenity like that: tourism=alpine_hut { delete tourism } [0x1000 resolution 24 continue] amenity=restaurant { delete amenity} [0x1001 resolution 24 continue] in that case all the catch all lines will fire, so in this case i'd get 5 pois on top of each other maybe one could use an auxiliary tag, like this tourism=alpine_hut { delete tourism; set catch-all=no; } [0x1000 resolution 24 continue] and then name=* & catch-all!=no [0x1002 resolution 24] Am 06.02.2012 13:48, schrieb Torsten Leistikow:
Greg Troxel schrieb am 06.02.2012 13:36:
So I wonder about a keyword (or a default, since efficiency seems secondary to getting the right answer) that is like continue, but consumes the tags that matched to make the rule fire. That way tags would be removed as they are matched, so that following more general rules don't fire (shop=food goes away, so shop=* doesn't match), but that multiple garmin objects are generated in your hut/restaurant combination entity. You can use the continue with_actions and just delete the shop tag in your example. For such tasks I use auxiliary tags like ignore_shop=yes, which I set when the first rule is processed. e.g. shop=food& ignore_shop!=yes {set ignore_shop=yes} [... continue with_actions] shop=*& ignore_shop!=yes {set ignore_shop=yes} [... continue with_actions]
So only the first matching shop rule will be processed, but all additional rules will be processed also.
Gruss Torsten _______________________________________________ mkgmap-dev mailing list mkgmap-dev@lists.mkgmap.org.uk http://www.mkgmap.org.uk/mailman/listinfo/mkgmap-dev