﻿id	summary	reporter	owner	description	type	status	priority	milestone	component	version	resolution	keywords	cc
22350	"[TaggingPreset] Add some values for ""match"" attribute to determine negative results of matching"	KorneySan	team	"Current version of `match` has five values:
* `none`: neutral, i.e., do not consider this item for matching
* `key`: positive if key matches, neutral otherwise
* `key!`: positive if key matches, negative otherwise
* `keyvalue`: positive if key and value matches, neutral otherwise
* `keyvalue!`: positive if key and value matches, negative otherwise
It becomes necessary to have negative match result only in some cases.

I propose to add some new values with following meaning:
* `!key`: negative if key matches, neutral otherwise
* `!key!`: negative if key matches, positive otherwise
* `!keyvalue`: negative if key and value matches, neutral otherwise
* `!keyvalue!`: negative if key and value matches, positive otherwise

It is required because some tag keys have multiple values that partly belongs to different subjects.
For example, with `public_transport=stop_position` we can use `bus=yes` which belongs to ""road"" ways and `train=yes` which belongs to ""rail"" ways. Using
{{{
<key
    key=""train""
    match=""!key""
    />
}}}
we can ensure that ""rail"" `stop_position` preset will **not** be shown for ""road"" `stop_position`."	enhancement	new	normal		Core			tagging preset match	
