﻿id	summary	reporter	owner	description	type	status	priority	milestone	component	version	resolution	keywords	cc
9414	MapCSS-based tag checker/fixer	simon04	simon04	"I'm considering to implement a tag checker/fixer based on the MapCSS syntax which subsumes the functionality of `TagChecker` and `DeprecatedTags`.

For instance, the line 
{{{
way  : I : highway == footway && maxspeed == *                 # maxspeed used for footway
}}}
from `tagchecker.cfg` could be written as
{{{
#!mapcss
way[highway=footway][maxspeed] {
  throwInformation: 'maxspeed used for footway';
}
}}}

And a test from `DeprecatedTags` 
{{{
#!java
        checks.add(new DeprecationCheck(2110).
                testAndRemove(""natural"", ""marsh"").
                add(""natural"", ""wetland"").
                add(""wetland"", ""marsh""));
}}}
could look like
{{{
#!mapcss
*[natural=marsh] {
   throwWarning: 'natural=marsh is deprecated';
   fixRemove: 'natural=marsh';
   fixAdd: 'natural=wetland';
   fixAdd: 'wetland=marsh';
}
}}}

An implementation of this seems very easy, since we can use `MapCSSParser`. This would get rid of some custom file formats plus parsers and also allows end users to write custom tests/fixes.

What do you think?"	enhancement	closed	major	14.01	Core validator		fixed	mapcss	bastiK
