Index: trunk/resources/data/validator/combinations.mapcss
===================================================================
--- trunk/resources/data/validator/combinations.mapcss	(revision 18534)
+++ trunk/resources/data/validator/combinations.mapcss	(revision 18535)
@@ -11,4 +11,7 @@
 
 /* {0.key} without {1.key} (warning level) */
+node[voltage:primary           ][!transformer],
+node[voltage:secondary         ][!transformer],
+node[voltage:tertiary          ][!transformer],
 way[junction                   ][!highway][junction!=yes][!area:highway],
 way[living_street              ][!highway],
@@ -346,5 +349,6 @@
 }
 
-/* {0.key} together with {1.key}, #18267, #17630, #17604 */
+/* {0.key} together with {1.key}, #18267, #17630, #17604, #21836 */
+node[transformer][voltage],
 node[marker][cover],
 node[marker][voltage],
@@ -1061,2 +1065,8 @@
   assertNoMatch: "relation piste:type=nordic piste:grooming=classic";
 }
+
+/* #21836 */
+*[voltage:primary][voltage:secondary][transformer=generator][tag("voltage:secondary")<tag("voltage:primary")] {
+  throwWarning: tr("{0} is lower than {1} on {2}.", "{1.key}", "{0.key}", "{2.tag}");
+  group: tr("suspicious tag combination");
+}
Index: trunk/resources/data/validator/deprecated.mapcss
===================================================================
--- trunk/resources/data/validator/deprecated.mapcss	(revision 18534)
+++ trunk/resources/data/validator/deprecated.mapcss	(revision 18535)
@@ -2382,3 +2382,12 @@
 }
 
+/* #21836 */
+*[voltage-high],
+*[voltage-low] {
+  throwWarning: tr("{0} is deprecated", "{0.key}");
+  suggestAlternative: "voltage:primary";
+  suggestAlternative: "voltage:secondary";
+  group: tr("deprecated tagging");
+}
+
 /* When tags are deprecated they should be added to ignoretags.cfg too. */
Index: trunk/resources/data/validator/geometry.mapcss
===================================================================
--- trunk/resources/data/validator/geometry.mapcss	(revision 18534)
+++ trunk/resources/data/validator/geometry.mapcss	(revision 18535)
@@ -96,4 +96,7 @@
 
 /* {0} on a way, should be a node */
+way[voltage:primary],
+way[voltage:secondary],
+way[voltage:tertiary],
 way[line_attachment],
 way[line_management],
Index: trunk/resources/data/validator/ignoretags.cfg
===================================================================
--- trunk/resources/data/validator/ignoretags.cfg	(revision 18534)
+++ trunk/resources/data/validator/ignoretags.cfg	(revision 18535)
@@ -136,4 +136,7 @@
 E:distance
 E:voltage
+E:voltage:primary
+E:voltage:secondary
+E:voltage:tertiary
 E:amperage
 E:generator:output:electricity
@@ -727,4 +730,6 @@
 K:surface=decoturf
 K:school=entrance
+E:voltage-high
+E:voltage-low
 ;
 ; Tags not yet decided (to remove from this section when added or moved up when deprecated) 
Index: trunk/resources/data/validator/numeric.mapcss
===================================================================
--- trunk/resources/data/validator/numeric.mapcss	(revision 18534)
+++ trunk/resources/data/validator/numeric.mapcss	(revision 18535)
@@ -373,5 +373,8 @@
 }
 
-way[voltage][voltage =~ /(.*[A-Za-z].*)|.*,.*|.*( ).*/] {
+way[voltage][voltage =~ /(.*[A-Za-z].*)|.*,.*|.*( ).*/],
+way[voltage:primary][voltage:primary =~ /(.*[A-Za-z].*)|.*,.*|.*( ).*/],
+way[voltage:secondary][voltage:secondary =~ /(.*[A-Za-z].*)|.*,.*|.*( ).*/],
+way[voltage:tertiary][voltage:tertiary =~ /(.*[A-Za-z].*)|.*,.*|.*( ).*/] {
   throwWarning: tr("voltage should be in volts with no units/delimiter/spaces");
   assertMatch: "way voltage=medium";
