Index: /trunk/data/validator/geometry.mapcss
===================================================================
--- /trunk/data/validator/geometry.mapcss	(revision 6860)
+++ /trunk/data/validator/geometry.mapcss	(revision 6861)
@@ -13,6 +13,6 @@
 
 /* Building inside building (spatial test) */
-*[building!~/no|entrance/][coalesce(tag("layer"),"0") = coalesce(parent_tag("layer"),"0")] ∈
-*[building!~/no|entrance/] {
+*[building][building!~/no|entrance/][coalesce(tag("layer"),"0") = coalesce(parent_tag("layer"),"0")] ∈
+*[building][building!~/no|entrance/] {
   throwWarning: tr("Building inside building");
 }
@@ -32,5 +32,4 @@
 
 /* see ticket #9311 */
-node[amenity=parking][!"capacity:disabled"] ∈ *[amenity=parking],
 node[amenity=parking]["capacity:disabled" !~ /^(yes|[0-9]+)$/] ∈ *[amenity=parking] {
   throwWarning: tr("{0} inside {1}", "amenity=parking", "amenity=parking");
Index: /trunk/data/validator/numeric.mapcss
===================================================================
--- /trunk/data/validator/numeric.mapcss	(revision 6860)
+++ /trunk/data/validator/numeric.mapcss	(revision 6861)
@@ -15,5 +15,5 @@
 }
 
-*[layer !~ /^0$|^(-|\+)?[1-5]$/] {
+*[layer][layer !~ /^0$|^(-|\+)?[1-5]$/] {
   throwWarning: tr("layer should be between -5 and 5");
   assertMatch: "node layer=-50";
@@ -26,5 +26,5 @@
 }
 
-*[level !~ /^((([0-9]|-[1-9])|[1-9][0-9]*)(\.5)?)(;(([0-9]|-[1-9])|[1-9][0-9]*)(\.5)?)*$|^-0\.5$/] {
+*[level][level !~ /^((([0-9]|-[1-9])|[1-9][0-9]*)(\.5)?)(;(([0-9]|-[1-9])|[1-9][0-9]*)(\.5)?)*$|^-0\.5$/] {
   throwWarning: tr("level should be numbers with optional .5 increments");
   assertMatch: "node level=one";
@@ -36,5 +36,5 @@
 }
 
-*[height !~ /^(([0-9]+\.?[0-9]*( (m|ft))?)|([1-9][0-9]*\'((10|11|[0-9])((\.[0-9]+)?)\")?))$/] {
+*[height][height !~ /^(([0-9]+\.?[0-9]*( (m|ft))?)|([1-9][0-9]*\'((10|11|[0-9])((\.[0-9]+)?)\")?))$/] {
   throwWarning: tr("{0}: meters is default; period is separator; if units, put space then unit", "height");
   assertMatch: "node height=medium";
@@ -47,5 +47,5 @@
 }
 
-*[maxheight !~ /^(([1-9][0-9]*(\.[0-9]+)?( (m|ft))?)|([0-9]+\'(([0-9]|10|11)(\.[0-9]*)?\")?))$/] {
+*[maxheight][maxheight !~ /^(([1-9][0-9]*(\.[0-9]+)?( (m|ft))?)|([0-9]+\'(([0-9]|10|11)(\.[0-9]*)?\")?))$/] {
   throwWarning: tr("{0}: meters is default; period is separator; if units, put space then unit", "maxheight");
   assertMatch: "node maxheight=something";
@@ -60,5 +60,5 @@
 }
 
-way[width !~ /^(([0-9]+\.?[0-9]*( [a-z]+)?)|([0-9]+\'([0-9]+\.?[0-9]*\")?))$/] {
+way[width][width !~ /^(([0-9]+\.?[0-9]*( [a-z]+)?)|([0-9]+\'([0-9]+\.?[0-9]*\")?))$/] {
   throwWarning: tr("{0}: meters is default; period is separator; if units, put space then unit", "width");
   assertMatch: "way width=something";
@@ -72,5 +72,5 @@
 }
 
-*[maxwidth !~ /^(([0-9]+\.?[0-9]*( (m|ft))?)|([0-9]+\'[0-9]+\.?[0-9]*\"))$/] {
+*[maxwidth][maxwidth !~ /^(([0-9]+\.?[0-9]*( (m|ft))?)|([0-9]+\'[0-9]+\.?[0-9]*\"))$/] {
   throwWarning: tr("{0}: meters is default; period is separator; if units, put space then unit", "maxwidth");
   assertMatch: "way maxwidth=something";
@@ -82,5 +82,5 @@
 }
 
-way[maxspeed !~ /^(signals|none|unposted|unknown|variable|walk|[1-9][0-9]*( [a-z]+)?|[A-Z][A-Z]:(urban|rural|living_street|motorway))$/] {
+way[maxspeed][maxspeed !~ /^(signals|none|unposted|unknown|variable|walk|[1-9][0-9]*( [a-z]+)?|[A-Z][A-Z]:(urban|rural|living_street|motorway))$/] {
   throwWarning: tr("unusual {0} format", "maxspeed");
   assertMatch: "way maxspeed=something";
@@ -98,5 +98,5 @@
 }
 
-way[voltage =~ /(.*[A-Za-z].*)|.*,.*|.*( ).*/] {
+way[voltage][voltage =~ /(.*[A-Za-z].*)|.*,.*|.*( ).*/] {
   throwWarning: tr("voltage should be in volts with no units/delimiter/spaces");
   assertMatch: "way voltage=medium";
@@ -106,5 +106,5 @@
 /* some users are using frequency for other purposes (not electromagnetic) 
    with the values 'perennial' and 'intermittent'; the vast majority are 0, 16.7, 50 and 60 */
-way[frequency !~ /^(0|[1-9][0-9]*(\.[0-9]+)?)( (kHz|MHz|GHz|THz))?$/] {
+way[frequency][frequency !~ /^(0|[1-9][0-9]*(\.[0-9]+)?)( (kHz|MHz|GHz|THz))?$/] {
   throwWarning: tr("unusual {0} specification", "frequency");
   assertMatch: "way frequency=something";
@@ -116,5 +116,5 @@
 }
 
-way[gauge !~ /^([1-9][0-9]{1,3}(;[1-9][0-9]{1,3})*|broad|standard|narrow)$/] {
+way[gauge][gauge !~ /^([1-9][0-9]{1,3}(;[1-9][0-9]{1,3})*|broad|standard|narrow)$/] {
   throwWarning: tr("unusual train track gauge; use mm with no separator");
   assertMatch: "way gauge=something";
@@ -126,5 +126,5 @@
 
 /* the numbers for percentage and degrees include could probably be bracketed a bit more precisely */
-way[incline !~ /^(up|down|-?([0-9]+?(\.[1-9]%)?|100)[%°]?)$/] {
+way[incline][incline !~ /^(up|down|-?([0-9]+?(\.[1-9]%)?|100)[%°]?)$/] {
   throwWarning: tr("unusual incline; use percentages/degrees or up/down");
   assertMatch: "way incline=extreme";
@@ -137,5 +137,5 @@
 
 /* see ticket #9631 */
-*[population !~ /^[0-9]+$/ ] {
+*[population][population !~ /^[0-9]+$/ ] {
   throwWarning: tr("{0} must be a numeric value", "{0.key}");
 }
