Changeset 16685 in josm
 Timestamp:
 20200620T21:56:27+02:00 (3 weeks ago)
 File:

 1 edited
Legend:
 Unmodified
 Added
 Removed

trunk/resources/data/validator/numeric.mapcss
r16340 r16685 55 55 } 56 56 57 *[height][height =~ /^[09]+\.?[09]*(( )*(metremetresmetermetersMetreMetresMeterMeters)m)$/] { 58 throwWarning: tr("unusual value of {0}: use abbreviation for unit and space between value and unit", "{0.key}"); 59 set height_meter_autofix; 60 fixAdd: concat("height=", get(regexp_match("([09.]+)( )*(.+)",tag("height")),1)," m"); 61 assertMatch: "node height=6.78 meters"; 62 assertMatch: "node height=5 metre"; 63 assertMatch: "node height=2m"; 64 assertNoMatch: "node height=2 m"; 65 assertNoMatch: "node height=5"; 66 } 67 *[height][height =~ /^[09]+\.?[09]*(( )*(footFootfeetFeet)ft)$/] { 68 throwWarning: tr("unusual value of {0}: use abbreviation for unit and space between value and unit", "{0.key}"); 69 set height_foot_autofix; 70 fixAdd: concat("height=", get(regexp_match("([09.]+)( )*(.+)",tag("height")),1)," ft"); 71 assertMatch: "node height=6.78 foot"; 72 assertMatch: "node height=5 Feet"; 73 assertMatch: "node height=2ft"; 74 assertNoMatch: "node height=2 ft"; 75 assertNoMatch: "node height=5"; 76 } 57 77 *[height][height =~ /^[09]+,[09][09]?( (mft))?$/] { 58 78 throwWarning: tr("unusual value of {0}: use . instead of , as decimal separator", "{0.key}"); … … 67 87 assertNoMatch: "node height=4"; 68 88 } 69 *[height][height !~ /^(([09]+\.?[09]*( (mft))?)([19][09]*\'((1011[09])((\.[09]+)?)\")?))$/]!.height_separator_autofix { 70 throwWarning: tr("unusual value of {0}: meters is default; point is decimal separator; if units, put space then unit", "{0.key}"); 71 assertMatch: "node height=medium"; 72 assertMatch: "node height=5"; 73 assertNoMatch: "node height=2 m"; 74 assertNoMatch: "node height=5"; 75 assertNoMatch: "node height=7.8"; 76 assertNoMatch: "node height=20 ft"; 77 assertNoMatch: "node height=22'"; 78 } 79 89 90 *[maxheight][maxheight =~ /^[19][09]*\.?[09]*(( )*(metremetresmetermetersMetreMetresMeterMeters)m)$/] { 91 throwWarning: tr("unusual value of {0}: use abbreviation for unit and space between value and unit", "{0.key}"); 92 set maxheight_meter_autofix; 93 fixAdd: concat("maxheight=", get(regexp_match("([09.]+)( )*(.+)",tag("maxheight")),1)," m"); 94 assertMatch: "node maxheight=6.78 meters"; 95 assertMatch: "node maxheight=5 metre"; 96 assertMatch: "node maxheight=2m"; 97 assertNoMatch: "node maxheight=2 m"; 98 assertNoMatch: "node maxheight=5"; 99 } 100 *[maxheight][maxheight =~ /^[09]+\.?[09]*(( )*(footFootfeetFeet)ft)$/] { 101 throwWarning: tr("unusual value of {0}: use abbreviation for unit and space between value and unit", "{0.key}"); 102 set maxheight_foot_autofix; 103 fixAdd: concat("maxheight=", get(regexp_match("([09.]+)( )*(.+)",tag("maxheight")),1)," ft"); 104 assertMatch: "node maxheight=6.78 foot"; 105 assertMatch: "node maxheight=5 Feet"; 106 assertMatch: "node maxheight=2ft"; 107 assertNoMatch: "node maxheight=2 ft"; 108 assertNoMatch: "node maxheight=5"; 109 } 80 110 *[maxheight][maxheight =~ /^[09]+,[09][09]?( (mft))?$/] { 81 111 throwWarning: tr("unusual value of {0}: use . instead of , as decimal separator", "{0.key}"); … … 90 120 assertNoMatch: "node maxheight=4"; 91 121 } 92 *[maxheight][maxheight !~ /^(([19][09]*(\.[09]+)?( (mft))?)([09]+\'(([09]1011)(\.[09]*)?\")?)nonedefaultbelow_default)$/]!.maxheight_separator_autofix { 93 throwWarning: tr("unusual value of {0}: meters is default; point is decimal separator; if units, put space then unit", "{0.key}"); 94 assertMatch: "node maxheight=something"; 95 assertMatch: "node maxheight=5"; 96 assertMatch: "node maxheight=0"; 97 assertNoMatch: "node maxheight=4"; 98 assertNoMatch: "node maxheight=3.5"; 99 assertNoMatch: "node maxheight=2 m"; 100 assertNoMatch: "node maxheight=14 ft"; 101 assertNoMatch: "node maxheight=10'"; 102 assertNoMatch: "node maxheight=16'3\""; 103 } 104 122 123 *[maxlength][maxlength =~ /^[19][09]*\.?[09]*(( )*(metremetresmetermetersMetreMetresMeterMeters)m)$/] { 124 throwWarning: tr("unusual value of {0}: use abbreviation for unit and space between value and unit", "{0.key}"); 125 set maxlength_meter_autofix; 126 fixAdd: concat("maxlength=", get(regexp_match("([09.]+)( )*(.+)",tag("maxlength")),1)," m"); 127 assertMatch: "node maxlength=6.78 meters"; 128 assertMatch: "node maxlength=5 metre"; 129 assertMatch: "node maxlength=2m"; 130 assertNoMatch: "node maxlength=2 m"; 131 assertNoMatch: "node maxlength=5"; 132 } 133 *[maxlength][maxlength =~ /^[09]+\.?[09]*(( )*(footFootfeetFeet)ft)$/] { 134 throwWarning: tr("unusual value of {0}: use abbreviation for unit and space between value and unit", "{0.key}"); 135 set maxlength_foot_autofix; 136 fixAdd: concat("maxlength=", get(regexp_match("([09.]+)( )*(.+)",tag("maxlength")),1)," ft"); 137 assertMatch: "node maxlength=6.78 foot"; 138 assertMatch: "node maxlength=5 Feet"; 139 assertMatch: "node maxlength=2ft"; 140 assertNoMatch: "node maxlength=2 ft"; 141 assertNoMatch: "node maxlength=5"; 142 } 143 *[maxlength][maxlength =~ /^[09]+,[09][09]?( (mft))?$/] { 144 throwWarning: tr("unusual value of {0}: use . instead of , as decimal separator", "{0.key}"); 145 fixAdd: concat("maxlength=", replace(tag("maxlength"), ",", ".")); 146 set maxlength_separator_autofix; 147 assertMatch: "node maxlength=5,5"; 148 assertMatch: "node maxlength=12,00"; 149 assertMatch: "node maxlength=12,5 ft"; 150 assertNoMatch: "node maxlength=12,000"; 151 assertNoMatch: "node maxlength=3,50,5"; 152 assertNoMatch: "node maxlength=3.5"; 153 assertNoMatch: "node maxlength=4"; 154 } 155 156 *[width][width =~ /^[09]*\.?[09]*(( )*(metremetresmetermetersMetreMetresMeterMeters)m)$/] { 157 throwWarning: tr("unusual value of {0}: use abbreviation for unit and space between value and unit", "{0.key}"); 158 set width_meter_autofix; 159 fixAdd: concat("width=", get(regexp_match("([09.]+)( )*(.+)",tag("width")),1)," m"); 160 assertMatch: "node width=6.78 meters"; 161 assertMatch: "node width=5 metre"; 162 assertMatch: "node width=2m"; 163 assertNoMatch: "node width=2 m"; 164 assertNoMatch: "node width=5"; 165 } 166 *[width][width =~ /^[09]+\.?[09]*(( )*(footFootfeetFeet)ft)$/] { 167 throwWarning: tr("unusual value of {0}: use abbreviation for unit and space between value and unit", "{0.key}"); 168 set width_foot_autofix; 169 fixAdd: concat("width=", get(regexp_match("([09.]+)( )*(.+)",tag("width")),1)," ft"); 170 assertMatch: "node width=6.78 foot"; 171 assertMatch: "node width=5 Feet"; 172 assertMatch: "node width=2ft"; 173 assertNoMatch: "node width=2 ft"; 174 assertNoMatch: "node width=5"; 175 } 105 176 *[width][width =~ /^[09]+,[09][09]?( (mft))?$/] { 106 177 throwWarning: tr("unusual value of {0}: use . instead of , as decimal separator", "{0.key}"); … … 114 185 assertNoMatch: "node width=4"; 115 186 } 116 *[width][width !~ /^(([09]+\.?[09]*( [az]+)?)([09]+\'([09]+\.?[09]*\")?))$/]!.width_separator_autofix { 117 throwWarning: tr("unusual value of {0}: meters is default; point is decimal separator; if units, put space then unit", "{0.key}"); 118 assertMatch: "way width=something"; 119 assertMatch: "way width=5"; 120 assertNoMatch: "way width=3"; 121 assertNoMatch: "way width=0.5"; 122 assertNoMatch: "way width=1 m"; 123 assertNoMatch: "way width=10 ft"; 124 assertNoMatch: "way width=1'"; 125 assertNoMatch: "way width=10'5\""; 126 } 127 187 188 *[maxwidth][maxwidth=~ /^[09]*\.?[09]*(( )*(metremetresmetermetersMetreMetresMeterMeters)m)$/] { 189 throwWarning: tr("unusual value of {0}: use abbreviation for unit and space between value and unit", "{0.key}"); 190 set maxwidth_meter_autofix; 191 fixAdd: concat("maxwidth=", get(regexp_match("([09.]+)( )*(.+)",tag("maxwidth")),1)," m"); 192 assertMatch: "node maxwidth=6.78 meters"; 193 assertMatch: "node maxwidth=5 metre"; 194 assertMatch: "node maxwidth=2m"; 195 assertNoMatch: "node maxwidth=2 m"; 196 assertNoMatch: "node maxwidth=5"; 197 } 198 *[maxwidth][maxwidth =~ /^[09]+\.?[09]*(( )*(footFootfeetFeet)ft)$/] { 199 throwWarning: tr("unusual value of {0}: use abbreviation for unit and space between value and unit", "{0.key}"); 200 set maxwidth_foot_autofix; 201 fixAdd: concat("maxwidth=", get(regexp_match("([09.]+)( )*(.+)",tag("maxwidth")),1)," ft"); 202 assertMatch: "node maxwidth=6.78 foot"; 203 assertMatch: "node maxwidth=5 Feet"; 204 assertMatch: "node maxwidth=2ft"; 205 assertNoMatch: "node maxwidth=2 ft"; 206 assertNoMatch: "node maxwidth=5"; 207 } 128 208 *[maxwidth][maxwidth =~ /^[09]+,[09][09]?( (mft))?$/] { 129 209 throwWarning: tr("unusual value of {0}: use . instead of , as decimal separator", "{0.key}"); … … 137 217 assertNoMatch: "node maxwidth=4"; 138 218 } 139 *[maxwidth][maxwidth !~ /^(([09]+\.?[09]*( (mft))?)([09]+\'[09]+\.?[09]*\"))$/]!.maxwidth_separator_autofix { 219 220 *[height ][height !~ /^(([09]+\.?[09]*( (mft))?)([19][09]*\'((1011[09])((\.[09]+)?)\")?))$/]!.height_separator_autofix!.height_meter_autofix!.height_foot_autofix, 221 *[maxheight][maxheight !~ /^(([19][09]*(\.[09]+)?( (mft))?)([09]+\'(([09]1011)(\.[09]*)?\")?)nonedefaultbelow_default)$/]!.maxheight_separator_autofix!.maxheight_meter_autofix!.maxheight_foot_autofix, 222 *[maxlength][maxlength !~ /^(([19][09]*(\.[09]+)?( (mft))?)([09]+\'(([09]1011)(\.[09]*)?\")?)nonedefaultbelow_default)$/]!.maxlength_separator_autofix!.maxlength_meter_autofix!.maxlength_foot_autofix, 223 *[width ][width !~ /^(([09]+\.?[09]*( (mft))?)([09]+\'([09]+\.?[09]*\")?))$/]!.width_separator_autofix!.width_meter_autofix!.width_foot_autofix, 224 *[maxwidth ][maxwidth !~ /^(([09]+\.?[09]*( (mft))?)([09]+\'[09]+\.?[09]*\"))$/]!.maxwidth_separator_autofix!.maxwidth_meter_autofix!.maxwidth_foot_autofix { 140 225 throwWarning: tr("unusual value of {0}: meters is default; point is decimal separator; if units, put space then unit", "{0.key}"); 141 assertMatch: "way maxwidth=something"; 142 assertMatch: "way maxwidth=5"; 143 assertNoMatch: "way maxwidth=2"; 144 assertNoMatch: "way maxwidth=6'6\""; 145 assertNoMatch: "way maxwidth=2.5"; 146 assertNoMatch: "way maxwidth=7 ft"; 147 } 148 149 *[maxweight][maxweight =~ /^[09]+,[09][09]?( (tkglbs))?$/] { 226 assertMatch: "node height=medium"; 227 assertMatch: "node maxheight=5"; 228 assertMatch: "node maxlength=0"; 229 assertMatch: "node maxlength=10'13\""; 230 assertNoMatch: "node height=6.78 meters"; 231 assertNoMatch: "node height=5 metre"; 232 assertNoMatch: "node height=2m"; 233 assertNoMatch: "node height=3"; 234 assertNoMatch: "node height=2.22 m"; 235 assertNoMatch: "node height=7.8"; 236 assertNoMatch: "node maxwidth=7 ft"; 237 assertNoMatch: "node height=22'"; 238 assertNoMatch: "node width=10'5\""; 239 } 240 241 *[maxaxleload][maxaxleload =~ /^[09]+,[09][09]?( (tkgstlbs))?$/] { 242 throwWarning: tr("unusual value of {0}: use . instead of , as decimal separator", "{0.key}"); 243 fixAdd: concat("maxaxleload=", replace(tag("maxaxleload"), ",", ".")); 244 set maxaxleload_separator_autofix; 245 assertMatch: "node maxaxleload=5,5"; 246 assertMatch: "node maxaxleload=12,00"; 247 assertNoMatch: "node maxaxleload=12,000"; 248 assertNoMatch: "node maxaxleload=3,50,5"; 249 assertNoMatch: "node maxaxleload=3.5"; 250 assertNoMatch: "node maxaxleload=4"; 251 } 252 253 *[maxweight][maxweight =~ /^[09]+,[09][09]?( (tkgstlbs))?$/] { 150 254 throwWarning: tr("unusual value of {0}: use . instead of , as decimal separator", "{0.key}"); 151 255 fixAdd: concat("maxweight=", replace(tag("maxweight"), ",", ".")); … … 158 262 assertNoMatch: "node maxweight=4"; 159 263 } 160 *[maxweight][maxweight !~ /^(([09]+\.?[09]*( (tkglbs))?)([09]+\'[09]+\.?[09]*\"))$/]!.maxweight_separator_autofix { 264 265 *[maxaxleload][maxaxleload !~ /^(([09]+\.?[09]*( (tkgstlbs))?)([09]+\'[09]+\.?[09]*\"))$/]!.maxaxleload_separator_autofix, 266 *[maxweight][maxweight !~ /^(([09]+\.?[09]*( (tkgstlbs))?)([09]+\'[09]+\.?[09]*\"))$/]!.maxweight_separator_autofix { 161 267 throwWarning: tr("unusual value of {0}: tonne is default; point is decimal separator; if units, put space then unit", "{0.key}"); 162 assertMatch: " way maxweight=something";163 assertMatch: " waymaxweight=5";164 assertNoMatch: " way maxweight=2";165 assertNoMatch: " waymaxweight=6'6\"";166 assertNoMatch: " way maxweight=2.5";167 assertNoMatch: " way maxweight=7 kg";268 assertMatch: "node maxaxleload=something"; 269 assertMatch: "node maxweight=5"; 270 assertNoMatch: "node maxaxleload=2"; 271 assertNoMatch: "node maxweight=6'6\""; 272 assertNoMatch: "node maxaxleload=2.5"; 273 assertNoMatch: "node maxaxleload=7 kg"; 168 274 } 169 275
Note: See TracChangeset
for help on using the changeset viewer.