source: josm/trunk/resources/data/validator/multiple.mapcss@ 18112

Last change on this file since 18112 was 18105, checked in by Don-vip, 4 years ago

fix #19419 - Warn about multiple access values (patch by skyper)

  • Property svn:eol-style set to native
File size: 5.0 KB
Line 
1/* #9757, #10869, #18266 */
2*["telecom:medium" =~ /.+;(.+)?/],
3*["addr:street" =~ /.+;(.+)?/],
4*[highway =~ /.+;(.+)?/],
5*[lanes =~ /.+;(.+)?/],
6*[maxspeed =~ /.+;(.+)?/],
7*[name =~ /.+;(.+)?/],
8*[surface =~ /.+;(.+)?/],
9*[water =~ /.+;(.+)?/] {
10 throwWarning: tr("{0} with multiple values", "{0.key}");
11}
12
13/* #19419 */
14node[/^(amenity|barrier|building(:part)?|entrance|(high|rail|water)way|leisure)$/][access *=";"],
15way[/^(amenity|building(:part)?|(high|rail|water)way|water|leisure)$/][access *=";"],
16relation[type =~ /^(boundary|multipolygon)$/][access *=";"],
17*[/^(amenity|building(:part)?|entrance|highway|leisure)$/]["4wd_only" *=";"],
18*[/^(amenity|building(:part)?|entrance|highway|leisure)$/][agricultural *=";"],
19*[/^(amenity|building(:part)?|entrance|highway|leisure)$/][bdouble *=";"],
20*[/^(amenity|building(:part)?|entrance|highway|leisure)$/][bicycle *=";"],
21*[/^(amenity|building(:part)?|entrance|highway|leisure)$/][bus *=";"],
22*[/^(amenity|building(:part)?|entrance|highway|leisure)$/][carriage *=";"],
23*[/^(amenity|building(:part)?|entrance|highway|leisure)$/][disabled *=";"],
24*[/^(amenity|building(:part)?|entrance|highway|leisure)$/][dog *=";"],
25*[/^(amenity|building(:part)?|entrance|highway|leisure)$/][emergency *=";"],
26*[/^(amenity|building(:part)?|entrance|highway|leisure)$/][foot *=";"],
27*[/^(amenity|building(:part)?|entrance|highway|leisure)$/][golf_cart *=";"],
28*[/^(amenity|building(:part)?|entrance|highway|leisure)$/][goods *=";"],
29*[/^(amenity|building(:part)?|entrance|highway|leisure)$/][hazmat *=";"],
30*[/^(amenity|building(:part)?|entrance|highway|leisure)$/][hgv *=";"],
31*[/^(amenity|building(:part)?|entrance|highway|leisure)$/][horse *=";"],
32*[/^(amenity|building(:part)?|entrance|highway|leisure)$/][hov *=";"],
33*[/^(amenity|building(:part)?|entrance|highway|leisure)$/][mofa *=";"],
34*[/^(amenity|building(:part)?|entrance|highway|leisure)$/][moped *=";"],
35*[/^(amenity|building(:part)?|entrance|highway|leisure)$/][motor_vehicle *=";"],
36*[/^(amenity|building(:part)?|entrance|highway|leisure)$/][motorcar *=";"],
37*[/^(amenity|building(:part)?|entrance|highway|leisure)$/][motorcycle *=";"],
38*[/^(amenity|building(:part)?|entrance|highway|leisure)$/][psv *=";"],
39*[/^(amenity|building(:part)?|entrance|highway|leisure)$/][snowmobile *=";"],
40*[/^(amenity|building(:part)?|entrance|highway|leisure)$/][ski *=";"],
41*[/^(amenity|building(:part)?|entrance|highway|leisure)$/][taxi *=";"],
42*[/^(amenity|building(:part)?|entrance|highway|leisure)$/][tourist_bus *=";"],
43*[/^(amenity|building(:part)?|entrance|highway|leisure)$/][vehicle *=";"],
44*[/^(amenity|building(:part)?|entrance|highway|leisure)$/][wheelchair *=";"],
45*[railway][train *=";"],
46*[railway][tram *=";"],
47*[railway][subway *=";"],
48*[/^(leisure|water(way)?)$/][boat *=";"],
49*[/^(leisure|water(way)?)$/][canoe *=";"],
50*[/^(leisure|water(way)?)$/][cargo *=";"],
51*[/^(leisure|water(way)?)$/][motorboat *=";"],
52*[/^(leisure|water(way)?)$/][passenger *=";"],
53*[/^(leisure|water(way)?)$/][ship *=";"],
54*[/^(leisure|water(way)?)$/][swimming *=";"] {
55 throwWarning: tr("{0} with multiple values", "{1.key}");
56 group: tr("Multiple values in access tag");
57 suggestAlternative: tr("only one value and additional {0}", "{1.key}:conditional");
58 assertMatch: "node barrier=block access=agricultural;forestry";
59 assertNoMatch: "node barrier=block access=agricultural";
60 assertMatch: "way highway=trunk access=agricultural;forestry";
61 assertNoMatch: "way highway=trunk access=agricultural";
62 assertMatch: "relation type=multipolygon water=lake access=boat;canoe";
63 assertNoMatch: "relation type=multipolygon water=lake access=boat";
64}
65
66*[source =~ /^(;.*|.*;;.*|.*;)$/],
67*["source:addr" =~ /^(;.*|.*;;.*|.*;)$/],
68*["source:maxspeed" =~ /^(;.*|.*;;.*|.*;)$/],
69*["source:name" =~ /^(;.*|.*;;.*|.*;)$/],
70*["source:position" =~ /^(;.*|.*;;.*|.*;)$/],
71*["source:postcode" =~ /^(;.*|.*;;.*|.*;)$/],
72*[ref =~ /^(;.*|.*;;.*|.*;)$/],
73*[int_ref =~ /^(;.*|.*;;.*|.*;)$/],
74*[old_ref =~ /^(;.*|.*;;.*|.*;)$/],
75*[source_ref =~ /^(;.*|.*;;.*|.*;)$/],
76*[route_ref =~ /^(;.*|.*;;.*|.*;)$/],
77*[attribution =~ /^(;.*|.*;;.*|.*;)$/],
78*[name =~ /^(;.*|.*;;.*|.*;)$/],
79*[alt_name =~ /^(;.*|.*;;.*|.*;)$/],
80*[note =~ /^(;.*|.*;;.*|.*;)$/],
81*[fixme =~ /^(;.*|.*;;.*|.*;)$/],
82*["addr:housenumber" =~ /^(;.*|.*;;.*|.*;)$/],
83*[destination =~ /^(;.*|.*;;.*|.*;)$/],
84*[exit_to =~ /^(;.*|.*;;.*|.*;)$/],
85*[surface =~ /^(;.*|.*;;.*|.*;)$/],
86*["building:use" =~ /^(;.*|.*;;.*|.*;)$/],
87*[traffic_sign =~ /^(;.*|.*;;.*|.*;)$/],
88*[voltage =~ /^(;.*|.*;;.*|.*;)$/],
89*[sport =~ /^(;.*|.*;;.*|.*;)$/],
90*[cuisine =~ /^(;.*|.*;;.*|.*;)$/] {
91 throwWarning: tr("empty value in semicolon-separated ''{0}''", "{0.key}");
92 assertMatch: "node ref=;A1";
93 assertMatch: "node ref=A1;";
94 assertMatch: "node ref=;";
95 assertMatch: "node ref=A1;;A2";
96 assertNoMatch: "node ref=A1";
97 assertNoMatch: "node ref=A1;A2";
98}
Note: See TracBrowser for help on using the repository browser.