Index: /trunk/data/validator/tagchecker.cfg
===================================================================
--- /trunk/data/validator/tagchecker.cfg	(revision 6525)
+++ /trunk/data/validator/tagchecker.cfg	(revision 6526)
@@ -146,29 +146,33 @@
 *    : W : reservoir_type       == * && landuse != reservoir && water != reservoir     # reservoir_type without landuse/water=reservoir
 *    : W : bunker_type          == * && military != bunker                             # bunker_type without military=bunker
-*    : W : source:addr           == * && /addr:*/         != *                         # source:addr without addr:*
-*    : W : source:date           == * && source           != *                         # source:date without source
-*    : W : source:name           == * && name             != *                         # source:name without name
-*    : W : source:maxspeed       == * && maxspeed         != *                         # source:maxspeed without maxspeed
-*    : W : source:building       == * && building         != *                         # source:building without building
-*    : W : source:ref            == * && ref              != *                         # source:ref without ref
-*    : W : source:population     == * && population       != *                         # source:population without population
-node : W : source:geometry       == *                                                  # source:geometry on a node
-*    : W : /source:*postcode/    == * && addr:postcode    != *                         # source:[addr:]postcode without addr:postcode
-*    : W : source:postal_code    == * && addr:postcode    != *                         # source:postal_code without addr:postcode
-*    : W : source:ele            == * && ele              != *                         # source:ele without ele
-*    : W : source:ref:INSEE      == * && ref:INSEE        != *                         # source:ref:INSEE without ref:INSEE
-*    : W : source:lit            == * && lit              != *                         # source:lit without lit
-*    : W : source:hgv            == * && hgv              != *                         # source:hgv without hgv
-node : W : source:outline        == *                                                  # source:outline on a node
-*    : W : source:highway        == * && highway          != *                         # source:highway without highway
-*    : W : source:maxaxleload    == * && maxaxleload      != *                         # source:maxaxleload without maxaxleload
-*    : W : source:surface        == * && surface          != *                         # source:surface without surface
-*    : W : source:bridge         == * && bridge           != *                         # source:bridge without bridge
-*    : W : source:old_name       == * && old_name         != *                         # source:old_name without old_name
-*    : W : source:bicycle        == * && bicycle          != *                         # source:bicycle without bicycle
-*    : W : source:designation    == * && designation      != *                         # source:designation without designation
-*    : W : /source:*housenumber/ == * && addr:housenumber != *                         # source:[addr:]housenumber without addr:housenumber
-*    : W : source:height         == * && height           != *                         # source:height without height
-*    : W : source:lanes          == * && lanes            != *                         # source:lanes without lanes
+*    : W : source:addr                  == * && /addr:.*/                != *          # source:addr without addr:*
+*    : W : source:date                  == * && source                   != *          # source:date without source
+*    : W : source:name                  == * && name                     != *          # source:name without name
+*    : W : source:maxspeed              == * && /maxspeed(:.*)?/         != *          # source:maxspeed without maxspeed
+*    : W : source:maxspeed:forward      == * && maxspeed:forward         != *          # source:maxspeed:forward without maxspeed:forward
+*    : W : source:maxspeed:backward     == * && maxspeed:backward        != *          # source:maxspeed:backward without maxspeed:backward
+*    : W : source:maxspeed:forward      == * && source:maxspeed:backward != *          # source:maxspeed:forward without source:maxspeed:backward
+*    : W : source:maxspeed:backward     == * && source:maxspeed:forward  != *          # source:maxspeed:backward without source:maxspeed:forward
+*    : W : source:building              == * && building                 != *          # source:building without building
+*    : W : source:ref                   == * && ref                      != *          # source:ref without ref
+*    : W : source:population            == * && population               != *          # source:population without population
+node : W : source:geometry              == *                                           # source:geometry on a node
+*    : W : /source:(addr:)?postcode/    == * && addr:postcode            != *          # source:[addr:]postcode without addr:postcode
+*    : W : source:postal_code           == * && postal_code              != *          # source:postal_code without postal_code
+*    : W : source:ele                   == * && ele                      != *          # source:ele without ele
+*    : W : source:ref:INSEE             == * && ref:INSEE                != *          # source:ref:INSEE without ref:INSEE
+*    : W : source:lit                   == * && lit                      != *          # source:lit without lit
+*    : W : source:hgv                   == * && hgv                      != *          # source:hgv without hgv
+node : W : source:outline               == *                                           # source:outline on a node
+*    : W : source:highway               == * && highway                  != *          # source:highway without highway
+*    : W : source:maxaxleload           == * && maxaxleload              != *          # source:maxaxleload without maxaxleload
+*    : W : source:surface               == * && surface                  != *          # source:surface without surface
+*    : W : source:bridge                == * && bridge                   != *          # source:bridge without bridge
+*    : W : source:old_name              == * && old_name                 != *          # source:old_name without old_name
+*    : W : source:bicycle               == * && bicycle                  != *          # source:bicycle without bicycle
+*    : W : source:designation           == * && designation              != *          # source:designation without designation
+*    : W : /source:(addr:)?housenumber/ == * && addr:housenumber         != *          # source:[addr:]housenumber without addr:housenumber
+*    : W : source:height                == * && height                   != *          # source:height without height
+*    : W : source:lanes                 == * && lanes                    != *          # source:lanes without lanes
 
 
