Index: unk/data/ignoretags.cfg
===================================================================
--- /trunk/data/ignoretags.cfg	(revision 6481)
+++ 	(revision )
@@ -1,382 +1,0 @@
-# JOSM IgnoreTags
-;
-; K:  ignore this tag
-; E:  ignore tags with this key
-; S:  ignore tag if key starts with this string
-; F:  ignore tag if key ends with this string
-;
-;
-; Ignore valid and semi-valid keys that start with...
-;
-S:opengeodb
-S:openGeoDB
-S:name:
-S:note:
-S:tiger:
-S:gnis:
-S:census:
-S:au.gov.abs:
-S:qroti:
-S:is_in
-S:wikipedia
-S:source:
-S:source_ref:
-;
-; Ignore valid and semi-valid keys that equal...
-;
-E:name
-E:loc_name
-E:attribution
-E:admin_level
-E:old_name
-E:operator
-E:usage
-E:construction
-E:collection
-E:addr:state
-E:import_uuid
-E:image
-E:url
-E:website
-E:postal_code
-E:source:boundary
-E:hour_on
-E:hour_off
-E:tower:type
-E:rcn_ref
-E:place_name
-E:cycleway
-E:abutters
-E:survey_date
-E:right:state
-E:left:state
-E:height
-E:opening_hours
-E:service_times
-E:collection_times
-E:maxspeed
-E:colour
-E:level
-;
-; Ignore valid and semi-valid keys that end with...
-;
-F::nswgnb
-F::forward
-F::backward
-F::left
-F::right
-F::conditional
-;
-; Misc Tags
-;
-K:type=is_in
-K:bridge=viaduct
-K:bridge=aqueduct
-K:bridge=swing
-;
-; Highway Key/Value Pairs
-;
-K:highway=motorway_link
-K:highway=trunk_link
-K:highway=primary_link
-K:highway=secondary_link
-K:oneway=-1
-;
-; traffic_calming Tags
-;
-K:traffic_calming=yes
-K:traffic_calming=bump
-K:traffic_calming=chicane
-K:traffic_calming=cushion
-K:traffic_calming=hump
-K:traffic_calming=rumble_strip
-K:traffic_calming=table
-K:traffic_calming=choker
-;
-; Aeroway Key/Value Pairs
-;
-K:aeroway=apron
-K:aeroway=hanger
-K:aeroway=helipad
-K:aeroway=runway
-K:aeroway=taxiway
-K:aeroway=terminal
-K:aeroway=aerodrome
-;
-; Amenity Key/Value Pairs
-;
-K:amenity=arts_centre
-K:amenity=atm
-K:amenity=baby_hatch
-K:amenity=bank
-K:amenity=bbq
-K:amenity=bench
-K:amenity=biergarten
-K:amenity=bicycle_parking
-K:amenity=bicycle_rental
-K:amenity=bureau_de_change
-K:amenity=bus_station
-K:amenity=brothel
-K:amenity=cafe
-K:amenity=car_rental
-K:amenity=car_sharing
-K:amenity=cinema
-K:amenity=college
-K:amenity=courthouse
-K:amenity=crematorium
-K:amenity=dentist
-K:amenity=doctors
-K:amenity=drinking_water
-K:amenity=embassy
-K:amenity=emergency_phone
-K:amenity=fast_food
-K:amenity=ferry_terminal
-K:amenity=fire_station
-K:amenity=food_court
-K:amenity=fountain
-K:amenity=fuel
-K:amenity=gallery
-K:amenity=grave_yard
-K:amenity=grit_bin
-K:amenity=gym
-K:amenity=hospital
-K:amenity=hunting_stand
-K:amenity=kindergarten
-K:amenity=library
-K:amenity=marketplace
-K:amenity=nightclub
-K:amenity=parking
-K:amenity=pharmacy
-K:amenity=place_of_worship
-K:amenity=police
-K:amenity=post_box
-K:amenity=post_office
-K:amenity=prison
-K:amenity=pub
-K:amenity=public_building
-K:amenity=recycling
-K:amenity=restaurant
-K:amenity=school
-K:amenity=shelter
-K:amenity=signpost
-K:amenity=studio
-K:amenity=taxi
-K:amenity=telephone
-K:amenity=theatre
-K:amenity=toilets
-K:amenity=townhall
-K:amenity=university
-K:amenity=vending_machine
-K:amenity=veterinary
-K:amenity=waste_basket
-K:amenity=waste_disposal
-;
-; Cuisine Tags
-;
-K:cuisine=coffee_shop
-K:cuisine=fish_and_chips
-K:cuisine=pie
-;
-; Cycleway Tags
-;
-K:cycleway=lane
-K:cycleway=track
-K:cycleway=opposite_lane
-K:cycleway=opposite
-K:cycleway=opposite_track
-;
-; Historic Tags
-;
-K:historic=castle
-K:historic=monument
-K:historic=memorial
-K:historic=archaeological_site
-K:historic=ruins
-K:historic=battlefield
-K:historic=wreck
-K:historic=yes
-;
-; Military Tags
-;
-K:military=airfield
-K:military=bunker
-K:military=barracks
-K:military=danger_area
-K:military=range
-K:military=naval_base
-;
-; Natural Tags
-;
-K:natural=bay
-K:natural=beach
-K:natural=cave_entrance
-K:natural=cliff
-K:natural=fell
-K:natural=glacier
-K:natural=heath
-K:natural=marsh
-K:natural=mud
-K:natural=peak
-K:natural=scree
-K:natural=scrub
-K:natural=spring
-K:natural=tree
-K:natural=volcano
-K:natural=wetland
-;
-; Surface Key/Value Pairs
-;
-K:surface=dirt
-K:surface=wood
-;
-; Relation Tags
-;
-K:relation=to
-K:relation=from
-;
-; Christian Denominations
-;
-K:denomination=anglican
-K:denomination=apostolic
-K:denomination=baptist
-K:denomination=catholic
-K:denomination=christian_community
-K:denomination=christian_scientist
-K:denomination=coptic_orthodox
-K:denomination=czechoslovak_hussite
-K:denomination=dutch_reformed
-K:denomination=evangelical
-K:denomination=foursquare
-K:denomination=greek_orthodox
-K:denomination=jehovahs_witness
-K:denomination=kabbalah
-K:denomination=karaite
-K:denomination=living_waters_church
-K:denomination=lutheran
-K:denomination=maronite
-K:denomination=mennonite
-K:denomination=methodist
-K:denomination=mormon
-K:denomination=new_apostolic
-K:denomination=nondenominational
-K:denomination=old_catholic
-K:denomination=orthodox
-K:denomination=pentecostal
-K:denomination=presbyterian
-K:denomination=protestant
-K:denomination=quaker
-K:denomination=roman_catholic
-K:denomination=russian_orthodox
-K:denomination=salvation_army
-K:denomination=serbian_orthodox
-K:denomination=seventh_day_adventist
-K:denomination=united
-K:denomination=united_reformed
-K:denomination=uniting
-;
-; Jewish Denominations
-;
-K:denomination=alternative
-K:denomination=ashkenazi
-K:denomination=conservative
-K:denomination=hasidic
-K:denomination=humanistic
-K:denomination=liberal
-K:denomination=modern_orthodox
-K:denomination=neo_orthodox
-K:denomination=nondenominational
-K:denomination=orthodox
-K:denomination=progressive
-K:denomination=reconstructionist
-K:denomination=reform
-K:denomination=renewal
-K:denomination=samaritan
-K:denomination=ultra_orthodox
-;
-; Muslim Denominations
-;
-K:denomination=alaouite
-K:denomination=druze
-K:denomination=ibadi
-K:denomination=ismaili
-K:denomination=nondenominational
-K:denomination=shia
-K:denomination=sunni
-;
-; Pastafarian Denominations
-;
-K:denomination=EVKdFSMiD
-;
-; Other Denominations
-;
-K:denomination=masonic
-;
-; Shop Key/Value Pairs
-;
-K:shop=alcohol
-K:shop=bakery
-K:shop=beverages
-K:shop=bicycle
-K:shop=books
-K:shop=butcher
-K:shop=car
-K:shop=car_repair
-K:shop=chemist
-K:shop=clothes
-K:shop=computer
-K:shop=confectionery
-K:shop=convenience
-K:shop=department_store
-K:shop=dry_cleaning
-K:shop=doityourself
-K:shop=electronics
-K:shop=florist
-K:shop=furniture
-K:shop=garden_centre
-K:shop=greengrocer
-K:shop=hairdresser
-K:shop=hardware
-K:shop=hifi
-K:shop=kiosk
-K:shop=laundry
-K:shop=mall
-K:shop=motorcycle
-K:shop=optician
-K:shop=organic
-K:shop=outdoor
-K:shop=sports
-K:shop=stationery
-K:shop=supermarket
-K:shop=shoes
-K:shop=toys
-K:shop=travel_agency
-K:shop=video
-;
-; Sports Tags
-;
-K:sport=boxing
-K:sport=netball
-;
-; Tourism Tags
-;
-K:tourism=alpine_hut
-K:tourism=attraction
-K:tourism=artwork
-K:tourism=camp_site
-K:tourism=caravan_site
-K:tourism=chalet
-K:tourism=guest_house
-K:tourism=hostel
-K:tourism=hotel
-K:tourism=information
-K:tourism=motel
-K:tourism=museum
-K:tourism=picnic_site
-K:tourism=theme_park
-K:tourism=viewpoint
-K:tourism=zoo
-K:tourism=yes
-;
-; Type Key/Value Pairs
-;
-K:type=collection
Index: unk/data/tagchecker.cfg
===================================================================
--- /trunk/data/tagchecker.cfg	(revision 6481)
+++ 	(revision )
@@ -1,232 +1,0 @@
-# JOSM TagChecker validator file
-
-# Format:
-# Each line specifies a certain error to be reported
-# <data type> : messagetype : <key><expression><value>
-# Lines starting with a # are considered as comments.
-#
-# Data type can be:
-#  node        - a node point
-#  way         - a way
-#  relation    - a relation
-#  *           - all data types
-#
-# Message type can be:
-# E            - an error
-# W            - a warning
-# I            - an low priority informational warning
-#
-# Key and value are expressions describing certain keys and values of these keys.
-# Regular expressions are supported. In this case the expressions starts and
-# ends with a / sign. If an 'i' is appended, the regular expression is
-# case insensitive. For instance, /foo|bar/i
-#
-# The * sign indicates any string.
-# The texts BOOLEAN_TRUE and BOOLEAN_FALSE in the value part indicate a special
-# handling for boolean values (yes, true, 0, false, no, ...).
-#
-# Expression can be:
-#  !=          - the key/value combination does not match
-#  ==          - the key/value combination does match
-#
-# To have more complicated expressions, multiple elements can be grouped together
-# with an logical and (&&).
-#
-# The comment at the end of a rule is displayed in validator description
-#
-# Empty lines and space signs are ignored
-
-way  : W : highway == * && name == /.* (Ave|Blvd|Br|Brg|Cct|Cir|Cl|Cr|Crct|Cres|Crt|Ct|Dr|Drv|Esp|Espl|Hwy|Ln|Mw|Mwy|Pl|Rd|Qy|Qys|Sq|St|Str|Ter|Tce|Tr|Wy)\.?$/i               # abbreviated street name
-
-node : W : oneway == *                                                         # oneway tag on a node
-node : W : bridge == BOOLEAN_TRUE                                              # bridge tag on a node
-node : W : highway == /motorway*|trunk*|primary*|secondary*|tertiary*|unclassified|residential|service|living_street|pedestrian|track|path|footway/  # wrong highway tag on a node
-way  : W : /highway|railway/ == crossing                                       # wrong crossing tag on a way
-way  : I : highway == unclassified && name != *                                # Unnamed unclassified highway
-way  : I : highway == /motorway|trunk|primary|secondary|tertiary/ && ref != *  # highway without a reference
-*    : W : highway == road                                                     # temporary highway type
-*    : W : / *name */i == * && name != *                                       # misspelled key name
-
-# The following could replace unnamed way check. Still at the moment we keep it as it is
-#way  : W : junction == roundabout && highway == /motorway|trunk|primary|secondary|tertiary|residential|pedestrian/ && /name|ref|(name:.*)|(.*_name)|(.*_ref)/ != * # Unnamed junction
-#way  : W : highway == /motorway|trunk|primary|secondary|tertiary|residential|pedestrian/ && /name|ref|(name:.*)|(.*_name)|(.*_ref)/ != * # Unnamed 
-
-way  : W : highway == cycleway && bicycle == BOOLEAN_FALSE     # cycleway with tag bicycle
-way  : W : highway == footway && foot == BOOLEAN_FALSE         # footway with tag foot
-#way  : I : highway == cycleway && bicycle == *                 # cycleway with tag bicycle
-#way  : I : highway == footway && foot == *                     # footway with tag foot
-way  : W : highway == cycleway && cycleway == lane             # separate cycleway as lane on a cycleway
-way  : W : highway == * && barrier == *                        # barrier used on a way
-
-#way  : I : waterway == * && layer != *                         # waterway without layer tag
-way  : I : highway == footway && maxspeed == *                 # maxspeed used for footway
-way  : I : highway == steps && maxspeed == *                   # maxspeed used for footway
-
-# see #5844, #6760
-#way  : W : oneway != BOOLEAN_FALSE && /.*:(backward|forward)/ == *    # oneway combined with *:backward/forward
-
-*    : W : layer == /\+.*/                                     # layer tag with + sign
-
-*    : I : name == /.*Strasse.*/i                              # street name contains ss
-
-relation : E : type != *                                       # relation without type
-
-node : I : amenity == /restaurant|cafe|fast_food/ && name != * # restaurant without name
-#way  : I : highway != * && railway != * && waterway != * && name == * # unusual named way type
-#*    : W : natural == water && waterway == *                   # unusual tag combination (natural=water & waterway)
-*    : W : highway == * && waterway == * && waterway != dam    # unusual tag combination (highway & waterway)
-*    : W : highway == * && natural == *                        # unusual tag combination (highway & natural)
-*    : W : landuse == * && building == *                       # unusual tag combination (landuse & building)
-
-*    : W : highway == proposed && access == *                  # unnecessary access key
-*    : W : highway == /motorway*|trunk*|primary*|secondary*|tertiary*|unclassified|residential|service|living_street/ && motor_vehicle == BOOLEAN_TRUE # unnecessary motor_vehicle=yes
-
-*    : W : natural == water && leisure == swimming_pool        # natural water used for swimming pool
-*    : W : natural == water && amenity == swimming_pool        # natural water used for swimming pool
-
-*    : W : /\d+/ == *                                          # numerical key
-
-# see #9071
-relation : W : type == route_master && route_master != *       # route_master relation without route_master=*
-
-# power related stuff (incomplete)
-*    : W : power == /line|minor_line|cable/ && voltage != *    # power line without voltage
-*    : W : substation == * && power != substation              # substation key without power=substation
-*    : W : transformer == * && power != *                      # transformer key without power
-*    : I : power == substation && substation != *              # missing substation=*
-*    : I : power == transformer && transformer != *            # missing transformer=*
-
-
-########################################
-# Rules derived from Taginfo statistics
-########################################
-
-# see ticket #5017
-# Taginfo query: select keypairs.key1, keypairs.key2, keypairs.count_all, keys.count_all, cast(keypairs.count_all as real)/keys.count_all as from_fraction_all from keys, keypairs where key1='waterway' and keys.key=keypairs.key2 and (key1<>'highway' or keypairs.count_all>12000) and (key1<>'railway' or keypairs.count_all>3000) and (key1<>'waterway' or keypairs.count_all>800) and key2 not like '%:%' and from_fraction_all>0.97 and 1 union select keypairs.key2, keypairs.key1, keypairs.count_all, keys.count_all, cast(keypairs.count_all as real)/keys.count_all as from_fraction_all from keys, keypairs where key2='waterway' and keys.key=keypairs.key1 and (key2<>'highway' or keypairs.count_all>12000) and (key2<>'railway' or keypairs.count_all>3000) and (key2<>'waterway' or keypairs.count_all>800) and key1 not like '%:%' and from_fraction_all>0.97 and 1 order by keypairs.count_all desc limit 1000;
-*    : W : incline              == * && highway != * && railway != *                   # incline without highway or railway
-way  : W : junction             == * && highway != *                                   # junction without highway
-*    : W : lanes                == * && highway != *                                   # lanes without highway
-*    : W : lcn                  == * && highway != *                                   # lcn without highway
-*    : W : lit                  == * && highway != * && railway != * && piste:type != * && amenity != /parking.*/ && public_transport != platform   # lit without highway/railway/piste/parking/platform
-*    : W : living_street        == * && highway != *                                   # living_street without highway
-*    : W : maintenance          == * && highway != *                                   # maintenance without highway
-*    : W : median               == * && highway != *                                   # median without highway
-*    : W : motorroad            == * && highway != *                                   # motorroad without highway
-*    : W : ntd_id               == * && highway != *                                   # ntd_id without highway
-*    : W : oneway               == * && highway != * && railway != *                   # oneway without highway or railway
-*    : W : sac_scale            == * && highway != *                                   # sac_scale without highway
-*    : W : segregated           == * && highway != *                                   # segregated without highway
-*    : W : sidewalk             == * && highway != *                                   # sidewalk without highway
-*    : W : smoothness           == * && highway != *                                   # smoothness without highway
-*    : W : snowplowing          == * && highway != *                                   # snowplowing without highway
-*    : W : step_count           == * && highway != *                                   # step_count without highway
-*    : W : toll                 == * && highway != * && route != ferry                 # toll without highway
-*    : W : tracktype            == * && highway != *                                   # tracktype without highway
-*    : W : trail_visibility     == * && highway != *                                   # trail_visibility without highway
-*    : W : trolley_wire         == * && highway != *                                   # trolley_wire without highway
-*    : W : zip_left             == * && highway != *                                   # zip_left without highway
-*    : W : zip_right            == * && highway != *                                   # zip_right without highway
-*    : W : detail               == * && railway != *                                   # detail without railway
-*    : W : eddy_current_brake   == * && railway != *                                   # eddy_current_brake without railway
-*    : W : electrified          == * && railway != *                                   # electrified without railway
-*    : W : etcs                 == * && railway != *                                   # etcs without railway
-*    : W : gauge                == * && railway != *                                   # gauge without railway
-*    : W : grade_of_track       == * && railway != *                                   # grade_of_track without railway
-*    : W : kursbuchstrecke      == * && railway != *                                   # kursbuchstrecke without railway
-*    : W : lzb                  == * && railway != *                                   # lzb without railway
-*    : W : old_railway_operator == * && railway != *                                   # old_railway_operator without railway
-*    : W : operating_procedure  == * && railway != *                                   # operating_procedure without railway
-*    : W : pzb                  == * && railway != *                                   # pzb without railway
-*    : W : radio                == * && railway != *                                   # radio without railway
-*    : W : structure_gauge      == * && railway != *                                   # structure_gauge without railway
-*    : W : tilting_technology   == * && railway != *                                   # tilting_technologie without railway
-*    : W : track_class          == * && railway != *                                   # track_class without railway
-*    : W : tracks               == * && railway != *                                   # tracks without railway
-*    : W : traffic_mode         == * && railway != *                                   # traffic_mode without railway
-*    : W : usage                == * && railway != *                                   # usage without railway
-*    : W : workrules            == * && railway != *                                   # workrules without railway
-*    : W : stream               == * && waterway != *                                  # stream without waterway
-*    : W : intermittent         == * && waterway != *                                  # intermittent without waterway
-*    : W : boat                 == * && waterway != * && natural != water              # boat without waterway / natural=water
-*    : W : length_unit          == * && waterway != *                                  # length_unit without waterway
-*    : W : llid                 == * && waterway != *                                  # llid without waterway
-*    : W : canal                == * && waterway != *                                  # canal without waterway
-*    : W : have_riverbank       == * && waterway != *                                  # have_riverbank without waterway
-*    : W : tunnel               == * && highway != * && railway != * && waterway != * && public_transport != platform && man_made != pipeline  # tunnel without highway/railway/waterway/platform/pipeline
-*    : W : bridge               == * && highway != * && railway != * && waterway != * && piste:type != * && public_transport != platform && man_made != /bridge|pipeline/ && building != bridge  # bridge without highway/railway/waterway/platform/piste/pipeline
-*    : W : psv                  == * && highway != * && railway != * && waterway != * && amenity != /parking.*/  # psv without highway/railway/waterway/parking
-*    : W : width                == * && highway != * && railway != * && waterway != * && aeroway != * && cycleway != * && footway != * && barrier != * && man_made != * && entrance != *  # width without physical linear feature
-*    : W : maxspeed             == * && highway != * && railway != * && traffic_sign != /(.*;)?maxspeed(;.*)?/ && type != enforcement  # maxspeed without highway/railway/traffic_sign/enforcement
-*    : W : fence_type           == * && barrier != fence                               # fence_type without barrier=fence
-*    : W : border_type          == * && boundary != *                                  # border_type without boundary
-*    : W : recycling_type       == * && amenity != recycling                           # recycling_type without amenity=recycling
-*    : W : board_type           == * && information != board                           # board_type without information=board
-*    : W : shelter_type         == * && amenity != shelter                             # shelter_type without amenity=shelter
-*    : W : lamp_type            == * && highway != street_lamp                         # lamp_type without highway=street_lamp
-*    : W : map_type             == * && information != map                             # map_type without information=map
-*    : W : site_type            == * && historic != archaeological_site                # site_type without historic=archaeological_site
-*    : W : artwork_type         == * && tourism != artwork                             # artwork_type without tourism=artwork
-*    : W : castle_type          == * && historic != castle                             # castle_type without historic=castle
-*    : 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
-
-
-################################
-# Religion / Denomination tests 
-################################
-
-* : I : religion == /christian|jewish|muslim/ && denomination != * # religion without denomination
-* : I : religion == christian && denomination == * && denomination != /anglican|apostolic|baptist|catholic|christian_community|christian_scientist|coptic_orthodox|czechoslovak_hussite|dutch_reformed|evangelical|foursquare|greek_catholic|greek_orthodox|jehovahs_witness|kabbalah|karaite|living_waters_church|lutheran|maronite|mennonite|methodist|mormon|new_apostolic|nondenominational|old_catholic|orthodox|pentecostal|presbyterian|protestant|quaker|roman_catholic|russian_orthodox|salvation_army|serbian_orthodox|seventh_day_adventist|united|united_reformed|uniting/  # unknown christian denomination
-* : I : religion == muslim && denomination == * && denomination != /alaouite|druze|ibadi|ismaili|nondenominational|shia|sunni/ # unknown muslim denomination
-* : I : religion == jewish && denomination == * && denomination != /alternative|ashkenazi|conservative|hasidic|humanistic|liberal|modern_orthodox|neo_orthodox|nondenominational|orthodox|progressive|reconstructionist|reform|renewal|samaritan|ultra_orthodox/ # unknown jewish denomination
-
-#####################################
-# validation for the wikipedia=* tag
-#####################################
-
-# see ticket #8383
-# If there is no language at all, this is broken. Also catches 'wikipedia' used as 'email', 'website', 'ele' [sic!] ...
-* : E : wikipedia == * && wikipedia != /[a-zA-Z_-]{2,12}:.*/ # no wikipedia-language given, use ''wikipedia''=''language:page title''
-# Valid languages are extracted from <http://de.wikipedia.org/w/api.php?action=sitematrix&format=xml>, which may change, so this is a warning only.
-* : W : wikipedia == /[a-zA-Z_-]{2,12}:.*/ && wikipedia != /(aa|ab|ace|af|ak|als|am|an|ang|ar|arc|arz|as|ast|av|ay|az|ba|bar|bat-smg|bcl|be|be-x-old|bg|bh|bi|bjn|bm|bn|bo|bpy|br|bs|bug|bxr|ca|cbk-zam|cdo|ce|ceb|ch|cho|chr|chy|ckb|co|cr|crh|cs|csb|cu|cv|cy|cz|da|de|diq|dk|dsb|dv|dz|ee|el|eml|en|eo|epo|es|et|eu|ext|fa|ff|fi|fiu-vro|fj|fo|fr|frp|frr|fur|fy|ga|gag|gan|gd|gl|glk|gn|got|gu|gv|ha|hak|haw|he|hi|hif|ho|hr|hsb|ht|hu|hy|hz|ia|id|ie|ig|ii|ik|ilo|io|is|it|iu|ja|jbo|jp|jv|ka|kaa|kab|kbd|kg|ki|kj|kk|kl|km|kn|ko|koi|kr|krc|ks|ksh|ku|kv|kw|ky|la|lad|lb|lbe|lez|lg|li|lij|lmo|ln|lo|lt|ltg|lv|map-bms|mdf|mg|mh|mhr|mi|minnan|mk|ml|mn|mo|mr|mrj|ms|mt|mus|mwl|my|myv|mzn|na|nah|nan|nap|nb|nds|nds-nl|ne|new|ng|nl|nn|no|nov|nrm|nso|nv|ny|oc|om|or|os|pa|pag|pam|pap|pcd|pdc|pfl|pi|pih|pl|pms|pnb|pnt|ps|pt|qu|rm|rmy|rn|ro|roa-rup|roa-tara|ru|rue|rw|sa|sah|sc|scn|sco|sd|se|sg|sh|si|simple|sk|sl|sm|sn|so|sq|sr|srn|ss|st|stq|su|sv|sw|szl|ta|te|tet|tg|th|ti|tk|tl|tn|to|tpi|tr|ts|tt|tum|tw|ty|udm|ug|uk|ur|uz|ve|vec|vep|vi|vls|vo|wa|war|wo|wuu|xal|xh|xmf|yi|yo|za|zea|zh|zh-cfr|zh-classical|zh-min-nan|zh-yue|zu):.*/  # unknown language prefix in wikipedia tag
-
-# measurement values and units warnings (ticket #8687)
-way : W : layer == * && layer != /^0$|^-?[1-5]$/                                                                         # layer should be between -5 and 5
-*   : W : level == * && level != /^((([0-9]|-[1-9])|[1-9][0-9]*)(\.5)?)(;(([0-9]|-[1-9])|[1-9][0-9]*)(\.5)?)*$|^-0\.5$/  # level should be numbers with optional .5 increments
-*   : W : height == * && height != /^(([0-9]+\.?[0-9]*( m)?)|([1-9][0-9]*\'((10|11|[0-9])((\.[0-9]+)?)\")?))$/           # height: meters is default; period is separator; if units, put space then unit
-
-*   : W : maxheight == * && maxheight != /^(([1-9][0-9]*(\.[0-9]+)?( m)?)|([0-9]+\'([0-9]|10|11)(\.[0-9]*)?\"))$/        # maxheight: meters is default; period is separator; if units, put space then unit
-way : W : width == * && width != /^(([0-9]+\.?[0-9]*( [a-z]+)?)|([0-9]+\'[0-9]+\.?[0-9]*\"))$/                           # width: meters is default; period is separator; if units, put space then unit
-*   : W : maxwidth == * && maxwidth != /^(([0-9]+\.?[0-9]*( m)?)|([0-9]+\'[0-9]+\.?[0-9]*\"))$/                          # maxwidth: meters is default; period is separator; if units, put space then unit
-way : W : maxspeed == * && maxspeed != /^(signals|none|unposted|unknown|variable|walk|[1-9][0-9]*( [a-z]+)?|[A-Z][A-Z]:(urban|rural|living_street|motorway))$/  # unusual maxspeed format
-way : W : voltage == * && voltage == /(.*[A-Za-z].*)|.*,.*|.*( ).*/                                                      # voltage should be in volts with no units/delimiter/spaces
-# 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 : W : frequency == * && frequency != /^(0|[1-9][0-9]*(\.[0-9]+)?)( (kHz|MHz|GHz|THz))?$/                             # unusual frequency specification
-way : W : gauge == * && gauge != /^([1-9][0-9]{1,3}(;[1-9][0-9]{1,3})*|broad|standard|narrow)$/                          # unusual train track gauge; use mm with no separator
-# the numbers for percentage and degrees include could probably be bracketed a bit more precisely
-way : W : incline == * && incline != /^(up|down|-?([0-9]+?(\.[1-9]%)?|100)[%°]?)$/                                       # unusual incline; use percentages/degrees or up/down
Index: /trunk/data/validator/ignoretags.cfg
===================================================================
--- /trunk/data/validator/ignoretags.cfg	(revision 6482)
+++ /trunk/data/validator/ignoretags.cfg	(revision 6482)
@@ -0,0 +1,382 @@
+# JOSM IgnoreTags
+;
+; K:  ignore this tag
+; E:  ignore tags with this key
+; S:  ignore tag if key starts with this string
+; F:  ignore tag if key ends with this string
+;
+;
+; Ignore valid and semi-valid keys that start with...
+;
+S:opengeodb
+S:openGeoDB
+S:name:
+S:note:
+S:tiger:
+S:gnis:
+S:census:
+S:au.gov.abs:
+S:qroti:
+S:is_in
+S:wikipedia
+S:source:
+S:source_ref:
+;
+; Ignore valid and semi-valid keys that equal...
+;
+E:name
+E:loc_name
+E:attribution
+E:admin_level
+E:old_name
+E:operator
+E:usage
+E:construction
+E:collection
+E:addr:state
+E:import_uuid
+E:image
+E:url
+E:website
+E:postal_code
+E:source:boundary
+E:hour_on
+E:hour_off
+E:tower:type
+E:rcn_ref
+E:place_name
+E:cycleway
+E:abutters
+E:survey_date
+E:right:state
+E:left:state
+E:height
+E:opening_hours
+E:service_times
+E:collection_times
+E:maxspeed
+E:colour
+E:level
+;
+; Ignore valid and semi-valid keys that end with...
+;
+F::nswgnb
+F::forward
+F::backward
+F::left
+F::right
+F::conditional
+;
+; Misc Tags
+;
+K:type=is_in
+K:bridge=viaduct
+K:bridge=aqueduct
+K:bridge=swing
+;
+; Highway Key/Value Pairs
+;
+K:highway=motorway_link
+K:highway=trunk_link
+K:highway=primary_link
+K:highway=secondary_link
+K:oneway=-1
+;
+; traffic_calming Tags
+;
+K:traffic_calming=yes
+K:traffic_calming=bump
+K:traffic_calming=chicane
+K:traffic_calming=cushion
+K:traffic_calming=hump
+K:traffic_calming=rumble_strip
+K:traffic_calming=table
+K:traffic_calming=choker
+;
+; Aeroway Key/Value Pairs
+;
+K:aeroway=apron
+K:aeroway=hanger
+K:aeroway=helipad
+K:aeroway=runway
+K:aeroway=taxiway
+K:aeroway=terminal
+K:aeroway=aerodrome
+;
+; Amenity Key/Value Pairs
+;
+K:amenity=arts_centre
+K:amenity=atm
+K:amenity=baby_hatch
+K:amenity=bank
+K:amenity=bbq
+K:amenity=bench
+K:amenity=biergarten
+K:amenity=bicycle_parking
+K:amenity=bicycle_rental
+K:amenity=bureau_de_change
+K:amenity=bus_station
+K:amenity=brothel
+K:amenity=cafe
+K:amenity=car_rental
+K:amenity=car_sharing
+K:amenity=cinema
+K:amenity=college
+K:amenity=courthouse
+K:amenity=crematorium
+K:amenity=dentist
+K:amenity=doctors
+K:amenity=drinking_water
+K:amenity=embassy
+K:amenity=emergency_phone
+K:amenity=fast_food
+K:amenity=ferry_terminal
+K:amenity=fire_station
+K:amenity=food_court
+K:amenity=fountain
+K:amenity=fuel
+K:amenity=gallery
+K:amenity=grave_yard
+K:amenity=grit_bin
+K:amenity=gym
+K:amenity=hospital
+K:amenity=hunting_stand
+K:amenity=kindergarten
+K:amenity=library
+K:amenity=marketplace
+K:amenity=nightclub
+K:amenity=parking
+K:amenity=pharmacy
+K:amenity=place_of_worship
+K:amenity=police
+K:amenity=post_box
+K:amenity=post_office
+K:amenity=prison
+K:amenity=pub
+K:amenity=public_building
+K:amenity=recycling
+K:amenity=restaurant
+K:amenity=school
+K:amenity=shelter
+K:amenity=signpost
+K:amenity=studio
+K:amenity=taxi
+K:amenity=telephone
+K:amenity=theatre
+K:amenity=toilets
+K:amenity=townhall
+K:amenity=university
+K:amenity=vending_machine
+K:amenity=veterinary
+K:amenity=waste_basket
+K:amenity=waste_disposal
+;
+; Cuisine Tags
+;
+K:cuisine=coffee_shop
+K:cuisine=fish_and_chips
+K:cuisine=pie
+;
+; Cycleway Tags
+;
+K:cycleway=lane
+K:cycleway=track
+K:cycleway=opposite_lane
+K:cycleway=opposite
+K:cycleway=opposite_track
+;
+; Historic Tags
+;
+K:historic=castle
+K:historic=monument
+K:historic=memorial
+K:historic=archaeological_site
+K:historic=ruins
+K:historic=battlefield
+K:historic=wreck
+K:historic=yes
+;
+; Military Tags
+;
+K:military=airfield
+K:military=bunker
+K:military=barracks
+K:military=danger_area
+K:military=range
+K:military=naval_base
+;
+; Natural Tags
+;
+K:natural=bay
+K:natural=beach
+K:natural=cave_entrance
+K:natural=cliff
+K:natural=fell
+K:natural=glacier
+K:natural=heath
+K:natural=marsh
+K:natural=mud
+K:natural=peak
+K:natural=scree
+K:natural=scrub
+K:natural=spring
+K:natural=tree
+K:natural=volcano
+K:natural=wetland
+;
+; Surface Key/Value Pairs
+;
+K:surface=dirt
+K:surface=wood
+;
+; Relation Tags
+;
+K:relation=to
+K:relation=from
+;
+; Christian Denominations
+;
+K:denomination=anglican
+K:denomination=apostolic
+K:denomination=baptist
+K:denomination=catholic
+K:denomination=christian_community
+K:denomination=christian_scientist
+K:denomination=coptic_orthodox
+K:denomination=czechoslovak_hussite
+K:denomination=dutch_reformed
+K:denomination=evangelical
+K:denomination=foursquare
+K:denomination=greek_orthodox
+K:denomination=jehovahs_witness
+K:denomination=kabbalah
+K:denomination=karaite
+K:denomination=living_waters_church
+K:denomination=lutheran
+K:denomination=maronite
+K:denomination=mennonite
+K:denomination=methodist
+K:denomination=mormon
+K:denomination=new_apostolic
+K:denomination=nondenominational
+K:denomination=old_catholic
+K:denomination=orthodox
+K:denomination=pentecostal
+K:denomination=presbyterian
+K:denomination=protestant
+K:denomination=quaker
+K:denomination=roman_catholic
+K:denomination=russian_orthodox
+K:denomination=salvation_army
+K:denomination=serbian_orthodox
+K:denomination=seventh_day_adventist
+K:denomination=united
+K:denomination=united_reformed
+K:denomination=uniting
+;
+; Jewish Denominations
+;
+K:denomination=alternative
+K:denomination=ashkenazi
+K:denomination=conservative
+K:denomination=hasidic
+K:denomination=humanistic
+K:denomination=liberal
+K:denomination=modern_orthodox
+K:denomination=neo_orthodox
+K:denomination=nondenominational
+K:denomination=orthodox
+K:denomination=progressive
+K:denomination=reconstructionist
+K:denomination=reform
+K:denomination=renewal
+K:denomination=samaritan
+K:denomination=ultra_orthodox
+;
+; Muslim Denominations
+;
+K:denomination=alaouite
+K:denomination=druze
+K:denomination=ibadi
+K:denomination=ismaili
+K:denomination=nondenominational
+K:denomination=shia
+K:denomination=sunni
+;
+; Pastafarian Denominations
+;
+K:denomination=EVKdFSMiD
+;
+; Other Denominations
+;
+K:denomination=masonic
+;
+; Shop Key/Value Pairs
+;
+K:shop=alcohol
+K:shop=bakery
+K:shop=beverages
+K:shop=bicycle
+K:shop=books
+K:shop=butcher
+K:shop=car
+K:shop=car_repair
+K:shop=chemist
+K:shop=clothes
+K:shop=computer
+K:shop=confectionery
+K:shop=convenience
+K:shop=department_store
+K:shop=dry_cleaning
+K:shop=doityourself
+K:shop=electronics
+K:shop=florist
+K:shop=furniture
+K:shop=garden_centre
+K:shop=greengrocer
+K:shop=hairdresser
+K:shop=hardware
+K:shop=hifi
+K:shop=kiosk
+K:shop=laundry
+K:shop=mall
+K:shop=motorcycle
+K:shop=optician
+K:shop=organic
+K:shop=outdoor
+K:shop=sports
+K:shop=stationery
+K:shop=supermarket
+K:shop=shoes
+K:shop=toys
+K:shop=travel_agency
+K:shop=video
+;
+; Sports Tags
+;
+K:sport=boxing
+K:sport=netball
+;
+; Tourism Tags
+;
+K:tourism=alpine_hut
+K:tourism=attraction
+K:tourism=artwork
+K:tourism=camp_site
+K:tourism=caravan_site
+K:tourism=chalet
+K:tourism=guest_house
+K:tourism=hostel
+K:tourism=hotel
+K:tourism=information
+K:tourism=motel
+K:tourism=museum
+K:tourism=picnic_site
+K:tourism=theme_park
+K:tourism=viewpoint
+K:tourism=zoo
+K:tourism=yes
+;
+; Type Key/Value Pairs
+;
+K:type=collection
Index: /trunk/data/validator/tagchecker.cfg
===================================================================
--- /trunk/data/validator/tagchecker.cfg	(revision 6482)
+++ /trunk/data/validator/tagchecker.cfg	(revision 6482)
@@ -0,0 +1,232 @@
+# JOSM TagChecker validator file
+
+# Format:
+# Each line specifies a certain error to be reported
+# <data type> : messagetype : <key><expression><value>
+# Lines starting with a # are considered as comments.
+#
+# Data type can be:
+#  node        - a node point
+#  way         - a way
+#  relation    - a relation
+#  *           - all data types
+#
+# Message type can be:
+# E            - an error
+# W            - a warning
+# I            - an low priority informational warning
+#
+# Key and value are expressions describing certain keys and values of these keys.
+# Regular expressions are supported. In this case the expressions starts and
+# ends with a / sign. If an 'i' is appended, the regular expression is
+# case insensitive. For instance, /foo|bar/i
+#
+# The * sign indicates any string.
+# The texts BOOLEAN_TRUE and BOOLEAN_FALSE in the value part indicate a special
+# handling for boolean values (yes, true, 0, false, no, ...).
+#
+# Expression can be:
+#  !=          - the key/value combination does not match
+#  ==          - the key/value combination does match
+#
+# To have more complicated expressions, multiple elements can be grouped together
+# with an logical and (&&).
+#
+# The comment at the end of a rule is displayed in validator description
+#
+# Empty lines and space signs are ignored
+
+way  : W : highway == * && name == /.* (Ave|Blvd|Br|Brg|Cct|Cir|Cl|Cr|Crct|Cres|Crt|Ct|Dr|Drv|Esp|Espl|Hwy|Ln|Mw|Mwy|Pl|Rd|Qy|Qys|Sq|St|Str|Ter|Tce|Tr|Wy)\.?$/i               # abbreviated street name
+
+node : W : oneway == *                                                         # oneway tag on a node
+node : W : bridge == BOOLEAN_TRUE                                              # bridge tag on a node
+node : W : highway == /motorway*|trunk*|primary*|secondary*|tertiary*|unclassified|residential|service|living_street|pedestrian|track|path|footway/  # wrong highway tag on a node
+way  : W : /highway|railway/ == crossing                                       # wrong crossing tag on a way
+way  : I : highway == unclassified && name != *                                # Unnamed unclassified highway
+way  : I : highway == /motorway|trunk|primary|secondary|tertiary/ && ref != *  # highway without a reference
+*    : W : highway == road                                                     # temporary highway type
+*    : W : / *name */i == * && name != *                                       # misspelled key name
+
+# The following could replace unnamed way check. Still at the moment we keep it as it is
+#way  : W : junction == roundabout && highway == /motorway|trunk|primary|secondary|tertiary|residential|pedestrian/ && /name|ref|(name:.*)|(.*_name)|(.*_ref)/ != * # Unnamed junction
+#way  : W : highway == /motorway|trunk|primary|secondary|tertiary|residential|pedestrian/ && /name|ref|(name:.*)|(.*_name)|(.*_ref)/ != * # Unnamed 
+
+way  : W : highway == cycleway && bicycle == BOOLEAN_FALSE     # cycleway with tag bicycle
+way  : W : highway == footway && foot == BOOLEAN_FALSE         # footway with tag foot
+#way  : I : highway == cycleway && bicycle == *                 # cycleway with tag bicycle
+#way  : I : highway == footway && foot == *                     # footway with tag foot
+way  : W : highway == cycleway && cycleway == lane             # separate cycleway as lane on a cycleway
+way  : W : highway == * && barrier == *                        # barrier used on a way
+
+#way  : I : waterway == * && layer != *                         # waterway without layer tag
+way  : I : highway == footway && maxspeed == *                 # maxspeed used for footway
+way  : I : highway == steps && maxspeed == *                   # maxspeed used for footway
+
+# see #5844, #6760
+#way  : W : oneway != BOOLEAN_FALSE && /.*:(backward|forward)/ == *    # oneway combined with *:backward/forward
+
+*    : W : layer == /\+.*/                                     # layer tag with + sign
+
+*    : I : name == /.*Strasse.*/i                              # street name contains ss
+
+relation : E : type != *                                       # relation without type
+
+node : I : amenity == /restaurant|cafe|fast_food/ && name != * # restaurant without name
+#way  : I : highway != * && railway != * && waterway != * && name == * # unusual named way type
+#*    : W : natural == water && waterway == *                   # unusual tag combination (natural=water & waterway)
+*    : W : highway == * && waterway == * && waterway != dam    # unusual tag combination (highway & waterway)
+*    : W : highway == * && natural == *                        # unusual tag combination (highway & natural)
+*    : W : landuse == * && building == *                       # unusual tag combination (landuse & building)
+
+*    : W : highway == proposed && access == *                  # unnecessary access key
+*    : W : highway == /motorway*|trunk*|primary*|secondary*|tertiary*|unclassified|residential|service|living_street/ && motor_vehicle == BOOLEAN_TRUE # unnecessary motor_vehicle=yes
+
+*    : W : natural == water && leisure == swimming_pool        # natural water used for swimming pool
+*    : W : natural == water && amenity == swimming_pool        # natural water used for swimming pool
+
+*    : W : /\d+/ == *                                          # numerical key
+
+# see #9071
+relation : W : type == route_master && route_master != *       # route_master relation without route_master=*
+
+# power related stuff (incomplete)
+*    : W : power == /line|minor_line|cable/ && voltage != *    # power line without voltage
+*    : W : substation == * && power != substation              # substation key without power=substation
+*    : W : transformer == * && power != *                      # transformer key without power
+*    : I : power == substation && substation != *              # missing substation=*
+*    : I : power == transformer && transformer != *            # missing transformer=*
+
+
+########################################
+# Rules derived from Taginfo statistics
+########################################
+
+# see ticket #5017
+# Taginfo query: select keypairs.key1, keypairs.key2, keypairs.count_all, keys.count_all, cast(keypairs.count_all as real)/keys.count_all as from_fraction_all from keys, keypairs where key1='waterway' and keys.key=keypairs.key2 and (key1<>'highway' or keypairs.count_all>12000) and (key1<>'railway' or keypairs.count_all>3000) and (key1<>'waterway' or keypairs.count_all>800) and key2 not like '%:%' and from_fraction_all>0.97 and 1 union select keypairs.key2, keypairs.key1, keypairs.count_all, keys.count_all, cast(keypairs.count_all as real)/keys.count_all as from_fraction_all from keys, keypairs where key2='waterway' and keys.key=keypairs.key1 and (key2<>'highway' or keypairs.count_all>12000) and (key2<>'railway' or keypairs.count_all>3000) and (key2<>'waterway' or keypairs.count_all>800) and key1 not like '%:%' and from_fraction_all>0.97 and 1 order by keypairs.count_all desc limit 1000;
+*    : W : incline              == * && highway != * && railway != *                   # incline without highway or railway
+way  : W : junction             == * && highway != *                                   # junction without highway
+*    : W : lanes                == * && highway != *                                   # lanes without highway
+*    : W : lcn                  == * && highway != *                                   # lcn without highway
+*    : W : lit                  == * && highway != * && railway != * && piste:type != * && amenity != /parking.*/ && public_transport != platform   # lit without highway/railway/piste/parking/platform
+*    : W : living_street        == * && highway != *                                   # living_street without highway
+*    : W : maintenance          == * && highway != *                                   # maintenance without highway
+*    : W : median               == * && highway != *                                   # median without highway
+*    : W : motorroad            == * && highway != *                                   # motorroad without highway
+*    : W : ntd_id               == * && highway != *                                   # ntd_id without highway
+*    : W : oneway               == * && highway != * && railway != *                   # oneway without highway or railway
+*    : W : sac_scale            == * && highway != *                                   # sac_scale without highway
+*    : W : segregated           == * && highway != *                                   # segregated without highway
+*    : W : sidewalk             == * && highway != *                                   # sidewalk without highway
+*    : W : smoothness           == * && highway != *                                   # smoothness without highway
+*    : W : snowplowing          == * && highway != *                                   # snowplowing without highway
+*    : W : step_count           == * && highway != *                                   # step_count without highway
+*    : W : toll                 == * && highway != * && route != ferry                 # toll without highway
+*    : W : tracktype            == * && highway != *                                   # tracktype without highway
+*    : W : trail_visibility     == * && highway != *                                   # trail_visibility without highway
+*    : W : trolley_wire         == * && highway != *                                   # trolley_wire without highway
+*    : W : zip_left             == * && highway != *                                   # zip_left without highway
+*    : W : zip_right            == * && highway != *                                   # zip_right without highway
+*    : W : detail               == * && railway != *                                   # detail without railway
+*    : W : eddy_current_brake   == * && railway != *                                   # eddy_current_brake without railway
+*    : W : electrified          == * && railway != *                                   # electrified without railway
+*    : W : etcs                 == * && railway != *                                   # etcs without railway
+*    : W : gauge                == * && railway != *                                   # gauge without railway
+*    : W : grade_of_track       == * && railway != *                                   # grade_of_track without railway
+*    : W : kursbuchstrecke      == * && railway != *                                   # kursbuchstrecke without railway
+*    : W : lzb                  == * && railway != *                                   # lzb without railway
+*    : W : old_railway_operator == * && railway != *                                   # old_railway_operator without railway
+*    : W : operating_procedure  == * && railway != *                                   # operating_procedure without railway
+*    : W : pzb                  == * && railway != *                                   # pzb without railway
+*    : W : radio                == * && railway != *                                   # radio without railway
+*    : W : structure_gauge      == * && railway != *                                   # structure_gauge without railway
+*    : W : tilting_technology   == * && railway != *                                   # tilting_technologie without railway
+*    : W : track_class          == * && railway != *                                   # track_class without railway
+*    : W : tracks               == * && railway != *                                   # tracks without railway
+*    : W : traffic_mode         == * && railway != *                                   # traffic_mode without railway
+*    : W : usage                == * && railway != *                                   # usage without railway
+*    : W : workrules            == * && railway != *                                   # workrules without railway
+*    : W : stream               == * && waterway != *                                  # stream without waterway
+*    : W : intermittent         == * && waterway != *                                  # intermittent without waterway
+*    : W : boat                 == * && waterway != * && natural != water              # boat without waterway / natural=water
+*    : W : length_unit          == * && waterway != *                                  # length_unit without waterway
+*    : W : llid                 == * && waterway != *                                  # llid without waterway
+*    : W : canal                == * && waterway != *                                  # canal without waterway
+*    : W : have_riverbank       == * && waterway != *                                  # have_riverbank without waterway
+*    : W : tunnel               == * && highway != * && railway != * && waterway != * && public_transport != platform && man_made != pipeline  # tunnel without highway/railway/waterway/platform/pipeline
+*    : W : bridge               == * && highway != * && railway != * && waterway != * && piste:type != * && public_transport != platform && man_made != /bridge|pipeline/ && building != bridge  # bridge without highway/railway/waterway/platform/piste/pipeline
+*    : W : psv                  == * && highway != * && railway != * && waterway != * && amenity != /parking.*/  # psv without highway/railway/waterway/parking
+*    : W : width                == * && highway != * && railway != * && waterway != * && aeroway != * && cycleway != * && footway != * && barrier != * && man_made != * && entrance != *  # width without physical linear feature
+*    : W : maxspeed             == * && highway != * && railway != * && traffic_sign != /(.*;)?maxspeed(;.*)?/ && type != enforcement  # maxspeed without highway/railway/traffic_sign/enforcement
+*    : W : fence_type           == * && barrier != fence                               # fence_type without barrier=fence
+*    : W : border_type          == * && boundary != *                                  # border_type without boundary
+*    : W : recycling_type       == * && amenity != recycling                           # recycling_type without amenity=recycling
+*    : W : board_type           == * && information != board                           # board_type without information=board
+*    : W : shelter_type         == * && amenity != shelter                             # shelter_type without amenity=shelter
+*    : W : lamp_type            == * && highway != street_lamp                         # lamp_type without highway=street_lamp
+*    : W : map_type             == * && information != map                             # map_type without information=map
+*    : W : site_type            == * && historic != archaeological_site                # site_type without historic=archaeological_site
+*    : W : artwork_type         == * && tourism != artwork                             # artwork_type without tourism=artwork
+*    : W : castle_type          == * && historic != castle                             # castle_type without historic=castle
+*    : 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
+
+
+################################
+# Religion / Denomination tests 
+################################
+
+* : I : religion == /christian|jewish|muslim/ && denomination != * # religion without denomination
+* : I : religion == christian && denomination == * && denomination != /anglican|apostolic|baptist|catholic|christian_community|christian_scientist|coptic_orthodox|czechoslovak_hussite|dutch_reformed|evangelical|foursquare|greek_catholic|greek_orthodox|jehovahs_witness|kabbalah|karaite|living_waters_church|lutheran|maronite|mennonite|methodist|mormon|new_apostolic|nondenominational|old_catholic|orthodox|pentecostal|presbyterian|protestant|quaker|roman_catholic|russian_orthodox|salvation_army|serbian_orthodox|seventh_day_adventist|united|united_reformed|uniting/  # unknown christian denomination
+* : I : religion == muslim && denomination == * && denomination != /alaouite|druze|ibadi|ismaili|nondenominational|shia|sunni/ # unknown muslim denomination
+* : I : religion == jewish && denomination == * && denomination != /alternative|ashkenazi|conservative|hasidic|humanistic|liberal|modern_orthodox|neo_orthodox|nondenominational|orthodox|progressive|reconstructionist|reform|renewal|samaritan|ultra_orthodox/ # unknown jewish denomination
+
+#####################################
+# validation for the wikipedia=* tag
+#####################################
+
+# see ticket #8383
+# If there is no language at all, this is broken. Also catches 'wikipedia' used as 'email', 'website', 'ele' [sic!] ...
+* : E : wikipedia == * && wikipedia != /[a-zA-Z_-]{2,12}:.*/ # no wikipedia-language given, use ''wikipedia''=''language:page title''
+# Valid languages are extracted from <http://de.wikipedia.org/w/api.php?action=sitematrix&format=xml>, which may change, so this is a warning only.
+* : W : wikipedia == /[a-zA-Z_-]{2,12}:.*/ && wikipedia != /(aa|ab|ace|af|ak|als|am|an|ang|ar|arc|arz|as|ast|av|ay|az|ba|bar|bat-smg|bcl|be|be-x-old|bg|bh|bi|bjn|bm|bn|bo|bpy|br|bs|bug|bxr|ca|cbk-zam|cdo|ce|ceb|ch|cho|chr|chy|ckb|co|cr|crh|cs|csb|cu|cv|cy|cz|da|de|diq|dk|dsb|dv|dz|ee|el|eml|en|eo|epo|es|et|eu|ext|fa|ff|fi|fiu-vro|fj|fo|fr|frp|frr|fur|fy|ga|gag|gan|gd|gl|glk|gn|got|gu|gv|ha|hak|haw|he|hi|hif|ho|hr|hsb|ht|hu|hy|hz|ia|id|ie|ig|ii|ik|ilo|io|is|it|iu|ja|jbo|jp|jv|ka|kaa|kab|kbd|kg|ki|kj|kk|kl|km|kn|ko|koi|kr|krc|ks|ksh|ku|kv|kw|ky|la|lad|lb|lbe|lez|lg|li|lij|lmo|ln|lo|lt|ltg|lv|map-bms|mdf|mg|mh|mhr|mi|minnan|mk|ml|mn|mo|mr|mrj|ms|mt|mus|mwl|my|myv|mzn|na|nah|nan|nap|nb|nds|nds-nl|ne|new|ng|nl|nn|no|nov|nrm|nso|nv|ny|oc|om|or|os|pa|pag|pam|pap|pcd|pdc|pfl|pi|pih|pl|pms|pnb|pnt|ps|pt|qu|rm|rmy|rn|ro|roa-rup|roa-tara|ru|rue|rw|sa|sah|sc|scn|sco|sd|se|sg|sh|si|simple|sk|sl|sm|sn|so|sq|sr|srn|ss|st|stq|su|sv|sw|szl|ta|te|tet|tg|th|ti|tk|tl|tn|to|tpi|tr|ts|tt|tum|tw|ty|udm|ug|uk|ur|uz|ve|vec|vep|vi|vls|vo|wa|war|wo|wuu|xal|xh|xmf|yi|yo|za|zea|zh|zh-cfr|zh-classical|zh-min-nan|zh-yue|zu):.*/  # unknown language prefix in wikipedia tag
+
+# measurement values and units warnings (ticket #8687)
+way : W : layer == * && layer != /^0$|^-?[1-5]$/                                                                         # layer should be between -5 and 5
+*   : W : level == * && level != /^((([0-9]|-[1-9])|[1-9][0-9]*)(\.5)?)(;(([0-9]|-[1-9])|[1-9][0-9]*)(\.5)?)*$|^-0\.5$/  # level should be numbers with optional .5 increments
+*   : W : height == * && height != /^(([0-9]+\.?[0-9]*( m)?)|([1-9][0-9]*\'((10|11|[0-9])((\.[0-9]+)?)\")?))$/           # height: meters is default; period is separator; if units, put space then unit
+
+*   : W : maxheight == * && maxheight != /^(([1-9][0-9]*(\.[0-9]+)?( m)?)|([0-9]+\'([0-9]|10|11)(\.[0-9]*)?\"))$/        # maxheight: meters is default; period is separator; if units, put space then unit
+way : W : width == * && width != /^(([0-9]+\.?[0-9]*( [a-z]+)?)|([0-9]+\'[0-9]+\.?[0-9]*\"))$/                           # width: meters is default; period is separator; if units, put space then unit
+*   : W : maxwidth == * && maxwidth != /^(([0-9]+\.?[0-9]*( m)?)|([0-9]+\'[0-9]+\.?[0-9]*\"))$/                          # maxwidth: meters is default; period is separator; if units, put space then unit
+way : W : maxspeed == * && maxspeed != /^(signals|none|unposted|unknown|variable|walk|[1-9][0-9]*( [a-z]+)?|[A-Z][A-Z]:(urban|rural|living_street|motorway))$/  # unusual maxspeed format
+way : W : voltage == * && voltage == /(.*[A-Za-z].*)|.*,.*|.*( ).*/                                                      # voltage should be in volts with no units/delimiter/spaces
+# 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 : W : frequency == * && frequency != /^(0|[1-9][0-9]*(\.[0-9]+)?)( (kHz|MHz|GHz|THz))?$/                             # unusual frequency specification
+way : W : gauge == * && gauge != /^([1-9][0-9]{1,3}(;[1-9][0-9]{1,3})*|broad|standard|narrow)$/                          # unusual train track gauge; use mm with no separator
+# the numbers for percentage and degrees include could probably be bracketed a bit more precisely
+way : W : incline == * && incline != /^(up|down|-?([0-9]+?(\.[1-9]%)?|100)[%°]?)$/                                       # unusual incline; use percentages/degrees or up/down
Index: /trunk/data/validator/words.cfg
===================================================================
--- /trunk/data/validator/words.cfg	(revision 6482)
+++ /trunk/data/validator/words.cfg	(revision 6482)
@@ -0,0 +1,1116 @@
+# NOTE: Order *is* significant, case also.
+#
+# special symbols, must be first character:
+#  # Comment
+#  + correctly spelled word
+#  - incorrectly spelled word. Must follow correctly spelled word before next correctly spelled word.
+#
+# There must not be any white space before or after words, unless they are to be included in
+# the bad spelling.
++abutters
+-abuters
+-abbutter
+-abbutters
+-abuttors
+-abuutters
+-ubutters
++abutter
++address
++aka
++ambulance
++amenity
+-ameninty
+-amienty
+-amienity
+-amenitzy
+-amenety
+-amenitry
+-amnity
+-amenity 
+-amentiy
+-aminity
+-amneity
+-amnenity
+-aminety
+-amentity
+-ammenity
+-ameinty
+-anemity
+-amneity
+-amemity
+-ameity
+-amenity:
+-amenty
+-Amenity
+-maenity
+-emenity
++amenitylanduse
++atm
++Atta Oehlaweg
++bicycle
+-bycycle
+-biycle
+-bycicle
+-bicyle
++bike
+- bike
++biological
++by
++City
++class
+-Class
++classification
++ele
++emity
++email
++code_departement
++code_INSEE
++commercial
+-comercial
++comment
++COMMENTLINE
++confirmed
++created_by
+-created by
+-cretaed_by
+-crated_by
+-creared_by
+-creayed_by
+-{created_by
+- created_by
+-creeated_by
+-created_bu
++crossing
++denomination
+-denonimation
+-denomionation
+-denomation
+-demonination
+-demomination
+-denomition
+-denomincation
+-denominatation
+-denoination
++domination
++faith
++footway
++foot
+- foot
+-foor
++height
+-hieght
++highway
+-higwhay
+-highwaay
+-HighWay
+-huighway
+-highwayt
+-ghway
+-highaway
+-highwway
+-ighway
+-higjway
+-hioghway
+-hiway
+-hihjway
+-higheway
+-highwaY
+-hughway
+-hihgway
+-higoway
+-highwat
+-highwah
+-gighway
+-higyway
+-hichway
+-HIGHWAY
+-hingway
+-hhighway
+-highwayu
+-hyighway
+-hiughway
+-highwya
+-hifhway
+-hihway
+-hifgway
+-highway:
+-highjway
+-highway 
+-highwy
+-hgihway
+-highawy
+-highwau
+-highay
+-higbway
+-hignway
+-higway
+-highwayx
+- highway
+-hoghway
+-highwa
+-Highway
+-hghway
++highways
++highspeed
++highwaytype
++highway_type
++highwayunclassified
++horse
++hvg
++iata_ref
++icao_ref
++IM2
++image
+-imaqge
++island
++layer
+-layer 
+-elevation
+-leyer
+-lyaer
+- layer
++layer2
++layers
++layout
++leisure
+-leissure
+-leiruse
+-lesure
+-leisure 
+-Leisure
+-liesure
+-lieusure
+-lesiure
+-leasure
++naam
++name
+-nane
+-nme
+-namee
+-nname
+-naem
+-nmae
+-nacme
+-n ame
+-name`
+-namw
+-bame
+-nam
+- name
+-namr
+-name 
+-anme
+-Name
+-name:
+-NAME
+-name;
++name_1
++name_4
++named_by
++names
++name_right
++name_left
++note
+-Note
++note:fa
+-note:fa 
+-notes:fa
++Number
++oneway
+-aneway
+-onewway
+-onewau
+-oneay
+-neway
+-oneweay
+-onewa
+-omeway
+-one_way
+-onway
+- oneway
+-oeway
+-eway
++onte
++osmarender:nameDirection
+-name_direction
+-name-direction
+-osmarender:name_direction
++place
+-place 
+-Place
++passing
++passing_places
++railway
+- railway
+-Railway
+-raillway
++re
++regional_name
++ref
+-ref 
+-ref:
+-Ref
++ref:fa
++ref:source
++ref_nat
++ref_int
++retail
++time
++seats
++seventh_wonder_of_world
++square
++soccer
++source
+-sorce
+-soruce
+-soure
+-souce
+-sourec
+-aource
+-sourse
++source2
++source:ncn_ref
++source:highway
++SSSI
++status
++way
++waterway
+- waterway
+-waterwa
+-Waterway
+-waterwy
+-wateway
++wood
++unknown
+-unknwon
+#
+# Not sorted.
+#
++ 
++1
++4wd
++ car
++ class
++ horse
++ sport
++ open 09:00 - 16:00 daily
++ General McArthur lived here
++ Also coaches
++80n:ibm
++amenities
++bar
++batteries
++Bezeichnung
++boder
++Brand
++Food
++Fussweg
++Hauptstrasse
++POI
++Park
++Strasse
++abutment
++abutts
++access
++accident_and_emergency
++active_volcano
++aerialway
+-areilway
+-areialway
+-arielway
++aeroway
+-aeoroway
+-areoway
+-airoway
++ageofdgpsdata
++airport
+-aeroport
++airport_ident
++airport_ref
++airway
++alias
++alt
++altname
++alt_name
++alt_name_2
++alternative_name
++altitude
++alt_ref
++ame
++annotation
++annotate
++angle
++angle_to_last
++appearance
++approximate
++area
++art
++ascii_name
++asphalt
++author
++autocar
++b test tag
++badminton
++barnvagn
++barrier
++bb:name
++beach
++bicycleRoute
++bicycle_Route
++blackadder:name
++blackadder:commerce
++blackadder:cuisine
++blackadder:service
++blackadder:civic
++bicycles
++boat
++bogus_footpath_going_nowhere
++border
++borded
++border_edit
++border_type
++bottles
++boundary
++boundary_name
++boundary_type
++branch
++branch_code:fa
++branch_name:fa
++brand
++brewery
++bridge
+-brideg
+- bridge
+-brdige
+-bridgde
+-birdge
+-   bridge
+-bidge
+-brige
+-brigde
+-bridgw
++bridge_ref
++bridge_name
++bridleway
++building
+-buidling
+-buillding
+-buiding
+-bulding
++building_name
++build_date
++bus
++buss
++busway
++bus_routes
++building_type
++cafe
++capacity
++Car
++car
++carriage
++cars
++car park at rear
+- car park at rear
++car_repair
++carsharing
++category
++caution
++charge
++chemin
++checked_by
++cheshire_cycleway_ref
++christian_denomination
++cladding
++city
+-citya
++city_id
++clinic
++clothes
++cmt
++complete
+- complete
+-complite
++condition
++construction
++controlled
++converted_by
++core
++cost
++country
++course
++cover
++covered
++creator
++cycle
+-cyle
++cycleRoute
++cycle_route
++cycleway
+-cylceway
+-cycleway:
++cykel
++cuisine
++cusine
++cutting
++d_lat
++d_lon
++danger
++date
++date_off
++day_off
++day_on
++dead-end
++deadend
++depth
++desc
++description
+-descripion
+-desription
+-decription
++descriptions
++ details:naco
++destination
++difficulty
++direction
++direction_to
++dispensing
++distance
++distance_meter
++disused
++ECautomaton
++edited_some_more_by
++editor
++editor note
++ef
++elevated
++embankment
++emergency
++emergency_ward
++error
++exit
++exit_nr
++exit_name
++external_description
++external_link
++ev_charge
++facility
++farezone
++farm_vehicles
++fastfood
++FACC_CODE
++feature
+-featuer
++feature: NGIA map
+- feature: NGIA map
++features
++feet
++ferry
++fenced
++fire
++first_number
++fix
++fixme
++FIXME
++foobar
++food
++footpath
+-fottpath
++forrest
++foto
++free
++freight
+-frieght
++from_to
++from_zip
++fuel_diesel
++fuel_lpg
++fuel_octane_91
++fuel_octane_95
++fuel_octane_98
++full_name:fa
+-full_name:Fa
++full_name
++gate
++geoname_id
++glass
++glass_bottles
++glutenfree
++gluten_free
++goods
++gps_network
++grade
++grind
++gym
++halt
++hazard
++hame
++has_postalcode
++hdop
++helped_by
++heritage
++hgv
++highway E-number
++highway_border
+-highway_boarder
+-highway_boreder
++hill
++historic
++historic name
++historical
++history
++Higgy:ref
++hotelclass
++hospital:operator
++hour_off
++hour_on
++hours
++house_numbers
++iata
++icao
++id
+-ID
++import_ref
++incomplete
++incline_steep
++incline
++industrial
++info
++ info :naco
++infopoint
++informal_name
++int_name
+-int name
+-iint_name
++int_ref
++interpolation
++intersection
++is
++is_in
+-is in
+- is_in
++in_in
++is_in:de
++is_in:es
++junction
+-junktion
+-junctoin
+-junctioin
+-juntion
+-junctiion
+-jounction
+-jumction
+- junction
+-juction
+-Junction
+-junction 
++junction_ref
++junction:ref
++junction:name
++key
++Kingsmede
++label
++landuse
+-land_use
+-lansuse
+-lanudse
+-lanuse
++lane
++lanes
+-Lanes
++last_number
++ Last Edit: Batchoy 2006-12-14
++learning
++length
++level
++level crossing
++license
++liftStation
++liftType
++lighthouse
++line
++lines
++link:naming
++linje
++lit
++loc_ref
++loc_ref:fa
++loc_name
+-loc_name 
++loc_name:fa
++local_name
+-local_nama
++local_ref
++locality
++lock
++lock_gate
++long_name
++lorries
++Loyola Heights
++ma,e
++main
++major
++man_made
+-man-made
+-man_made 
+-mand_made
+-nan_made
+-madmade
+-manmade
++mapkey
++maplint:error
++maplint:notice
++maplint:warning
++mapping_status
+-mapping status
+-mappingstatus
++markedtrail
++marker
++marching_step
++minspeed
+-min_speed
++maxspeed
+-maspeed
+-max_speed
+-max speed
+-maxsepeed
+-maxseep
+-mayspeed
+-maxspeed 
+-maxpeed
++maxheight
+-max_hieght
+-max_height
++maxweight
+-maxwieght
+-max_weight
+-max_wieght
+-maxweihgt
++maxwidth
++membership
++memorial
++menu
++military
++missing_street
++mixed
++monument
++more_data
++motor
++motorbike
++motorcar
+-otorcar
+- motorcar
+-motocar
++motor_car
++motorcars
+-motocars
++motorcycle
+-motorcylce
+-motocycle
+-motorcycle 
++motorway
++motorway station
++motorway_junction
++munro
++museum
++nad_ref
++name.2
++name.alt
++name.en
++name:ar
++name:af
++name:cy
++name:de
++name:en
++name:en-cy
++name:es
++name:eu
++name:fa
++name:fi
++name:fr
++name:gd
++name:la
++name:my
++name:nl
++name:non
++name:ru
++name:sv
++name.se
++name.short
++name:zh-Latn
++name1
++name2
++name_alt
++name int
++name_int
++name:source
++name_source
++name:cym
++name_ie
++name_loc
++name_segment
++namelayer
++name:ref
++name_ref
++nat_name
++nat_ref
++nat_pref
++nat_reg
++natural
+-nataural
+- natural
+-natrual
+-nautral
+-natural 
++natural2
++nature
++navigable
++ncn_name
++ncn_ref
++ncn:ref
++ncn_route
++needs_to_be
++network
++net_ref
++newforest:pathtype
++newsagent_code
++nickb_marker
++nickname
++nlanes
++noat
++node
++noentry
++noexit
+- noexit
++notes
++note_1
+-note_!
++note_2
+-note2
++note_3
++note_4
++note_
++noturn
++number
++numbers
++obstacles
++obstruction
++official
++ojw2
++ojw_test
++old_name
+-oldname
++old_name:fa
++old_full_name:fa
++old_ref
++opened
++open_in
++operator
++opm:capacity
++opm:difficulty
++opm:liftStation
++opm:liftType
+-opm:lifttype
++osmarender:renderName
+-osmarender:rendername
+-soamrender:renderName
++osmarender:renderRef
+-osmrender:renderRef
++owner
++owners
++park_and_ride
++parking
++parking:cost
++parking:spaces
++passenger
++path
++paved
++pcv_only
++pdop
++pedestrian
++pedestrians
++permissive
++petrol lhs
++petrol petron
++petrol
++phone
++phone_number
++physical
++place_postal
++place numbers
++place_code
++place_name
+- place_name
++place_numbers
++place_of_worship
++plave
++playe
++plant
++poi
++point_of_interest
++population
++popul
++port
++position_accuracy
++possible_name
++post_code
++postal_code
+- postal_code
+-posatl_code
++postcode
++post_office
++power
++primary
++private
+-privat
++provided
++Properties
++problem
++psv
++public
++public_transportation
++punting
++quality
++rail
++railroad
++railway_tracks
++ramp
++recreation
++recycling
++recycling:batteries
++recycling:bicycles
++recycling:books
++recycling:clothing
++recycling:clothes
++recycling:glas
+-recyling:glas
++recycling:shoes
++recycling:engine_oil
++recycling:glass_bottles
++recycling:green_waste
++recycling:magazines
++recycling:mobile_phones
++recycling:newspaper
++recycling:newspapers
++recycling:printer_cartridges
++recycling:cardboard
++recycling:music
++recycling:paper
+-reycling:paper
++recycle:plastic_bottles
++recycle:paper
++recycle:magazines
++recycle:cardboard
++recycle:cans
++recycling:cans
++recycling:plastic_bottles
++recycline:cardboard
++recycle:glass_bottles
++recycling:cork
++recycling:glass
++recycling:plastic
++recycling:plastic_bags
++recycling:plasic_bottles
++recycling:scrap_metal
++recycling:white_goods
++recycling:wood
++recycling:tyres
++red
++reference
++ref_direction
++reg
++reg_name
++reg_ref
++reg_reg
++region_id
++religion
+-relgion
++residence
++residential
+-residentail
++restriction
+-restrction
+-Restriction
++restricted
++restrictions
+-Restrictions
+-Restrictions 
++riverwidth
++river_width
++road
++rollerblade
++roundabout
++route
++routing
++rue
++runway
++sat
++sculpture
++service
++shape
++sheltered
++shortcut
++sidewalk
++sign
++single_track
++singletrack
++shop
++shopping
++size
++ski
++slope
++snowboarding
++some_data
++source:loc_name
++source:old_name
++source:old_ref
++source:name
+-source:Name
++source:ref
++source_ref
++source_ref:ref
++source_ref:name
++source:uri
++source_uri
++source:url
+-source_url
++source:oneway
++southglos:heritagetrail
++species
++speed
++speed_limit
++speed limit
++speedlimit
++speedevil
++sport
++sport_2
++sports
++stairs
++start_date
++state
++station
++stream
++street
++street_name
++steps
++structure
++subtype
++suburb
++suggested
++surface
+-sruface
++surfaced
++survey_ref
++survey
+- survey
++svg:font-size
++svg:stroke-width
++svg_font-size
++svg:stroke-dasharray
++swimming
++sym
++symbol
++symbolic
++tag
++taxi
++telephone
++telephone:operator
++telephone_number
++telephonenumber
++telephone_type
++test
++testing
++testnode
++ this was a children's playarea with a path leading through it. Didn't want to look too dodgy :)
++the Netherlands
++NL
++thoroughfare
++time_diff
++times
++tractor
++track
++tracktype_1
++to_zip
++todo
++TODO
++toll
++tollway
++topspeed
++tourism
+-tourismn
+-tourim
+-tourism 
+-toursim
+-touristm
++tourist
++tourist_attraction
++towards
++town
++towpath
++tracks
++traffic
++traffic_signals
++train
++tracktype
+-tractype
+-tracltype
+-trackype
++tram
++tramline
+-tram_line
++true
++truck
++tube
++tune
++tunnel
+-tunne
+-tunnel 
+-Tunnel
+-tunel
+-tunnely
++turn_right
++typ
++type
+-tyoe
++type.en
++uk:row
++unclassified
++upload_tag
++uploader
++uploaded_by
++uri
++url
++use
++use_status
++usage
++utility
++vdop
++vehicle
++viaduct
++vicar
++view
++village
++visited_by
++volcano
++voltage
++warning
++water
++waterfall
++wayclass
++waypoint
++web
++website
++website:official
++weight_limit
++wide
++width
++width_restriction
++wiki
++wikipedia
++wikipedia:es
++wiki:nl
++wrong
++www
++zip
++zip_code
++{}
Index: unk/data/words.cfg
===================================================================
--- /trunk/data/words.cfg	(revision 6481)
+++ 	(revision )
@@ -1,1116 +1,0 @@
-# NOTE: Order *is* significant, case also.
-#
-# special symbols, must be first character:
-#  # Comment
-#  + correctly spelled word
-#  - incorrectly spelled word. Must follow correctly spelled word before next correctly spelled word.
-#
-# There must not be any white space before or after words, unless they are to be included in
-# the bad spelling.
-+abutters
--abuters
--abbutter
--abbutters
--abuttors
--abuutters
--ubutters
-+abutter
-+address
-+aka
-+ambulance
-+amenity
--ameninty
--amienty
--amienity
--amenitzy
--amenety
--amenitry
--amnity
--amenity 
--amentiy
--aminity
--amneity
--amnenity
--aminety
--amentity
--ammenity
--ameinty
--anemity
--amneity
--amemity
--ameity
--amenity:
--amenty
--Amenity
--maenity
--emenity
-+amenitylanduse
-+atm
-+Atta Oehlaweg
-+bicycle
--bycycle
--biycle
--bycicle
--bicyle
-+bike
-- bike
-+biological
-+by
-+City
-+class
--Class
-+classification
-+ele
-+emity
-+email
-+code_departement
-+code_INSEE
-+commercial
--comercial
-+comment
-+COMMENTLINE
-+confirmed
-+created_by
--created by
--cretaed_by
--crated_by
--creared_by
--creayed_by
--{created_by
-- created_by
--creeated_by
--created_bu
-+crossing
-+denomination
--denonimation
--denomionation
--denomation
--demonination
--demomination
--denomition
--denomincation
--denominatation
--denoination
-+domination
-+faith
-+footway
-+foot
-- foot
--foor
-+height
--hieght
-+highway
--higwhay
--highwaay
--HighWay
--huighway
--highwayt
--ghway
--highaway
--highwway
--ighway
--higjway
--hioghway
--hiway
--hihjway
--higheway
--highwaY
--hughway
--hihgway
--higoway
--highwat
--highwah
--gighway
--higyway
--hichway
--HIGHWAY
--hingway
--hhighway
--highwayu
--hyighway
--hiughway
--highwya
--hifhway
--hihway
--hifgway
--highway:
--highjway
--highway 
--highwy
--hgihway
--highawy
--highwau
--highay
--higbway
--hignway
--higway
--highwayx
-- highway
--hoghway
--highwa
--Highway
--hghway
-+highways
-+highspeed
-+highwaytype
-+highway_type
-+highwayunclassified
-+horse
-+hvg
-+iata_ref
-+icao_ref
-+IM2
-+image
--imaqge
-+island
-+layer
--layer 
--elevation
--leyer
--lyaer
-- layer
-+layer2
-+layers
-+layout
-+leisure
--leissure
--leiruse
--lesure
--leisure 
--Leisure
--liesure
--lieusure
--lesiure
--leasure
-+naam
-+name
--nane
--nme
--namee
--nname
--naem
--nmae
--nacme
--n ame
--name`
--namw
--bame
--nam
-- name
--namr
--name 
--anme
--Name
--name:
--NAME
--name;
-+name_1
-+name_4
-+named_by
-+names
-+name_right
-+name_left
-+note
--Note
-+note:fa
--note:fa 
--notes:fa
-+Number
-+oneway
--aneway
--onewway
--onewau
--oneay
--neway
--oneweay
--onewa
--omeway
--one_way
--onway
-- oneway
--oeway
--eway
-+onte
-+osmarender:nameDirection
--name_direction
--name-direction
--osmarender:name_direction
-+place
--place 
--Place
-+passing
-+passing_places
-+railway
-- railway
--Railway
--raillway
-+re
-+regional_name
-+ref
--ref 
--ref:
--Ref
-+ref:fa
-+ref:source
-+ref_nat
-+ref_int
-+retail
-+time
-+seats
-+seventh_wonder_of_world
-+square
-+soccer
-+source
--sorce
--soruce
--soure
--souce
--sourec
--aource
--sourse
-+source2
-+source:ncn_ref
-+source:highway
-+SSSI
-+status
-+way
-+waterway
-- waterway
--waterwa
--Waterway
--waterwy
--wateway
-+wood
-+unknown
--unknwon
-#
-# Not sorted.
-#
-+ 
-+1
-+4wd
-+ car
-+ class
-+ horse
-+ sport
-+ open 09:00 - 16:00 daily
-+ General McArthur lived here
-+ Also coaches
-+80n:ibm
-+amenities
-+bar
-+batteries
-+Bezeichnung
-+boder
-+Brand
-+Food
-+Fussweg
-+Hauptstrasse
-+POI
-+Park
-+Strasse
-+abutment
-+abutts
-+access
-+accident_and_emergency
-+active_volcano
-+aerialway
--areilway
--areialway
--arielway
-+aeroway
--aeoroway
--areoway
--airoway
-+ageofdgpsdata
-+airport
--aeroport
-+airport_ident
-+airport_ref
-+airway
-+alias
-+alt
-+altname
-+alt_name
-+alt_name_2
-+alternative_name
-+altitude
-+alt_ref
-+ame
-+annotation
-+annotate
-+angle
-+angle_to_last
-+appearance
-+approximate
-+area
-+art
-+ascii_name
-+asphalt
-+author
-+autocar
-+b test tag
-+badminton
-+barnvagn
-+barrier
-+bb:name
-+beach
-+bicycleRoute
-+bicycle_Route
-+blackadder:name
-+blackadder:commerce
-+blackadder:cuisine
-+blackadder:service
-+blackadder:civic
-+bicycles
-+boat
-+bogus_footpath_going_nowhere
-+border
-+borded
-+border_edit
-+border_type
-+bottles
-+boundary
-+boundary_name
-+boundary_type
-+branch
-+branch_code:fa
-+branch_name:fa
-+brand
-+brewery
-+bridge
--brideg
-- bridge
--brdige
--bridgde
--birdge
--   bridge
--bidge
--brige
--brigde
--bridgw
-+bridge_ref
-+bridge_name
-+bridleway
-+building
--buidling
--buillding
--buiding
--bulding
-+building_name
-+build_date
-+bus
-+buss
-+busway
-+bus_routes
-+building_type
-+cafe
-+capacity
-+Car
-+car
-+carriage
-+cars
-+car park at rear
-- car park at rear
-+car_repair
-+carsharing
-+category
-+caution
-+charge
-+chemin
-+checked_by
-+cheshire_cycleway_ref
-+christian_denomination
-+cladding
-+city
--citya
-+city_id
-+clinic
-+clothes
-+cmt
-+complete
-- complete
--complite
-+condition
-+construction
-+controlled
-+converted_by
-+core
-+cost
-+country
-+course
-+cover
-+covered
-+creator
-+cycle
--cyle
-+cycleRoute
-+cycle_route
-+cycleway
--cylceway
--cycleway:
-+cykel
-+cuisine
-+cusine
-+cutting
-+d_lat
-+d_lon
-+danger
-+date
-+date_off
-+day_off
-+day_on
-+dead-end
-+deadend
-+depth
-+desc
-+description
--descripion
--desription
--decription
-+descriptions
-+ details:naco
-+destination
-+difficulty
-+direction
-+direction_to
-+dispensing
-+distance
-+distance_meter
-+disused
-+ECautomaton
-+edited_some_more_by
-+editor
-+editor note
-+ef
-+elevated
-+embankment
-+emergency
-+emergency_ward
-+error
-+exit
-+exit_nr
-+exit_name
-+external_description
-+external_link
-+ev_charge
-+facility
-+farezone
-+farm_vehicles
-+fastfood
-+FACC_CODE
-+feature
--featuer
-+feature: NGIA map
-- feature: NGIA map
-+features
-+feet
-+ferry
-+fenced
-+fire
-+first_number
-+fix
-+fixme
-+FIXME
-+foobar
-+food
-+footpath
--fottpath
-+forrest
-+foto
-+free
-+freight
--frieght
-+from_to
-+from_zip
-+fuel_diesel
-+fuel_lpg
-+fuel_octane_91
-+fuel_octane_95
-+fuel_octane_98
-+full_name:fa
--full_name:Fa
-+full_name
-+gate
-+geoname_id
-+glass
-+glass_bottles
-+glutenfree
-+gluten_free
-+goods
-+gps_network
-+grade
-+grind
-+gym
-+halt
-+hazard
-+hame
-+has_postalcode
-+hdop
-+helped_by
-+heritage
-+hgv
-+highway E-number
-+highway_border
--highway_boarder
--highway_boreder
-+hill
-+historic
-+historic name
-+historical
-+history
-+Higgy:ref
-+hotelclass
-+hospital:operator
-+hour_off
-+hour_on
-+hours
-+house_numbers
-+iata
-+icao
-+id
--ID
-+import_ref
-+incomplete
-+incline_steep
-+incline
-+industrial
-+info
-+ info :naco
-+infopoint
-+informal_name
-+int_name
--int name
--iint_name
-+int_ref
-+interpolation
-+intersection
-+is
-+is_in
--is in
-- is_in
-+in_in
-+is_in:de
-+is_in:es
-+junction
--junktion
--junctoin
--junctioin
--juntion
--junctiion
--jounction
--jumction
-- junction
--juction
--Junction
--junction 
-+junction_ref
-+junction:ref
-+junction:name
-+key
-+Kingsmede
-+label
-+landuse
--land_use
--lansuse
--lanudse
--lanuse
-+lane
-+lanes
--Lanes
-+last_number
-+ Last Edit: Batchoy 2006-12-14
-+learning
-+length
-+level
-+level crossing
-+license
-+liftStation
-+liftType
-+lighthouse
-+line
-+lines
-+link:naming
-+linje
-+lit
-+loc_ref
-+loc_ref:fa
-+loc_name
--loc_name 
-+loc_name:fa
-+local_name
--local_nama
-+local_ref
-+locality
-+lock
-+lock_gate
-+long_name
-+lorries
-+Loyola Heights
-+ma,e
-+main
-+major
-+man_made
--man-made
--man_made 
--mand_made
--nan_made
--madmade
--manmade
-+mapkey
-+maplint:error
-+maplint:notice
-+maplint:warning
-+mapping_status
--mapping status
--mappingstatus
-+markedtrail
-+marker
-+marching_step
-+minspeed
--min_speed
-+maxspeed
--maspeed
--max_speed
--max speed
--maxsepeed
--maxseep
--mayspeed
--maxspeed 
--maxpeed
-+maxheight
--max_hieght
--max_height
-+maxweight
--maxwieght
--max_weight
--max_wieght
--maxweihgt
-+maxwidth
-+membership
-+memorial
-+menu
-+military
-+missing_street
-+mixed
-+monument
-+more_data
-+motor
-+motorbike
-+motorcar
--otorcar
-- motorcar
--motocar
-+motor_car
-+motorcars
--motocars
-+motorcycle
--motorcylce
--motocycle
--motorcycle 
-+motorway
-+motorway station
-+motorway_junction
-+munro
-+museum
-+nad_ref
-+name.2
-+name.alt
-+name.en
-+name:ar
-+name:af
-+name:cy
-+name:de
-+name:en
-+name:en-cy
-+name:es
-+name:eu
-+name:fa
-+name:fi
-+name:fr
-+name:gd
-+name:la
-+name:my
-+name:nl
-+name:non
-+name:ru
-+name:sv
-+name.se
-+name.short
-+name:zh-Latn
-+name1
-+name2
-+name_alt
-+name int
-+name_int
-+name:source
-+name_source
-+name:cym
-+name_ie
-+name_loc
-+name_segment
-+namelayer
-+name:ref
-+name_ref
-+nat_name
-+nat_ref
-+nat_pref
-+nat_reg
-+natural
--nataural
-- natural
--natrual
--nautral
--natural 
-+natural2
-+nature
-+navigable
-+ncn_name
-+ncn_ref
-+ncn:ref
-+ncn_route
-+needs_to_be
-+network
-+net_ref
-+newforest:pathtype
-+newsagent_code
-+nickb_marker
-+nickname
-+nlanes
-+noat
-+node
-+noentry
-+noexit
-- noexit
-+notes
-+note_1
--note_!
-+note_2
--note2
-+note_3
-+note_4
-+note_
-+noturn
-+number
-+numbers
-+obstacles
-+obstruction
-+official
-+ojw2
-+ojw_test
-+old_name
--oldname
-+old_name:fa
-+old_full_name:fa
-+old_ref
-+opened
-+open_in
-+operator
-+opm:capacity
-+opm:difficulty
-+opm:liftStation
-+opm:liftType
--opm:lifttype
-+osmarender:renderName
--osmarender:rendername
--soamrender:renderName
-+osmarender:renderRef
--osmrender:renderRef
-+owner
-+owners
-+park_and_ride
-+parking
-+parking:cost
-+parking:spaces
-+passenger
-+path
-+paved
-+pcv_only
-+pdop
-+pedestrian
-+pedestrians
-+permissive
-+petrol lhs
-+petrol petron
-+petrol
-+phone
-+phone_number
-+physical
-+place_postal
-+place numbers
-+place_code
-+place_name
-- place_name
-+place_numbers
-+place_of_worship
-+plave
-+playe
-+plant
-+poi
-+point_of_interest
-+population
-+popul
-+port
-+position_accuracy
-+possible_name
-+post_code
-+postal_code
-- postal_code
--posatl_code
-+postcode
-+post_office
-+power
-+primary
-+private
--privat
-+provided
-+Properties
-+problem
-+psv
-+public
-+public_transportation
-+punting
-+quality
-+rail
-+railroad
-+railway_tracks
-+ramp
-+recreation
-+recycling
-+recycling:batteries
-+recycling:bicycles
-+recycling:books
-+recycling:clothing
-+recycling:clothes
-+recycling:glas
--recyling:glas
-+recycling:shoes
-+recycling:engine_oil
-+recycling:glass_bottles
-+recycling:green_waste
-+recycling:magazines
-+recycling:mobile_phones
-+recycling:newspaper
-+recycling:newspapers
-+recycling:printer_cartridges
-+recycling:cardboard
-+recycling:music
-+recycling:paper
--reycling:paper
-+recycle:plastic_bottles
-+recycle:paper
-+recycle:magazines
-+recycle:cardboard
-+recycle:cans
-+recycling:cans
-+recycling:plastic_bottles
-+recycline:cardboard
-+recycle:glass_bottles
-+recycling:cork
-+recycling:glass
-+recycling:plastic
-+recycling:plastic_bags
-+recycling:plasic_bottles
-+recycling:scrap_metal
-+recycling:white_goods
-+recycling:wood
-+recycling:tyres
-+red
-+reference
-+ref_direction
-+reg
-+reg_name
-+reg_ref
-+reg_reg
-+region_id
-+religion
--relgion
-+residence
-+residential
--residentail
-+restriction
--restrction
--Restriction
-+restricted
-+restrictions
--Restrictions
--Restrictions 
-+riverwidth
-+river_width
-+road
-+rollerblade
-+roundabout
-+route
-+routing
-+rue
-+runway
-+sat
-+sculpture
-+service
-+shape
-+sheltered
-+shortcut
-+sidewalk
-+sign
-+single_track
-+singletrack
-+shop
-+shopping
-+size
-+ski
-+slope
-+snowboarding
-+some_data
-+source:loc_name
-+source:old_name
-+source:old_ref
-+source:name
--source:Name
-+source:ref
-+source_ref
-+source_ref:ref
-+source_ref:name
-+source:uri
-+source_uri
-+source:url
--source_url
-+source:oneway
-+southglos:heritagetrail
-+species
-+speed
-+speed_limit
-+speed limit
-+speedlimit
-+speedevil
-+sport
-+sport_2
-+sports
-+stairs
-+start_date
-+state
-+station
-+stream
-+street
-+street_name
-+steps
-+structure
-+subtype
-+suburb
-+suggested
-+surface
--sruface
-+surfaced
-+survey_ref
-+survey
-- survey
-+svg:font-size
-+svg:stroke-width
-+svg_font-size
-+svg:stroke-dasharray
-+swimming
-+sym
-+symbol
-+symbolic
-+tag
-+taxi
-+telephone
-+telephone:operator
-+telephone_number
-+telephonenumber
-+telephone_type
-+test
-+testing
-+testnode
-+ this was a children's playarea with a path leading through it. Didn't want to look too dodgy :)
-+the Netherlands
-+NL
-+thoroughfare
-+time_diff
-+times
-+tractor
-+track
-+tracktype_1
-+to_zip
-+todo
-+TODO
-+toll
-+tollway
-+topspeed
-+tourism
--tourismn
--tourim
--tourism 
--toursim
--touristm
-+tourist
-+tourist_attraction
-+towards
-+town
-+towpath
-+tracks
-+traffic
-+traffic_signals
-+train
-+tracktype
--tractype
--tracltype
--trackype
-+tram
-+tramline
--tram_line
-+true
-+truck
-+tube
-+tune
-+tunnel
--tunne
--tunnel 
--Tunnel
--tunel
--tunnely
-+turn_right
-+typ
-+type
--tyoe
-+type.en
-+uk:row
-+unclassified
-+upload_tag
-+uploader
-+uploaded_by
-+uri
-+url
-+use
-+use_status
-+usage
-+utility
-+vdop
-+vehicle
-+viaduct
-+vicar
-+view
-+village
-+visited_by
-+volcano
-+voltage
-+warning
-+water
-+waterfall
-+wayclass
-+waypoint
-+web
-+website
-+website:official
-+weight_limit
-+wide
-+width
-+width_restriction
-+wiki
-+wikipedia
-+wikipedia:es
-+wiki:nl
-+wrong
-+www
-+zip
-+zip_code
-+{}
Index: /trunk/src/org/openstreetmap/josm/data/validation/tests/Highways.java
===================================================================
--- /trunk/src/org/openstreetmap/josm/data/validation/tests/Highways.java	(revision 6481)
+++ /trunk/src/org/openstreetmap/josm/data/validation/tests/Highways.java	(revision 6482)
@@ -10,4 +10,5 @@
 import java.util.Iterator;
 import java.util.List;
+import java.util.Locale;
 import java.util.Map;
 
@@ -31,4 +32,8 @@
     protected static final int WRONG_ROUNDABOUT_HIGHWAY = 2701;
     protected static final int MISSING_PEDESTRIAN_CROSSING = 2702;
+    protected static final int SOURCE_MAXSPEED_UNKNOWN_COUNTRY_CODE = 2703;
+    protected static final int SOURCE_MAXSPEED_UNKNOWN_CONTEXT = 2704;
+    protected static final int SOURCE_MAXSPEED_CONTEXT_MISMATCH_VS_MAXSPEED = 2705;
+    protected static final int SOURCE_MAXSPEED_CONTEXT_MISMATCH_VS_HIGHWAY = 2706;
 
     /**
@@ -45,4 +50,9 @@
             "living_street");
 
+    protected static final List<String> KNOWN_SOURCE_MAXSPEED_CONTEXTS = Arrays.asList(
+            "urban", "rural", "zone", "zone30", "zone:30", "nsl_single", "nsl_dual", "motorway", "trunk", "living_street");
+
+    protected static final List<String> ISO_COUNTRIES = Arrays.asList(Locale.getISOCountries());
+
     boolean leftByPedestrians = false;
     boolean leftByCyclists = false;
@@ -73,6 +83,12 @@
     @Override
     public void visit(Node n) {
-        if (n.isUsable() && !n.hasTag("highway", "crossing") && !n.hasTag("crossing", "no") && n.isReferredByWays(2)) {
-            testMissingPedestrianCrossing(n);
+        if (n.isUsable()) {
+            if (!n.hasTag("highway", "crossing") && !n.hasTag("crossing", "no") && n.isReferredByWays(2)) {
+                testMissingPedestrianCrossing(n);
+            }
+            if (n.hasKey("source:maxspeed")) {
+                // Check maxspeed but not context against highway for nodes as maxspeed is not set on highways here but on signs, speed cameras, etc.
+                testSourceMaxspeed(n, false);
+            }
         }
     }
@@ -80,6 +96,12 @@
     @Override
     public void visit(Way w) {
-        if (w.isUsable() && w.hasKey("highway") && w.hasKey("junction") && w.get("junction").equals("roundabout")) {
-            testWrongRoundabout(w);
+        if (w.isUsable()) {
+            if (w.hasKey("highway") && w.hasKey("junction") && w.get("junction").equals("roundabout")) {
+                testWrongRoundabout(w);
+            }
+            if (w.hasKey("source:maxspeed")) {
+                // Check maxspeed, including context against highway
+                testSourceMaxspeed(w, true);
+            }
         }
     }
@@ -173,4 +195,23 @@
         }
     }
+    
+    private void testSourceMaxspeed(OsmPrimitive p, boolean testContextHighway) {
+        String value = p.get("source:maxspeed");
+        if (value.matches("[A-Z]{2}:.+")) {
+            int index = value.indexOf(':');
+            // Check country
+            String country = value.substring(0, index);
+            if (!ISO_COUNTRIES.contains(country)) {
+                errors.add(new TestError(this, Severity.WARNING, tr("Unknown country code: {0}", country), SOURCE_MAXSPEED_UNKNOWN_COUNTRY_CODE, p));
+            }
+            // Check context
+            String context = value.substring(index+1);
+            if (!KNOWN_SOURCE_MAXSPEED_CONTEXTS.contains(context)) {
+                errors.add(new TestError(this, Severity.WARNING, tr("Unknown source:maxspeed context: {0}", context), SOURCE_MAXSPEED_UNKNOWN_CONTEXT, p));
+            }
+            // TODO: Check coherence of context against maxspeed
+            // TODO: Check coherence of context against highway
+        }
+    }
 
     @Override
Index: /trunk/src/org/openstreetmap/josm/data/validation/tests/TagChecker.java
===================================================================
--- /trunk/src/org/openstreetmap/josm/data/validation/tests/TagChecker.java	(revision 6481)
+++ /trunk/src/org/openstreetmap/josm/data/validation/tests/TagChecker.java	(revision 6482)
@@ -73,7 +73,7 @@
     
     /** The default data files */
-    public static final String DATA_FILE = "resource://data/tagchecker.cfg";
-    public static final String IGNORE_FILE = "resource://data/ignoretags.cfg";
-    public static final String SPELL_FILE = "resource://data/words.cfg";
+    public static final String DATA_FILE = "resource://data/validator/tagchecker.cfg";
+    public static final String IGNORE_FILE = "resource://data/validator/ignoretags.cfg";
+    public static final String SPELL_FILE = "resource://data/validator/words.cfg";
 
     /** The spell check key substitutions: the key should be substituted by the value */
