Felix Hartmann schrieb am 21.01.2010 22:14:
keya=123 & highway=primary[continue] output
keya=123 & higwhay=* & highway!=primary [continue] no output
keya=123 [final] output
So you have to build a quite an extensive !=abc list to not output the
same lines several times. This now needs a lot of code if you for
example want to have 4 different designs for bridges, depending on the
width of the way it goes with.
I use auxiliary tags for such tasks:
keya=123 & highway= primary {set keya_done=true} [continue] output
keya=123 & highway=* & keya_done!=true [continue] no output
keya=123 [final] output
So you do have only one !=abc tag for each key, if you want to suppress the output.
I know one related bug in the style branch, the following does not work (but it
also does not work reliable in the trunk):
highway=primary & keya=123 {set highway=deleted} [continue]
highway=primary [final]
Both rules will result in an output. My understanding is, that you can not
change the first (or perhaps the main) expression of a rule in the action part.
I think it is related to the rule matching done via a hash table, but I am not
really familiar with the source, so this is just an educated guess.
See below for an example that does not work. It works with 1497, but
1498 breaks it.