Index: /trunk/data/validator/geometry.mapcss
===================================================================
--- /trunk/data/validator/geometry.mapcss	(revision 6718)
+++ /trunk/data/validator/geometry.mapcss	(revision 6719)
@@ -31,4 +31,5 @@
 
 /* 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");
@@ -43,2 +44,16 @@
   throwWarning: tr("Overlapping Identical Landuses");
 }
+
+/* see ticket:#9522 */
+node[tag("amenity") = parent_tag("amenity")] ∈ *[amenity][amenity != parking] {
+  throwWarning: tr("{0} inside {1}", concat("amenity=", tag("amenity")), concat("amenity=", tag("amenity")));
+}
+node[tag("leisure") = parent_tag("leisure")] ∈ *[leisure] {
+  throwWarning: tr("{0} inside {1}", concat("leisure=", tag("leisure")), concat("leisure=", tag("leisure")));
+}
+node[tag("tourism") = parent_tag("tourism")] ∈ *[tourism] {
+  throwWarning: tr("{0} inside {1}", concat("tourism=", tag("tourism")), concat("tourism=", tag("tourism")));
+}
+node[tag("shop") = parent_tag("shop")] ∈ *[shop] {
+  throwWarning: tr("{0} inside {1}", concat("shop=", tag("shop")), concat("shop=", tag("shop")));
+}
