"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