source: subversion/applications/utils/maplint/tests.xml @ 30195

Last change on this file since 30195 was 17267, checked in by bobkare, 10 years ago

New update of not-in-map_features, using the new and much improved upcoming Geo::OSM::MapFeatures? version

File size: 105.7 KB
Line 
1<?xml version="1.0"?>
2<maplint:tests xmlns:maplint="http://maplint.openstreetmap.org/xml/1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
3<!--
4
5    DO NOT EDIT THIS FILE !
6
7    This file has been autogenerated from the files in the "tests"
8    subdirectories, please apply any changes there.
9
10-->
11<maplint:test group="base" id="empty-tag-key" version="1" severity="error">
12
13    <maplint:desc xml:lang="en">
14        Elements with empty tag keys.
15    </maplint:desc>
16
17    <maplint:desc xml:lang="de">
18        Elemente mit leerem Schlüsselwort im Tag.
19    </maplint:desc>
20
21    <maplint:garmin short="NOKEY" icon="Navaid, Red"/>
22
23    <maplint:check data="any" type="application/xsl+xml">
24        <xsl:if test="tag[@k='']">
25            <maplint:result>Value=<xsl:value-of select="tag[@k='']/@v"/></maplint:result>
26        </xsl:if>
27    </maplint:check>
28
29</maplint:test>
30<maplint:test group="base" id="empty-tag-value" version="1" severity="warning">
31
32    <maplint:desc xml:lang="en">
33        Elements with empty tag value.
34    </maplint:desc>
35
36    <maplint:garmin short="NOVAL" icon="Navaid, Red"/>
37
38    <maplint:check data="any" type="application/xsl+xml">
39        <xsl:if test="not (tag[@k='validate:empty-tag-value' and @v='ignore'])">
40            <xsl:if test="tag[@v='']">
41                <maplint:result>Key=<xsl:value-of select="tag[@v='']/@k"/></maplint:result>
42            </xsl:if>
43        </xsl:if>
44    </maplint:check>
45
46</maplint:test>
47<maplint:test group="base" id="nodes-on-same-spot" version="1" severity="error">
48
49    <maplint:desc xml:lang="en">
50        Two or more nodes with the exact same coordinates. This will be
51        reported for every node in the set, so if there are three nodes
52        with the same coordinates, there will be three reports, not one.
53    </maplint:desc>
54
55    <maplint:garmin short="DBLNOD" icon="Navaid, Violet"/>
56
57    <maplint:setup type="application/xsl+xml">
58        <xsl:key name="nodesbycoordinates" match="/osm/node" use="concat(@lon,' ', @lat)"/>
59    </maplint:setup>
60
61    <maplint:check data="node" type="application/xsl+xml">
62        <xsl:variable name="nodes" select="key('nodesbycoordinates', concat(@lon, ' ', @lat))"/>
63        <xsl:variable name="nid" select="@id"/>
64
65        <xsl:if test="count($nodes) != 1">
66            <maplint:result>
67                <xsl:text>Nodes:</xsl:text>
68                <xsl:for-each select="$nodes">
69                    <xsl:if test="@id != $nid">
70                        <xsl:value-of select="concat(' ', @id)"/>
71                    </xsl:if>
72                </xsl:for-each>
73            </maplint:result>
74        </xsl:if>
75    </maplint:check>
76
77</maplint:test>
78<maplint:test group="base" id="untagged-way" version="1" severity="warning">
79
80    <maplint:desc xml:lang="en">
81        Way without any tags (except "created_by").
82    </maplint:desc>
83
84    <maplint:check data="way" type="application/xsl+xml">
85        <xsl:if test="not(tag[@k != 'created_by'])">
86            <maplint:result/>
87        </xsl:if>
88    </maplint:check>
89
90</maplint:test>
91<maplint:test group="main" id="bridge-or-tunnel-without-layer" version="1" severity="warning">
92
93    <maplint:desc xml:lang="en">
94        Find ways with bridge or tunnel tag without a layer tag. In most cases
95        this is an error, but it is only tagged as warning because
96        the crossing way could have a layer tag.
97    </maplint:desc>
98
99    <maplint:check data="way" type="application/xsl+xml">
100        <xsl:if test="not (tag[@k='validate:bridge-or-tunnel-without-layer' and @v='ignore'])">
101            <xsl:if test="(tag[(@k='bridge' or @k='tunnel') and @v='true']) and not(tag[@k='layer'])">
102                <maplint:result/>
103            </xsl:if>
104        </xsl:if>
105    </maplint:check>
106
107</maplint:test>
108<maplint:test group="main" id="deprecated-tags" version="1" severity="error">
109
110    <maplint:desc xml:lang="en">
111        Find deprecated tags: class=*
112    </maplint:desc>
113
114    <maplint:garmin short="DEPTAG" icon="Shipwreck"/>
115
116    <maplint:check data="any" type="application/xsl+xml">
117        <xsl:if test="tag/@k='class'">
118            <maplint:result>class</maplint:result>
119        </xsl:if>
120    </maplint:check>
121
122</maplint:test>
123<maplint:test group="main" id="motorway-without-ref" version="1" severity="error">
124
125    <maplint:desc xml:lang="en">
126        This test finds all motorways (highway=motorway) without a ref tag.
127    </maplint:desc>
128
129    <maplint:garmin short="MOTNOREF" icon="Navaid, White"/>
130
131    <maplint:check data="way" type="application/xsl+xml">
132        <xsl:if test="not (tag[@k='validate:motorway-without-ref' and @v='ignore'])">
133            <xsl:if test="tag[@k='highway' and @v='motorway']">
134                <xsl:if test="not(tag[@k='ref'])">
135                    <maplint:result/>
136                </xsl:if>
137            </xsl:if>
138        </xsl:if>
139    </maplint:check>
140
141</maplint:test>
142<maplint:test group="main" id="place-of-worship-without-religion" version="1" severity="warning">
143
144    <maplint:desc xml:lang="en">
145        Place of worship without associated religion key.
146    </maplint:desc>
147
148    <maplint:garmin short="PWNOREL" icon="Navaid, White"/>
149
150    <maplint:check data="node" type="application/xsl+xml">
151        <xsl:if test="not (tag[@k='validate:place-of-worship-without-religion' and @v='ignore'])">
152            <xsl:if test="(tag[@k='amenity' and @v='place_of_worship']) and not(tag[@k='religion'])">
153                <maplint:result/>
154            </xsl:if>
155        </xsl:if>
156    </maplint:check>
157
158</maplint:test>
159<maplint:test group="main" id="poi-without-name" version="1" severity="warning">
160
161    <maplint:desc xml:lang="en">
162        Point of Interest such as as church, cinema, or pharmacy without a name.
163    </maplint:desc>
164
165    <maplint:garmin short="POINONAME" icon="Navaid, White"/>
166
167    <maplint:check data="node" type="application/xsl+xml">
168        <xsl:if test="not (tag[@k='validate:poi-without-name' and @v='ignore']) and not (tag[@k='noname' and @v='yes'])">
169            <xsl:if test="(tag[@k='amenity' and (@v='place_of_worship' or @v='cinema' or @v='pharmacy' or @v='pub' or @v='restaurant' or @v='school' or @v='university' or @v='hospital' or @v='library' or @v='theatre' or @v='courthouse' or @v='bank')]) and not(tag[@k='name'])">
170                <maplint:result>
171                    <xsl:text>amenity=</xsl:text>
172                    <xsl:value-of select="tag[@k='amenity']/@v"/>
173                </maplint:result>
174            </xsl:if>
175        </xsl:if>
176    </maplint:check>
177
178</maplint:test>
179<maplint:test group="main" id="rare-speedlimit" version="1" severity="warning">
180
181    <maplint:desc xml:lang="en">
182        Find ways with rare values in the maxspeed tag
183    </maplint:desc>
184
185    <maplint:garmin short="RESNONAME" icon="Navaid, White"/>
186
187    <maplint:check data="way" type="application/xsl+xml">
188        <xsl:if test="not (tag[@k='validate:rare-speedlimit' and @v='ignore'])">
189            <xsl:choose>
190                <xsl:when test="tag[@k='maxspeed' and @v='walk']"/>
191                <xsl:when test="tag[@k='maxspeed' and @v='5kmh']"/>
192                <xsl:when test="tag[@k='maxspeed' and @v='5']"/>
193                <xsl:when test="tag[@k='maxspeed' and @v='7kmh']"/>
194                <xsl:when test="tag[@k='maxspeed' and @v='7']"/>
195                <xsl:when test="tag[@k='maxspeed' and @v='10kmh']"/>
196                <xsl:when test="tag[@k='maxspeed' and @v='10']"/>
197                <xsl:when test="tag[@k='maxspeed' and @v='15mph']"/>
198                <xsl:when test="tag[@k='maxspeed' and @v='20kmh']"/>
199                <xsl:when test="tag[@k='maxspeed' and @v='20mph']"/>
200                <xsl:when test="tag[@k='maxspeed' and @v='20']"/>
201                <xsl:when test="tag[@k='maxspeed' and @v='24kmh']"/>
202                <xsl:when test="tag[@k='maxspeed' and @v='24']"/>
203                <xsl:when test="tag[@k='maxspeed' and @v='25mph']"/>
204                <xsl:when test="tag[@k='maxspeed' and @v='30kmh']"/>
205                <xsl:when test="tag[@k='maxspeed' and @v='30mph']"/>
206                <xsl:when test="tag[@k='maxspeed' and @v='30']"/>
207                <xsl:when test="tag[@k='maxspeed' and @v='32kmh']"/>
208                <xsl:when test="tag[@k='maxspeed' and @v='32']"/>
209                <xsl:when test="tag[@k='maxspeed' and @v='35mph']"/>
210                <xsl:when test="tag[@k='maxspeed' and @v='40kmh']"/>
211                <xsl:when test="tag[@k='maxspeed' and @v='40mph']"/>
212                <xsl:when test="tag[@k='maxspeed' and @v='40']"/>
213                <xsl:when test="tag[@k='maxspeed' and @v='45mph']"/>
214                <xsl:when test="tag[@k='maxspeed' and @v='48kmh']"/>
215                <xsl:when test="tag[@k='maxspeed' and @v='48']"/>
216                <xsl:when test="tag[@k='maxspeed' and @v='50kmh']"/>
217                <xsl:when test="tag[@k='maxspeed' and @v='50mph']"/>
218                <xsl:when test="tag[@k='maxspeed' and @v='50']"/>
219                <xsl:when test="tag[@k='maxspeed' and @v='55mph']"/>
220                <xsl:when test="tag[@k='maxspeed' and @v='56kmh']"/>
221                <xsl:when test="tag[@k='maxspeed' and @v='56']"/>
222                <xsl:when test="tag[@k='maxspeed' and @v='60kmh']"/>
223                <xsl:when test="tag[@k='maxspeed' and @v='60mph']"/>
224                <xsl:when test="tag[@k='maxspeed' and @v='60']"/>
225                <xsl:when test="tag[@k='maxspeed' and @v='64kmh']"/>
226                <xsl:when test="tag[@k='maxspeed' and @v='64']"/>
227                <xsl:when test="tag[@k='maxspeed' and @v='65mph']"/>
228                <xsl:when test="tag[@k='maxspeed' and @v='70kmh']"/>
229                <xsl:when test="tag[@k='maxspeed' and @v='70mph']"/>
230                <xsl:when test="tag[@k='maxspeed' and @v='70']"/>
231                <xsl:when test="tag[@k='maxspeed' and @v='72kmh']"/>
232                <xsl:when test="tag[@k='maxspeed' and @v='72']"/>
233                <xsl:when test="tag[@k='maxspeed' and @v='75mph']"/>
234                <xsl:when test="tag[@k='maxspeed' and @v='80kmh']"/>
235                <xsl:when test="tag[@k='maxspeed' and @v='80mph']"/>
236                <xsl:when test="tag[@k='maxspeed' and @v='80']"/>
237                <xsl:when test="tag[@k='maxspeed' and @v='88kmh']"/>
238                <xsl:when test="tag[@k='maxspeed' and @v='88']"/>
239                <xsl:when test="tag[@k='maxspeed' and @v='90kmh']"/>
240                <xsl:when test="tag[@k='maxspeed' and @v='90']"/>
241                <xsl:when test="tag[@k='maxspeed' and @v='96kmh']"/>
242                <xsl:when test="tag[@k='maxspeed' and @v='96']"/>
243                <xsl:when test="tag[@k='maxspeed' and @v='100kmh']"/>
244                <xsl:when test="tag[@k='maxspeed' and @v='100']"/>
245                <xsl:when test="tag[@k='maxspeed' and @v='104kmh']"/>
246                <xsl:when test="tag[@k='maxspeed' and @v='104']"/>
247                <xsl:when test="tag[@k='maxspeed' and @v='110kmh']"/>
248                <xsl:when test="tag[@k='maxspeed' and @v='110']"/>
249                <xsl:when test="tag[@k='maxspeed' and @v='112kmh']"/>
250                <xsl:when test="tag[@k='maxspeed' and @v='112']"/>
251                <xsl:when test="tag[@k='maxspeed' and @v='120kmh']"/>
252                <xsl:when test="tag[@k='maxspeed' and @v='120']"/>
253                <xsl:when test="tag[@k='maxspeed' and @v='128kmh']"/>
254                <xsl:when test="tag[@k='maxspeed' and @v='128']"/>
255                <xsl:when test="tag[@k='maxspeed' and @v='130kmh']"/>
256                <xsl:when test="tag[@k='maxspeed' and @v='130']"/>
257                <xsl:when test="tag[@k='maxspeed' and @v='none']"/>
258                <xsl:when test="tag[@k='maxspeed']">
259                    <maplint:result/>
260                </xsl:when>
261            </xsl:choose>
262            <xsl:choose>
263                <xsl:when test="tag[@k='maxspeed:mph' and @v='walk']"/>
264                <xsl:when test="tag[@k='maxspeed:mph' and @v='15mph']"/>
265                <xsl:when test="tag[@k='maxspeed:mph' and @v='15']"/>
266                <xsl:when test="tag[@k='maxspeed:mph' and @v='20mph']"/>
267                <xsl:when test="tag[@k='maxspeed:mph' and @v='20']"/>
268                <xsl:when test="tag[@k='maxspeed:mph' and @v='25mph']"/>
269                <xsl:when test="tag[@k='maxspeed:mph' and @v='25']"/>
270                <xsl:when test="tag[@k='maxspeed:mph' and @v='30mph']"/>
271                <xsl:when test="tag[@k='maxspeed:mph' and @v='30']"/>
272                <xsl:when test="tag[@k='maxspeed:mph' and @v='35mph']"/>
273                <xsl:when test="tag[@k='maxspeed:mph' and @v='35']"/>
274                <xsl:when test="tag[@k='maxspeed:mph' and @v='40mph']"/>
275                <xsl:when test="tag[@k='maxspeed:mph' and @v='40']"/>
276                <xsl:when test="tag[@k='maxspeed:mph' and @v='45mph']"/>
277                <xsl:when test="tag[@k='maxspeed:mph' and @v='45']"/>
278                <xsl:when test="tag[@k='maxspeed:mph' and @v='50mph']"/>
279                <xsl:when test="tag[@k='maxspeed:mph' and @v='50']"/>
280                <xsl:when test="tag[@k='maxspeed:mph' and @v='55mph']"/>
281                <xsl:when test="tag[@k='maxspeed:mph' and @v='55']"/>
282                <xsl:when test="tag[@k='maxspeed:mph' and @v='60mph']"/>
283                <xsl:when test="tag[@k='maxspeed:mph' and @v='60']"/>
284                <xsl:when test="tag[@k='maxspeed:mph' and @v='65mph']"/>
285                <xsl:when test="tag[@k='maxspeed:mph' and @v='65']"/>
286                <xsl:when test="tag[@k='maxspeed:mph' and @v='70mph']"/>
287                <xsl:when test="tag[@k='maxspeed:mph' and @v='70']"/>
288                <xsl:when test="tag[@k='maxspeed:mph' and @v='75mph']"/>
289                <xsl:when test="tag[@k='maxspeed:mph' and @v='75']"/>
290                <xsl:when test="tag[@k='maxspeed:mph' and @v='80mph']"/>
291                <xsl:when test="tag[@k='maxspeed:mph' and @v='80']"/>
292                <xsl:when test="tag[@k='maxspeed:mph' and @v='none']"/>
293                <xsl:when test="tag[@k='maxspeed:mph']">
294                    <maplint:result/>
295                </xsl:when>
296            </xsl:choose>
297            <xsl:choose>
298                <xsl:when test="tag[@k='maxspeed:kmh' and @v='walk']"/>
299                <xsl:when test="tag[@k='maxspeed:kmh' and @v='5kmh']"/>
300                <xsl:when test="tag[@k='maxspeed:kmh' and @v='5']"/>
301                <xsl:when test="tag[@k='maxspeed:kmh' and @v='7kmh']"/>
302                <xsl:when test="tag[@k='maxspeed:kmh' and @v='7']"/>
303                <xsl:when test="tag[@k='maxspeed:kmh' and @v='10kmh']"/>
304                <xsl:when test="tag[@k='maxspeed:kmh' and @v='10']"/>
305                <xsl:when test="tag[@k='maxspeed:kmh' and @v='20kmh']"/>
306                <xsl:when test="tag[@k='maxspeed:kmh' and @v='20']"/>
307                <xsl:when test="tag[@k='maxspeed:kmh' and @v='24kmh']"/>
308                <xsl:when test="tag[@k='maxspeed:kmh' and @v='24']"/>
309                <xsl:when test="tag[@k='maxspeed:kmh' and @v='30kmh']"/>
310                <xsl:when test="tag[@k='maxspeed:kmh' and @v='30']"/>
311                <xsl:when test="tag[@k='maxspeed:kmh' and @v='32kmh']"/>
312                <xsl:when test="tag[@k='maxspeed:kmh' and @v='32']"/>
313                <xsl:when test="tag[@k='maxspeed:kmh' and @v='40kmh']"/>
314                <xsl:when test="tag[@k='maxspeed:kmh' and @v='40']"/>
315                <xsl:when test="tag[@k='maxspeed:kmh' and @v='48kmh']"/>
316                <xsl:when test="tag[@k='maxspeed:kmh' and @v='48']"/>
317                <xsl:when test="tag[@k='maxspeed:kmh' and @v='50kmh']"/>
318                <xsl:when test="tag[@k='maxspeed:kmh' and @v='50']"/>
319                <xsl:when test="tag[@k='maxspeed:kmh' and @v='56kmh']"/>
320                <xsl:when test="tag[@k='maxspeed:kmh' and @v='56']"/>
321                <xsl:when test="tag[@k='maxspeed:kmh' and @v='60kmh']"/>
322                <xsl:when test="tag[@k='maxspeed:kmh' and @v='60']"/>
323                <xsl:when test="tag[@k='maxspeed:kmh' and @v='64kmh']"/>
324                <xsl:when test="tag[@k='maxspeed:kmh' and @v='64']"/>
325                <xsl:when test="tag[@k='maxspeed:kmh' and @v='70kmh']"/>
326                <xsl:when test="tag[@k='maxspeed:kmh' and @v='70']"/>
327                <xsl:when test="tag[@k='maxspeed:kmh' and @v='72kmh']"/>
328                <xsl:when test="tag[@k='maxspeed:kmh' and @v='72']"/>
329                <xsl:when test="tag[@k='maxspeed:kmh' and @v='80kmh']"/>
330                <xsl:when test="tag[@k='maxspeed:kmh' and @v='80']"/>
331                <xsl:when test="tag[@k='maxspeed:kmh' and @v='88kmh']"/>
332                <xsl:when test="tag[@k='maxspeed:kmh' and @v='88']"/>
333                <xsl:when test="tag[@k='maxspeed:kmh' and @v='90kmh']"/>
334                <xsl:when test="tag[@k='maxspeed:kmh' and @v='90']"/>
335                <xsl:when test="tag[@k='maxspeed:kmh' and @v='96kmh']"/>
336                <xsl:when test="tag[@k='maxspeed:kmh' and @v='96']"/>
337                <xsl:when test="tag[@k='maxspeed:kmh' and @v='100kmh']"/>
338                <xsl:when test="tag[@k='maxspeed:kmh' and @v='100']"/>
339                <xsl:when test="tag[@k='maxspeed:kmh' and @v='104kmh']"/>
340                <xsl:when test="tag[@k='maxspeed:kmh' and @v='104']"/>
341                <xsl:when test="tag[@k='maxspeed:kmh' and @v='110kmh']"/>
342                <xsl:when test="tag[@k='maxspeed:kmh' and @v='110']"/>
343                <xsl:when test="tag[@k='maxspeed:kmh' and @v='112kmh']"/>
344                <xsl:when test="tag[@k='maxspeed:kmh' and @v='112']"/>
345                <xsl:when test="tag[@k='maxspeed:kmh' and @v='120kmh']"/>
346                <xsl:when test="tag[@k='maxspeed:kmh' and @v='120']"/>
347                <xsl:when test="tag[@k='maxspeed:kmh' and @v='128kmh']"/>
348                <xsl:when test="tag[@k='maxspeed:kmh' and @v='128']"/>
349                <xsl:when test="tag[@k='maxspeed:kmh' and @v='130kmh']"/>
350                <xsl:when test="tag[@k='maxspeed:kmh' and @v='130']"/>
351                <xsl:when test="tag[@k='maxspeed:kmh' and @v='none']"/>
352                <xsl:when test="tag[@k='maxspeed:kmh']">
353                    <maplint:result/>
354                </xsl:when>
355            </xsl:choose>
356        </xsl:if>
357    </maplint:check>
358</maplint:test>
359<maplint:test group="main" id="residential-without-name" version="1" severity="warning">
360
361    <maplint:desc xml:lang="en">
362        Find ways with tag highway=residential, but without a name tag.
363    </maplint:desc>
364
365    <maplint:garmin short="RESNONAME" icon="Navaid, White"/>
366
367    <maplint:check data="way" type="application/xsl+xml">
368        <xsl:if test="not (tag[@k='validate:residential-without-name' and @v='ignore']) and not (tag[@k='noname' and @v='yes'])">
369            <xsl:if test="(tag[@k='highway' and @v='residential']) and not(tag[@k='name'])">
370                <maplint:result/>
371            </xsl:if>
372        </xsl:if>
373    </maplint:check>
374
375</maplint:test>
376<maplint:test group="main" id="unreviewed_tiger" version="1" severity="notice">
377
378    <maplint:desc xml:lang="en">
379        Highlight unreviewed features from the TIGER import.
380    </maplint:desc>
381
382    <maplint:garmin short="TIGER" icon="Navaid, White"/>
383
384    <maplint:check data="any" type="application/xsl+xml">
385        <xsl:if test="not (tag[@k='validate:unreviewed-tiger' and @v='ignore'])">
386            <xsl:if test="(tag[@k='tiger:reviewed' and @v='no'])">
387                <maplint:result/>
388            </xsl:if>
389        </xsl:if>
390    </maplint:check>
391
392</maplint:test>
393<maplint:test group="relations" id="member-missing" version="1" severity="error">
394
395    <maplint:desc xml:lang="en">
396        A member of a relation is missing.
397    </maplint:desc>
398
399    <maplint:setup type="application/xsl+xml">
400        <xsl:key name="nodeId" match="/osm/node" use="@id"/>
401        <xsl:key name="wayId" match="/osm/way" use="@id"/>
402        <xsl:key name="relId" match="/osm/relation" use="@id"/>
403    </maplint:setup>
404
405    <maplint:check data="relation" type="application/xsl+xml">
406        <xsl:if test="member[(@type='way') and not(key('wayId', @ref))]">
407            <maplint:result/>
408        </xsl:if>
409        <xsl:if test="member[(@type='node') and not(key('nodeId', @ref))]">
410            <maplint:result/>
411        </xsl:if>
412        <xsl:if test="member[(@type='relation') and not(key('relId', @ref))]">
413            <maplint:result/>
414        </xsl:if>
415    </maplint:check>
416
417</maplint:test>
418<!--
419IMPORTANT NOTICE:
420
421This is an AUTOGENERATED file.
422Do NOT edit this file manually, edit not-in-map_features.pl instead
423-->
424<maplint:test group="strict" id="not-in-map_features" version="2" severity="notice">
425
426    <maplint:desc xml:lang="en">
427      Checks tags against map features. These are not errors since everybody
428      can invent new tags, but this helps find both misspelled tags as well as
429      tags one may want to propose.
430      This list is autogenerated from the wiki page.
431    </maplint:desc>
432
433<maplint:check data="way" type="application/xsl+xml">
434<xsl:for-each select="tag">
435<xsl:choose>
436<xsl:when test="starts-with(@k, 'tiger:')">
437</xsl:when>
438<xsl:when test="starts-with(@k, 'AND_')">
439</xsl:when>
440<xsl:when test="starts-with(@k, 'AND:')">
441</xsl:when>
442<xsl:when test="starts-with(@k, 'gns:')">
443</xsl:when>
444<xsl:when test="starts-with(@k, 'massgis:')">
445</xsl:when>
446<xsl:when test="starts-with(@k, 'openGeoDB:')">
447</xsl:when>
448<xsl:when test="starts-with(@k, 'opengeodb:')">
449</xsl:when>
450<xsl:when test="@k='TMC:LocationCode'">
451<xsl:choose>
452<xsl:when test="@v='see description'"/>
453<xsl:otherwise>
454<maplint:result><xsl:value-of select="concat('Value not in map features: ', @k, '=', @v)"/></maplint:result>
455</xsl:otherwise>
456</xsl:choose>
457</xsl:when>
458<xsl:when test="@k='abutters'">
459<xsl:choose>
460<xsl:when test="@v='commercial'"/>
461<xsl:when test="@v='industrial'"/>
462<xsl:when test="@v='mixed'"/>
463<xsl:when test="@v='residential'"/>
464<xsl:when test="@v='retail'"/>
465<xsl:otherwise>
466<maplint:result><xsl:value-of select="concat('Value not in map features: ', @k, '=', @v)"/></maplint:result>
467</xsl:otherwise>
468</xsl:choose>
469</xsl:when>
470<xsl:when test="@k='access'">
471<xsl:choose>
472<xsl:when test="@v='agricultural'"/>
473<xsl:when test="@v='delivery'"/>
474<xsl:when test="@v='designated'"/>
475<xsl:when test="@v='destination'"/>
476<xsl:when test="@v='forestry'"/>
477<xsl:when test="@v='no'"/>
478<xsl:when test="@v='official'"/>
479<xsl:when test="@v='permissive'"/>
480<xsl:when test="@v='private'"/>
481<xsl:when test="@v='unknown'"/>
482<xsl:when test="@v='yes'"/>
483<xsl:otherwise>
484<maplint:result><xsl:value-of select="concat('Value not in map features: ', @k, '=', @v)"/></maplint:result>
485</xsl:otherwise>
486</xsl:choose>
487</xsl:when>
488<xsl:when test="@k='addr:city'">
489<!-- Value: User defined -->
490</xsl:when>
491<xsl:when test="@k='addr:country'">
492<!-- Value: User defined -->
493</xsl:when>
494<xsl:when test="@k='addr:housename'">
495<!-- Value: User defined -->
496</xsl:when>
497<xsl:when test="@k='addr:housenumber'">
498<!-- Value: User defined -->
499</xsl:when>
500<xsl:when test="@k='addr:interpolation'">
501<xsl:choose>
502<xsl:when test="@v='all'"/>
503<xsl:when test="@v='alphabetic'"/>
504<xsl:when test="@v='even'"/>
505<xsl:when test="@v='odd'"/>
506<xsl:otherwise>
507<maplint:result><xsl:value-of select="concat('Value not in map features: ', @k, '=', @v)"/></maplint:result>
508</xsl:otherwise>
509</xsl:choose>
510</xsl:when>
511<xsl:when test="@k='addr:postcode'">
512<!-- Value: User defined -->
513</xsl:when>
514<xsl:when test="@k='addr:street'">
515<!-- Value: User defined -->
516</xsl:when>
517<xsl:when test="@k='admin_level'">
518<xsl:choose>
519<xsl:when test="string(number(@v)) != 'NaN'"/>
520<xsl:otherwise>
521<maplint:result><xsl:value-of select="concat('Value not in map features: ', @k, '=', @v)"/></maplint:result>
522</xsl:otherwise>
523</xsl:choose>
524</xsl:when>
525<xsl:when test="@k='aerialway'">
526<xsl:choose>
527<xsl:when test="@v='cable_car'"/>
528<xsl:when test="@v='chair_lift'"/>
529<xsl:when test="@v='drag_lift'"/>
530<xsl:when test="@v='gondola'"/>
531<xsl:when test="@v='station'"/>
532<!-- Uncomment to output notice about user defined value:
533<xsl:otherwise>
534<maplint:result><xsl:value-of select="concat('User defined value: ', @k, '=', @v)" /></maplint:result>
535</xsl:otherwise>
536 -->
537</xsl:choose>
538</xsl:when>
539<xsl:when test="@k='aeroway'">
540<xsl:choose>
541<xsl:when test="@v='aerodrome'"/>
542<xsl:when test="@v='apron'"/>
543<xsl:when test="@v='helipad'"/>
544<xsl:when test="@v='runway'"/>
545<xsl:when test="@v='taxiway'"/>
546<xsl:when test="@v='terminal'"/>
547<!-- Uncomment to output notice about user defined value:
548<xsl:otherwise>
549<maplint:result><xsl:value-of select="concat('User defined value: ', @k, '=', @v)" /></maplint:result>
550</xsl:otherwise>
551 -->
552</xsl:choose>
553</xsl:when>
554<xsl:when test="@k='agricultural'">
555<xsl:choose>
556<xsl:when test="@v='agricultural'"/>
557<xsl:when test="@v='delivery'"/>
558<xsl:when test="@v='designated'"/>
559<xsl:when test="@v='destination'"/>
560<xsl:when test="@v='forestry'"/>
561<xsl:when test="@v='no'"/>
562<xsl:when test="@v='permissive'"/>
563<xsl:when test="@v='private'"/>
564<xsl:when test="@v='unknown'"/>
565<xsl:when test="@v='yes'"/>
566<xsl:otherwise>
567<maplint:result><xsl:value-of select="concat('Value not in map features: ', @k, '=', @v)"/></maplint:result>
568</xsl:otherwise>
569</xsl:choose>
570</xsl:when>
571<xsl:when test="@k='alt_name'">
572<!-- Value: User defined -->
573</xsl:when>
574<xsl:when test="@k='amenity'">
575<xsl:choose>
576<xsl:when test="@v='arts_centre'"/>
577<xsl:when test="@v='baby_hatch'"/>
578<xsl:when test="@v='bank'"/>
579<xsl:when test="@v='bicycle_parking'"/>
580<xsl:when test="@v='bicycle_rental'"/>
581<xsl:when test="@v='biergarten'"/>
582<xsl:when test="@v='brothel'"/>
583<xsl:when test="@v='bus_station'"/>
584<xsl:when test="@v='cafe'"/>
585<xsl:when test="@v='car_rental'"/>
586<xsl:when test="@v='car_sharing'"/>
587<xsl:when test="@v='cinema'"/>
588<xsl:when test="@v='college'"/>
589<xsl:when test="@v='courthouse'"/>
590<xsl:when test="@v='crematorium'"/>
591<xsl:when test="@v='dentist'"/>
592<xsl:when test="@v='doctors'"/>
593<xsl:when test="@v='embassy'"/>
594<xsl:when test="@v='fast_food'"/>
595<xsl:when test="@v='ferry_terminal'"/>
596<xsl:when test="@v='fire_station'"/>
597<xsl:when test="@v='food_court'"/>
598<xsl:when test="@v='fountain'"/>
599<xsl:when test="@v='fuel'"/>
600<xsl:when test="@v='grave_yard'"/>
601<xsl:when test="@v='hospital'"/>
602<xsl:when test="@v='hunting_stand'"/>
603<xsl:when test="@v='kindergarten'"/>
604<xsl:when test="@v='library'"/>
605<xsl:when test="@v='marketplace'"/>
606<xsl:when test="@v='nightclub'"/>
607<xsl:when test="@v='parking'"/>
608<xsl:when test="@v='pharmacy'"/>
609<xsl:when test="@v='place_of_worship'"/>
610<xsl:when test="@v='police'"/>
611<xsl:when test="@v='post_office'"/>
612<xsl:when test="@v='prison'"/>
613<xsl:when test="@v='pub'"/>
614<xsl:when test="@v='public_building'"/>
615<xsl:when test="@v='recycling'"/>
616<xsl:when test="@v='restaurant'"/>
617<xsl:when test="@v='school'"/>
618<xsl:when test="@v='shelter'"/>
619<xsl:when test="@v='studio'"/>
620<xsl:when test="@v='taxi'"/>
621<xsl:when test="@v='theatre'"/>
622<xsl:when test="@v='townhall'"/>
623<xsl:when test="@v='university'"/>
624<xsl:when test="@v='veterinary'"/>
625<!-- Uncomment to output notice about user defined value:
626<xsl:otherwise>
627<maplint:result><xsl:value-of select="concat('User defined value: ', @k, '=', @v)" /></maplint:result>
628</xsl:otherwise>
629 -->
630</xsl:choose>
631</xsl:when>
632<xsl:when test="@k='area'">
633<xsl:choose>
634<xsl:when test="@v='yes'"/>
635<xsl:otherwise>
636<maplint:result><xsl:value-of select="concat('Value not in map features: ', @k, '=', @v)"/></maplint:result>
637</xsl:otherwise>
638</xsl:choose>
639</xsl:when>
640<xsl:when test="@k='attribution'">
641<!-- Value: User defined -->
642</xsl:when>
643<xsl:when test="@k='barrier'">
644<xsl:choose>
645<xsl:when test="@v='bollard'"/>
646<xsl:when test="@v='city_wall'"/>
647<xsl:when test="@v='ditch'"/>
648<xsl:when test="@v='fence'"/>
649<xsl:when test="@v='hedge'"/>
650<xsl:when test="@v='retaining_wall'"/>
651<xsl:when test="@v='wall'"/>
652<xsl:otherwise>
653<maplint:result><xsl:value-of select="concat('Value not in map features: ', @k, '=', @v)"/></maplint:result>
654</xsl:otherwise>
655</xsl:choose>
656</xsl:when>
657<xsl:when test="@k='bicycle'">
658<xsl:choose>
659<xsl:when test="@v='agricultural'"/>
660<xsl:when test="@v='delivery'"/>
661<xsl:when test="@v='designated'"/>
662<xsl:when test="@v='destination'"/>
663<xsl:when test="@v='dismount'"/>
664<xsl:when test="@v='forestry'"/>
665<xsl:when test="@v='no'"/>
666<xsl:when test="@v='official'"/>
667<xsl:when test="@v='permissive'"/>
668<xsl:when test="@v='private'"/>
669<xsl:when test="@v='unknown'"/>
670<xsl:when test="@v='yes'"/>
671<xsl:otherwise>
672<maplint:result><xsl:value-of select="concat('Value not in map features: ', @k, '=', @v)"/></maplint:result>
673</xsl:otherwise>
674</xsl:choose>
675</xsl:when>
676<xsl:when test="@k='boat'">
677<xsl:choose>
678<xsl:when test="@v='agricultural'"/>
679<xsl:when test="@v='delivery'"/>
680<xsl:when test="@v='designated'"/>
681<xsl:when test="@v='destination'"/>
682<xsl:when test="@v='forestry'"/>
683<xsl:when test="@v='no'"/>
684<xsl:when test="@v='permissive'"/>
685<xsl:when test="@v='private'"/>
686<xsl:when test="@v='unknown'"/>
687<xsl:when test="@v='yes'"/>
688<xsl:otherwise>
689<maplint:result><xsl:value-of select="concat('Value not in map features: ', @k, '=', @v)"/></maplint:result>
690</xsl:otherwise>
691</xsl:choose>
692</xsl:when>
693<xsl:when test="@k='boundary'">
694<xsl:choose>
695<xsl:when test="@v='administrative'"/>
696<xsl:when test="@v='civil'"/>
697<xsl:when test="@v='maritime'"/>
698<xsl:when test="@v='national_park'"/>
699<xsl:when test="@v='political'"/>
700<xsl:otherwise>
701<maplint:result><xsl:value-of select="concat('Value not in map features: ', @k, '=', @v)"/></maplint:result>
702</xsl:otherwise>
703</xsl:choose>
704</xsl:when>
705<xsl:when test="@k='bridge'">
706<xsl:choose>
707<xsl:when test="@v='aqueduct'"/>
708<xsl:when test="@v='swing'"/>
709<xsl:when test="@v='viaduct'"/>
710<xsl:when test="@v='yes'"/>
711<xsl:when test="@v='yes'"/>
712<!-- Uncomment to output notice about user defined value:
713<xsl:otherwise>
714<maplint:result><xsl:value-of select="concat('User defined value: ', @k, '=', @v)" /></maplint:result>
715</xsl:otherwise>
716 -->
717</xsl:choose>
718</xsl:when>
719<xsl:when test="@k='building'">
720<xsl:choose>
721<xsl:when test="@v='yes'"/>
722<!-- Uncomment to output notice about user defined value:
723<xsl:otherwise>
724<maplint:result><xsl:value-of select="concat('User defined value: ', @k, '=', @v)" /></maplint:result>
725</xsl:otherwise>
726 -->
727</xsl:choose>
728</xsl:when>
729<xsl:when test="@k='cables'">
730<xsl:choose>
731<xsl:when test="@v='... 3, 4, 6, 8, 9, 12, 15, 18 ...'"/>
732<xsl:otherwise>
733<maplint:result><xsl:value-of select="concat('Value not in map features: ', @k, '=', @v)"/></maplint:result>
734</xsl:otherwise>
735</xsl:choose>
736</xsl:when>
737<xsl:when test="@k='construction'">
738<xsl:choose>
739<xsl:when test="@v='*'"/>
740<xsl:otherwise>
741<maplint:result><xsl:value-of select="concat('Value not in map features: ', @k, '=', @v)"/></maplint:result>
742</xsl:otherwise>
743</xsl:choose>
744</xsl:when>
745<xsl:when test="contains(@k, 'name:')">
746<!-- Value: User defined -->
747</xsl:when>
748<xsl:when test="@k='created_by'">
749<!-- Value: User defined -->
750</xsl:when>
751<xsl:when test="@k='cutting'">
752<xsl:choose>
753<xsl:when test="@v='yes'"/>
754<xsl:when test="@v='yes'"/>
755<xsl:otherwise>
756<maplint:result><xsl:value-of select="concat('Value not in map features: ', @k, '=', @v)"/></maplint:result>
757</xsl:otherwise>
758</xsl:choose>
759</xsl:when>
760<xsl:when test="@k='cycleway'">
761<xsl:choose>
762<xsl:when test="@v='lane'"/>
763<xsl:when test="@v='opposite'"/>
764<xsl:when test="@v='opposite_lane'"/>
765<xsl:when test="@v='opposite_track'"/>
766<xsl:when test="@v='track'"/>
767<!-- Uncomment to output notice about user defined value:
768<xsl:otherwise>
769<maplint:result><xsl:value-of select="concat('User defined value: ', @k, '=', @v)" /></maplint:result>
770</xsl:otherwise>
771 -->
772</xsl:choose>
773</xsl:when>
774<xsl:when test="@k='date_off'">
775<!-- Value: User defined -->
776</xsl:when>
777<xsl:when test="@k='date_on'">
778<!-- Value: User defined -->
779</xsl:when>
780<xsl:when test="@k='day_off'">
781<xsl:choose>
782<xsl:when test="@v='monday'"/>
783<xsl:when test="@v='mon'"/>
784<xsl:when test="@v='tuesday'"/>
785<xsl:when test="@v='tue'"/>
786<xsl:when test="@v='wednesday'"/>
787<xsl:when test="@v='wed'"/>
788<xsl:when test="@v='thursday'"/>
789<xsl:when test="@v='thu'"/>
790<xsl:when test="@v='friday'"/>
791<xsl:when test="@v='fri'"/>
792<xsl:when test="@v='saturday'"/>
793<xsl:when test="@v='sat'"/>
794<xsl:when test="@v='sunday'"/>
795<xsl:when test="@v='sun'"/>
796<xsl:otherwise>
797<maplint:result><xsl:value-of select="concat('Value not in map features: ', @k, '=', @v)"/></maplint:result>
798</xsl:otherwise>
799</xsl:choose>
800</xsl:when>
801<xsl:when test="@k='day_on'">
802<xsl:choose>
803<xsl:when test="@v='monday'"/>
804<xsl:when test="@v='mon'"/>
805<xsl:when test="@v='tuesday'"/>
806<xsl:when test="@v='tue'"/>
807<xsl:when test="@v='wednesday'"/>
808<xsl:when test="@v='wed'"/>
809<xsl:when test="@v='thursday'"/>
810<xsl:when test="@v='thu'"/>
811<xsl:when test="@v='friday'"/>
812<xsl:when test="@v='fri'"/>
813<xsl:when test="@v='saturday'"/>
814<xsl:when test="@v='sat'"/>
815<xsl:when test="@v='sunday'"/>
816<xsl:when test="@v='sun'"/>
817<xsl:otherwise>
818<maplint:result><xsl:value-of select="concat('Value not in map features: ', @k, '=', @v)"/></maplint:result>
819</xsl:otherwise>
820</xsl:choose>
821</xsl:when>
822<xsl:when test="@k='description'">
823<!-- Value: User defined -->
824</xsl:when>
825<xsl:when test="@k='disused'">
826<xsl:choose>
827<xsl:when test="@v='yes'"/>
828<xsl:when test="@v='yes'"/>
829<xsl:otherwise>
830<maplint:result><xsl:value-of select="concat('Value not in map features: ', @k, '=', @v)"/></maplint:result>
831</xsl:otherwise>
832</xsl:choose>
833</xsl:when>
834<xsl:when test="@k='ele'">
835<xsl:choose>
836<xsl:when test="string(number(@v)) != 'NaN'"/>
837<xsl:otherwise>
838<maplint:result><xsl:value-of select="concat('Value not in map features: ', @k, '=', @v)"/></maplint:result>
839</xsl:otherwise>
840</xsl:choose>
841</xsl:when>
842<xsl:when test="@k='electrified'">
843<xsl:choose>
844<xsl:when test="@v='contact_line'"/>
845<xsl:when test="@v='no'"/>
846<xsl:when test="@v='rail'"/>
847<xsl:when test="@v='yes'"/>
848<xsl:otherwise>
849<maplint:result><xsl:value-of select="concat('Value not in map features: ', @k, '=', @v)"/></maplint:result>
850</xsl:otherwise>
851</xsl:choose>
852</xsl:when>
853<xsl:when test="@k='embankment'">
854<xsl:choose>
855<xsl:when test="@v='yes'"/>
856<xsl:when test="@v='yes'"/>
857<xsl:otherwise>
858<maplint:result><xsl:value-of select="concat('Value not in map features: ', @k, '=', @v)"/></maplint:result>
859</xsl:otherwise>
860</xsl:choose>
861</xsl:when>
862<xsl:when test="@k='end_date'">
863<!-- Value: User defined -->
864</xsl:when>
865<xsl:when test="@k='est_width'">
866<xsl:choose>
867<xsl:when test="string(number(@v)) != 'NaN'"/>
868<xsl:otherwise>
869<maplint:result><xsl:value-of select="concat('Value not in map features: ', @k, '=', @v)"/></maplint:result>
870</xsl:otherwise>
871</xsl:choose>
872</xsl:when>
873<xsl:when test="@k='fenced'">
874<xsl:choose>
875<xsl:when test="@v='no'"/>
876<xsl:when test="@v='yes'"/>
877<xsl:otherwise>
878<maplint:result><xsl:value-of select="concat('Value not in map features: ', @k, '=', @v)"/></maplint:result>
879</xsl:otherwise>
880</xsl:choose>
881</xsl:when>
882<xsl:when test="@k='fixme'">
883<!-- Value: User defined -->
884</xsl:when>
885<xsl:when test="@k='foot'">
886<xsl:choose>
887<xsl:when test="@v='agricultural'"/>
888<xsl:when test="@v='delivery'"/>
889<xsl:when test="@v='designated'"/>
890<xsl:when test="@v='destination'"/>
891<xsl:when test="@v='forestry'"/>
892<xsl:when test="@v='no'"/>
893<xsl:when test="@v='official'"/>
894<xsl:when test="@v='permissive'"/>
895<xsl:when test="@v='private'"/>
896<xsl:when test="@v='unknown'"/>
897<xsl:when test="@v='yes'"/>
898<xsl:otherwise>
899<maplint:result><xsl:value-of select="concat('Value not in map features: ', @k, '=', @v)"/></maplint:result>
900</xsl:otherwise>
901</xsl:choose>
902</xsl:when>
903<xsl:when test="@k='frequency'">
904<!-- Value: User defined -->
905</xsl:when>
906<xsl:when test="@k='goods'">
907<xsl:choose>
908<xsl:when test="@v='agricultural'"/>
909<xsl:when test="@v='delivery'"/>
910<xsl:when test="@v='designated'"/>
911<xsl:when test="@v='destination'"/>
912<xsl:when test="@v='forestry'"/>
913<xsl:when test="@v='no'"/>
914<xsl:when test="@v='permissive'"/>
915<xsl:when test="@v='private'"/>
916<xsl:when test="@v='unknown'"/>
917<xsl:when test="@v='yes'"/>
918<xsl:otherwise>
919<maplint:result><xsl:value-of select="concat('Value not in map features: ', @k, '=', @v)"/></maplint:result>
920</xsl:otherwise>
921</xsl:choose>
922</xsl:when>
923<xsl:when test="@k='hazmat'">
924<xsl:choose>
925<xsl:when test="@v='agricultural'"/>
926<xsl:when test="@v='delivery'"/>
927<xsl:when test="@v='designated'"/>
928<xsl:when test="@v='destination'"/>
929<xsl:when test="@v='forestry'"/>
930<xsl:when test="@v='no'"/>
931<xsl:when test="@v='permissive'"/>
932<xsl:when test="@v='private'"/>
933<xsl:when test="@v='unknown'"/>
934<xsl:when test="@v='yes'"/>
935<xsl:otherwise>
936<maplint:result><xsl:value-of select="concat('Value not in map features: ', @k, '=', @v)"/></maplint:result>
937</xsl:otherwise>
938</xsl:choose>
939</xsl:when>
940<xsl:when test="@k='hgv'">
941<xsl:choose>
942<xsl:when test="@v='agricultural'"/>
943<xsl:when test="@v='delivery'"/>
944<xsl:when test="@v='designated'"/>
945<xsl:when test="@v='destination'"/>
946<xsl:when test="@v='forestry'"/>
947<xsl:when test="@v='no'"/>
948<xsl:when test="@v='permissive'"/>
949<xsl:when test="@v='private'"/>
950<xsl:when test="@v='unknown'"/>
951<xsl:when test="@v='yes'"/>
952<xsl:otherwise>
953<maplint:result><xsl:value-of select="concat('Value not in map features: ', @k, '=', @v)"/></maplint:result>
954</xsl:otherwise>
955</xsl:choose>
956</xsl:when>
957<xsl:when test="@k='highway'">
958<xsl:choose>
959<xsl:when test="@v='bridleway'"/>
960<xsl:when test="@v='bus_guideway'"/>
961<xsl:when test="@v='byway'"/>
962<xsl:when test="@v='construction'"/>
963<xsl:when test="@v='cycleway'"/>
964<xsl:when test="@v='footway'"/>
965<xsl:when test="@v='ford'"/>
966<xsl:when test="@v='living_street'"/>
967<xsl:when test="@v='motorway'"/>
968<xsl:when test="@v='motorway_link'"/>
969<xsl:when test="@v='path'"/>
970<xsl:when test="@v='pedestrian'"/>
971<xsl:when test="@v='primary'"/>
972<xsl:when test="@v='primary_link'"/>
973<xsl:when test="@v='residential'"/>
974<xsl:when test="@v='road'"/>
975<xsl:when test="@v='secondary'"/>
976<xsl:when test="@v='secondary_link'"/>
977<xsl:when test="@v='service'"/>
978<xsl:when test="@v='services'"/>
979<xsl:when test="@v='steps'"/>
980<xsl:when test="@v='tertiary'"/>
981<xsl:when test="@v='track'"/>
982<xsl:when test="@v='trunk'"/>
983<xsl:when test="@v='trunk_link'"/>
984<xsl:when test="@v='unclassified'"/>
985<!-- Uncomment to output notice about user defined value:
986<xsl:otherwise>
987<maplint:result><xsl:value-of select="concat('User defined value: ', @k, '=', @v)" /></maplint:result>
988</xsl:otherwise>
989 -->
990</xsl:choose>
991</xsl:when>
992<xsl:when test="@k='historic'">
993<xsl:choose>
994<xsl:when test="@v='archaeological_site'"/>
995<xsl:when test="@v='battlefield'"/>
996<xsl:when test="@v='castle'"/>
997<xsl:when test="@v='memorial'"/>
998<xsl:when test="@v='monument'"/>
999<xsl:when test="@v='ruins'"/>
1000<xsl:when test="@v='wreck'"/>
1001<xsl:when test="@v='yes'"/>
1002<!-- Uncomment to output notice about user defined value:
1003<xsl:otherwise>
1004<maplint:result><xsl:value-of select="concat('User defined value: ', @k, '=', @v)" /></maplint:result>
1005</xsl:otherwise>
1006 -->
1007</xsl:choose>
1008</xsl:when>
1009<xsl:when test="@k='history'">
1010<!-- Value: User defined -->
1011</xsl:when>
1012<xsl:when test="@k='horse'">
1013<xsl:choose>
1014<xsl:when test="@v='agricultural'"/>
1015<xsl:when test="@v='delivery'"/>
1016<xsl:when test="@v='designated'"/>
1017<xsl:when test="@v='destination'"/>
1018<xsl:when test="@v='forestry'"/>
1019<xsl:when test="@v='no'"/>
1020<xsl:when test="@v='official'"/>
1021<xsl:when test="@v='permissive'"/>
1022<xsl:when test="@v='private'"/>
1023<xsl:when test="@v='unknown'"/>
1024<xsl:when test="@v='yes'"/>
1025<xsl:otherwise>
1026<maplint:result><xsl:value-of select="concat('Value not in map features: ', @k, '=', @v)"/></maplint:result>
1027</xsl:otherwise>
1028</xsl:choose>
1029</xsl:when>
1030<xsl:when test="@k='hour_off'">
1031<!-- Value: User defined -->
1032</xsl:when>
1033<xsl:when test="@k='hour_on'">
1034<!-- Value: User defined -->
1035</xsl:when>
1036<xsl:when test="@k='iata'">
1037<!-- Value: User defined -->
1038</xsl:when>
1039<xsl:when test="@k='icao'">
1040<!-- Value: User defined -->
1041</xsl:when>
1042<xsl:when test="@k='image'">
1043<xsl:choose>
1044<xsl:when test="@v='URL'"/>
1045<xsl:otherwise>
1046<maplint:result><xsl:value-of select="concat('Value not in map features: ', @k, '=', @v)"/></maplint:result>
1047</xsl:otherwise>
1048</xsl:choose>
1049</xsl:when>
1050<xsl:when test="@k='incline'">
1051<xsl:choose>
1052<xsl:when test="@v='Number%'"/>
1053<xsl:otherwise>
1054<maplint:result><xsl:value-of select="concat('Value not in map features: ', @k, '=', @v)"/></maplint:result>
1055</xsl:otherwise>
1056</xsl:choose>
1057</xsl:when>
1058<xsl:when test="@k='int_name'">
1059<!-- Value: User defined -->
1060</xsl:when>
1061<xsl:when test="@k='int_ref'">
1062<!-- Value: User defined -->
1063</xsl:when>
1064<xsl:when test="@k='is_in'">
1065<!-- Value: User defined -->
1066</xsl:when>
1067<xsl:when test="@k='junction'">
1068<xsl:choose>
1069<xsl:when test="@v='Other Values'"/>
1070<xsl:when test="@v='roundabout'"/>
1071<xsl:otherwise>
1072<maplint:result><xsl:value-of select="concat('Value not in map features: ', @k, '=', @v)"/></maplint:result>
1073</xsl:otherwise>
1074</xsl:choose>
1075</xsl:when>
1076<xsl:when test="@k='landuse'">
1077<xsl:choose>
1078<xsl:when test="@v='allotments'"/>
1079<xsl:when test="@v='basin'"/>
1080<xsl:when test="@v='brownfield'"/>
1081<xsl:when test="@v='cemetery'"/>
1082<xsl:when test="@v='commercial'"/>
1083<xsl:when test="@v='construction'"/>
1084<xsl:when test="@v='farm'"/>
1085<xsl:when test="@v='farmyard'"/>
1086<xsl:when test="@v='forest'"/>
1087<xsl:when test="@v='greenfield'"/>
1088<xsl:when test="@v='industrial'"/>
1089<xsl:when test="@v='landfill'"/>
1090<xsl:when test="@v='meadow'"/>
1091<xsl:when test="@v='military'"/>
1092<xsl:when test="@v='quarry'"/>
1093<xsl:when test="@v='railway'"/>
1094<xsl:when test="@v='railway'"/>
1095<xsl:when test="@v='recreation_ground'"/>
1096<xsl:when test="@v='reservoir'"/>
1097<xsl:when test="@v='residential'"/>
1098<xsl:when test="@v='retail'"/>
1099<xsl:when test="@v='salt_pond'"/>
1100<xsl:when test="@v='village_green'"/>
1101<xsl:when test="@v='vineyard'"/>
1102<xsl:when test="@v='wood'"/>
1103<!-- Uncomment to output notice about user defined value:
1104<xsl:otherwise>
1105<maplint:result><xsl:value-of select="concat('User defined value: ', @k, '=', @v)" /></maplint:result>
1106</xsl:otherwise>
1107 -->
1108</xsl:choose>
1109</xsl:when>
1110<xsl:when test="@k='lanes'">
1111<xsl:choose>
1112<xsl:when test="string(number(@v)) != 'NaN'"/>
1113<xsl:otherwise>
1114<maplint:result><xsl:value-of select="concat('Value not in map features: ', @k, '=', @v)"/></maplint:result>
1115</xsl:otherwise>
1116</xsl:choose>
1117</xsl:when>
1118<xsl:when test="@k='layer'">
1119<xsl:choose>
1120<xsl:when test="@v &gt; -5 and @v &lt; 5"/>
1121<xsl:otherwise>
1122<maplint:result><xsl:value-of select="concat('Value not in map features: ', @k, '=', @v)"/></maplint:result>
1123</xsl:otherwise>
1124</xsl:choose>
1125</xsl:when>
1126<xsl:when test="@k='lcn_ref'">
1127<!-- Value: User defined -->
1128</xsl:when>
1129<xsl:when test="@k='leisure'">
1130<xsl:choose>
1131<xsl:when test="@v='common'"/>
1132<xsl:when test="@v='fishing'"/>
1133<xsl:when test="@v='garden'"/>
1134<xsl:when test="@v='golf_course'"/>
1135<xsl:when test="@v='ice_rink'"/>
1136<xsl:when test="@v='marina'"/>
1137<xsl:when test="@v='miniature_golf'"/>
1138<xsl:when test="@v='nature_reserve'"/>
1139<xsl:when test="@v='park'"/>
1140<xsl:when test="@v='pitch'"/>
1141<xsl:when test="@v='playground'"/>
1142<xsl:when test="@v='sports_centre'"/>
1143<xsl:when test="@v='stadium'"/>
1144<xsl:when test="@v='track'"/>
1145<xsl:when test="@v='water_park'"/>
1146<!-- Uncomment to output notice about user defined value:
1147<xsl:otherwise>
1148<maplint:result><xsl:value-of select="concat('User defined value: ', @k, '=', @v)" /></maplint:result>
1149</xsl:otherwise>
1150 -->
1151</xsl:choose>
1152</xsl:when>
1153<xsl:when test="@k='lit'">
1154<xsl:choose>
1155<xsl:when test="@v='no'"/>
1156<xsl:when test="@v='yes'"/>
1157<xsl:otherwise>
1158<maplint:result><xsl:value-of select="concat('Value not in map features: ', @k, '=', @v)"/></maplint:result>
1159</xsl:otherwise>
1160</xsl:choose>
1161</xsl:when>
1162<xsl:when test="@k='loc_name'">
1163<!-- Value: User defined -->
1164</xsl:when>
1165<xsl:when test="@k='loc_ref'">
1166<!-- Value: User defined -->
1167</xsl:when>
1168<xsl:when test="@k='lock'">
1169<xsl:choose>
1170<xsl:when test="@v='yes'"/>
1171<xsl:otherwise>
1172<maplint:result><xsl:value-of select="concat('Value not in map features: ', @k, '=', @v)"/></maplint:result>
1173</xsl:otherwise>
1174</xsl:choose>
1175</xsl:when>
1176<xsl:when test="@k='man_made'">
1177<xsl:choose>
1178<xsl:when test="@v='crane'"/>
1179<xsl:when test="@v='gasometer'"/>
1180<xsl:when test="@v='pier'"/>
1181<xsl:when test="@v='pipeline'"/>
1182<xsl:when test="@v='reservoir_covered'"/>
1183<xsl:when test="@v='surveillance'"/>
1184<xsl:when test="@v='wastewater_plant'"/>
1185<xsl:when test="@v='water_tower'"/>
1186<xsl:when test="@v='water_works'"/>
1187<xsl:when test="@v='watermill'"/>
1188<xsl:when test="@v='windmill'"/>
1189<xsl:when test="@v='works'"/>
1190<!-- Uncomment to output notice about user defined value:
1191<xsl:otherwise>
1192<maplint:result><xsl:value-of select="concat('User defined value: ', @k, '=', @v)" /></maplint:result>
1193</xsl:otherwise>
1194 -->
1195</xsl:choose>
1196</xsl:when>
1197<xsl:when test="@k='maxheight'">
1198<xsl:choose>
1199<xsl:when test="(contains(@v, &quot;mm&quot;) and string-length( substring-after(@v, &quot;mm&quot;) ) = 0 and string(number(substring(@v, 0, string-length(@v) - string-length(&quot;mm&quot;)))) != &quot;NaN&quot;) or (contains(@v, &quot;cm&quot;) and string-length( substring-after(@v, &quot;cm&quot;) ) = 0 and string(number(substring(@v, 0, string-length(@v) - string-length(&quot;cm&quot;)))) != &quot;NaN&quot;) or (contains(@v, &quot;dm&quot;) and string-length( substring-after(@v, &quot;dm&quot;) ) = 0 and string(number(substring(@v, 0, string-length(@v) - string-length(&quot;dm&quot;)))) != &quot;NaN&quot;) or (contains(@v, &quot;m&quot;) and string-length( substring-after(@v, &quot;m&quot;) ) = 0 and string(number(substring(@v, 0, string-length(@v) - string-length(&quot;m&quot;)))) != &quot;NaN&quot;) or (contains(@v, &quot;km&quot;) and string-length( substring-after(@v, &quot;km&quot;) ) = 0 and string(number(substring(@v, 0, string-length(@v) - string-length(&quot;km&quot;)))) != &quot;NaN&quot;) or (contains(@v, &quot;mil&quot;) and string-length( substring-after(@v, &quot;mil&quot;) ) = 0 and string(number(substring(@v, 0, string-length(@v) - string-length(&quot;mil&quot;)))) != &quot;NaN&quot;) or (contains(@v, &quot;inch&quot;) and string-length( substring-after(@v, &quot;inch&quot;) ) = 0 and string(number(substring(@v, 0, string-length(@v) - string-length(&quot;inch&quot;)))) != &quot;NaN&quot;) or (contains(@v, &quot;foot&quot;) and string-length( substring-after(@v, &quot;foot&quot;) ) = 0 and string(number(substring(@v, 0, string-length(@v) - string-length(&quot;foot&quot;)))) != &quot;NaN&quot;) or (contains(@v, &quot;yard&quot;) and string-length( substring-after(@v, &quot;yard&quot;) ) = 0 and string(number(substring(@v, 0, string-length(@v) - string-length(&quot;yard&quot;)))) != &quot;NaN&quot;) or (contains(@v, &quot;mile&quot;) and string-length( substring-after(@v, &quot;mile&quot;) ) = 0 and string(number(substring(@v, 0, string-length(@v) - string-length(&quot;mile&quot;)))) != &quot;NaN&quot;) or (contains(@v, &quot;nm&quot;) and string-length( substring-after(@v, &quot;nm&quot;) ) = 0 and string(number(substring(@v, 0, string-length(@v) - string-length(&quot;nm&quot;)))) != &quot;NaN&quot;) or (contains(@v, &quot;furlong&quot;) and string-length( substring-after(@v, &quot;furlong&quot;) ) = 0 and string(number(substring(@v, 0, string-length(@v) - string-length(&quot;furlong&quot;)))) != &quot;NaN&quot;) or ( string(number(@v)) != &quot;NaN&quot; )"/>
1200<xsl:otherwise>
1201<maplint:result><xsl:value-of select="concat('Value not in map features: ', @k, '=', @v)"/></maplint:result>
1202</xsl:otherwise>
1203</xsl:choose>
1204</xsl:when>
1205<xsl:when test="@k='maxlength'">
1206<xsl:choose>
1207<xsl:when test="(contains(@v, &quot;mm&quot;) and string-length( substring-after(@v, &quot;mm&quot;) ) = 0 and string(number(substring(@v, 0, string-length(@v) - string-length(&quot;mm&quot;)))) != &quot;NaN&quot;) or (contains(@v, &quot;cm&quot;) and string-length( substring-after(@v, &quot;cm&quot;) ) = 0 and string(number(substring(@v, 0, string-length(@v) - string-length(&quot;cm&quot;)))) != &quot;NaN&quot;) or (contains(@v, &quot;dm&quot;) and string-length( substring-after(@v, &quot;dm&quot;) ) = 0 and string(number(substring(@v, 0, string-length(@v) - string-length(&quot;dm&quot;)))) != &quot;NaN&quot;) or (contains(@v, &quot;m&quot;) and string-length( substring-after(@v, &quot;m&quot;) ) = 0 and string(number(substring(@v, 0, string-length(@v) - string-length(&quot;m&quot;)))) != &quot;NaN&quot;) or (contains(@v, &quot;km&quot;) and string-length( substring-after(@v, &quot;km&quot;) ) = 0 and string(number(substring(@v, 0, string-length(@v) - string-length(&quot;km&quot;)))) != &quot;NaN&quot;) or (contains(@v, &quot;mil&quot;) and string-length( substring-after(@v, &quot;mil&quot;) ) = 0 and string(number(substring(@v, 0, string-length(@v) - string-length(&quot;mil&quot;)))) != &quot;NaN&quot;) or (contains(@v, &quot;inch&quot;) and string-length( substring-after(@v, &quot;inch&quot;) ) = 0 and string(number(substring(@v, 0, string-length(@v) - string-length(&quot;inch&quot;)))) != &quot;NaN&quot;) or (contains(@v, &quot;foot&quot;) and string-length( substring-after(@v, &quot;foot&quot;) ) = 0 and string(number(substring(@v, 0, string-length(@v) - string-length(&quot;foot&quot;)))) != &quot;NaN&quot;) or (contains(@v, &quot;yard&quot;) and string-length( substring-after(@v, &quot;yard&quot;) ) = 0 and string(number(substring(@v, 0, string-length(@v) - string-length(&quot;yard&quot;)))) != &quot;NaN&quot;) or (contains(@v, &quot;mile&quot;) and string-length( substring-after(@v, &quot;mile&quot;) ) = 0 and string(number(substring(@v, 0, string-length(@v) - string-length(&quot;mile&quot;)))) != &quot;NaN&quot;) or (contains(@v, &quot;nm&quot;) and string-length( substring-after(@v, &quot;nm&quot;) ) = 0 and string(number(substring(@v, 0, string-length(@v) - string-length(&quot;nm&quot;)))) != &quot;NaN&quot;) or (contains(@v, &quot;furlong&quot;) and string-length( substring-after(@v, &quot;furlong&quot;) ) = 0 and string(number(substring(@v, 0, string-length(@v) - string-length(&quot;furlong&quot;)))) != &quot;NaN&quot;) or ( string(number(@v)) != &quot;NaN&quot; )"/>
1208<xsl:otherwise>
1209<maplint:result><xsl:value-of select="concat('Value not in map features: ', @k, '=', @v)"/></maplint:result>
1210</xsl:otherwise>
1211</xsl:choose>
1212</xsl:when>
1213<xsl:when test="@k='maxspeed'">
1214<xsl:choose>
1215<xsl:when test="(contains(@v, &quot;kph&quot;) and string-length( substring-after(@v, &quot;kph&quot;) ) = 0 and string(number(substring(@v, 0, string-length(@v) - string-length(&quot;kph&quot;)))) != &quot;NaN&quot;) or (contains(@v, &quot;km/h&quot;) and string-length( substring-after(@v, &quot;km/h&quot;) ) = 0 and string(number(substring(@v, 0, string-length(@v) - string-length(&quot;km/h&quot;)))) != &quot;NaN&quot;) or (contains(@v, &quot;mph&quot;) and string-length( substring-after(@v, &quot;mph&quot;) ) = 0 and string(number(substring(@v, 0, string-length(@v) - string-length(&quot;mph&quot;)))) != &quot;NaN&quot;) or (contains(@v, &quot;knots&quot;) and string-length( substring-after(@v, &quot;knots&quot;) ) = 0 and string(number(substring(@v, 0, string-length(@v) - string-length(&quot;knots&quot;)))) != &quot;NaN&quot;) or ( string(number(@v)) != &quot;NaN&quot; )"/>
1216<xsl:otherwise>
1217<maplint:result><xsl:value-of select="concat('Value not in map features: ', @k, '=', @v)"/></maplint:result>
1218</xsl:otherwise>
1219</xsl:choose>
1220</xsl:when>
1221<xsl:when test="@k='maxstay'">
1222<xsl:choose>
1223<xsl:when test="string(number(@v)) != 'NaN'"/>
1224<xsl:otherwise>
1225<maplint:result><xsl:value-of select="concat('Value not in map features: ', @k, '=', @v)"/></maplint:result>
1226</xsl:otherwise>
1227</xsl:choose>
1228</xsl:when>
1229<xsl:when test="@k='maxweight'">
1230<xsl:choose>
1231<xsl:when test="string(number(@v)) != 'NaN'"/>
1232<xsl:otherwise>
1233<maplint:result><xsl:value-of select="concat('Value not in map features: ', @k, '=', @v)"/></maplint:result>
1234</xsl:otherwise>
1235</xsl:choose>
1236</xsl:when>
1237<xsl:when test="@k='maxwidth'">
1238<xsl:choose>
1239<xsl:when test="(contains(@v, &quot;mm&quot;) and string-length( substring-after(@v, &quot;mm&quot;) ) = 0 and string(number(substring(@v, 0, string-length(@v) - string-length(&quot;mm&quot;)))) != &quot;NaN&quot;) or (contains(@v, &quot;cm&quot;) and string-length( substring-after(@v, &quot;cm&quot;) ) = 0 and string(number(substring(@v, 0, string-length(@v) - string-length(&quot;cm&quot;)))) != &quot;NaN&quot;) or (contains(@v, &quot;dm&quot;) and string-length( substring-after(@v, &quot;dm&quot;) ) = 0 and string(number(substring(@v, 0, string-length(@v) - string-length(&quot;dm&quot;)))) != &quot;NaN&quot;) or (contains(@v, &quot;m&quot;) and string-length( substring-after(@v, &quot;m&quot;) ) = 0 and string(number(substring(@v, 0, string-length(@v) - string-length(&quot;m&quot;)))) != &quot;NaN&quot;) or (contains(@v, &quot;km&quot;) and string-length( substring-after(@v, &quot;km&quot;) ) = 0 and string(number(substring(@v, 0, string-length(@v) - string-length(&quot;km&quot;)))) != &quot;NaN&quot;) or (contains(@v, &quot;mil&quot;) and string-length( substring-after(@v, &quot;mil&quot;) ) = 0 and string(number(substring(@v, 0, string-length(@v) - string-length(&quot;mil&quot;)))) != &quot;NaN&quot;) or (contains(@v, &quot;inch&quot;) and string-length( substring-after(@v, &quot;inch&quot;) ) = 0 and string(number(substring(@v, 0, string-length(@v) - string-length(&quot;inch&quot;)))) != &quot;NaN&quot;) or (contains(@v, &quot;foot&quot;) and string-length( substring-after(@v, &quot;foot&quot;) ) = 0 and string(number(substring(@v, 0, string-length(@v) - string-length(&quot;foot&quot;)))) != &quot;NaN&quot;) or (contains(@v, &quot;yard&quot;) and string-length( substring-after(@v, &quot;yard&quot;) ) = 0 and string(number(substring(@v, 0, string-length(@v) - string-length(&quot;yard&quot;)))) != &quot;NaN&quot;) or (contains(@v, &quot;mile&quot;) and string-length( substring-after(@v, &quot;mile&quot;) ) = 0 and string(number(substring(@v, 0, string-length(@v) - string-length(&quot;mile&quot;)))) != &quot;NaN&quot;) or (contains(@v, &quot;nm&quot;) and string-length( substring-after(@v, &quot;nm&quot;) ) = 0 and string(number(substring(@v, 0, string-length(@v) - string-length(&quot;nm&quot;)))) != &quot;NaN&quot;) or (contains(@v, &quot;furlong&quot;) and string-length( substring-after(@v, &quot;furlong&quot;) ) = 0 and string(number(substring(@v, 0, string-length(@v) - string-length(&quot;furlong&quot;)))) != &quot;NaN&quot;) or ( string(number(@v)) != &quot;NaN&quot; )"/>
1240<xsl:otherwise>
1241<maplint:result><xsl:value-of select="concat('Value not in map features: ', @k, '=', @v)"/></maplint:result>
1242</xsl:otherwise>
1243</xsl:choose>
1244</xsl:when>
1245<xsl:when test="@k='military'">
1246<xsl:choose>
1247<xsl:when test="@v='airfield'"/>
1248<xsl:when test="@v='barracks'"/>
1249<xsl:when test="@v='bunker'"/>
1250<xsl:when test="@v='danger_area'"/>
1251<xsl:when test="@v='naval_base'"/>
1252<xsl:when test="@v='range'"/>
1253<!-- Uncomment to output notice about user defined value:
1254<xsl:otherwise>
1255<maplint:result><xsl:value-of select="concat('User defined value: ', @k, '=', @v)" /></maplint:result>
1256</xsl:otherwise>
1257 -->
1258</xsl:choose>
1259</xsl:when>
1260<xsl:when test="@k='minspeed'">
1261<xsl:choose>
1262<xsl:when test="(contains(@v, &quot;kph&quot;) and string-length( substring-after(@v, &quot;kph&quot;) ) = 0 and string(number(substring(@v, 0, string-length(@v) - string-length(&quot;kph&quot;)))) != &quot;NaN&quot;) or (contains(@v, &quot;km/h&quot;) and string-length( substring-after(@v, &quot;km/h&quot;) ) = 0 and string(number(substring(@v, 0, string-length(@v) - string-length(&quot;km/h&quot;)))) != &quot;NaN&quot;) or (contains(@v, &quot;mph&quot;) and string-length( substring-after(@v, &quot;mph&quot;) ) = 0 and string(number(substring(@v, 0, string-length(@v) - string-length(&quot;mph&quot;)))) != &quot;NaN&quot;) or (contains(@v, &quot;knots&quot;) and string-length( substring-after(@v, &quot;knots&quot;) ) = 0 and string(number(substring(@v, 0, string-length(@v) - string-length(&quot;knots&quot;)))) != &quot;NaN&quot;) or ( string(number(@v)) != &quot;NaN&quot; )"/>
1263<xsl:otherwise>
1264<maplint:result><xsl:value-of select="concat('Value not in map features: ', @k, '=', @v)"/></maplint:result>
1265</xsl:otherwise>
1266</xsl:choose>
1267</xsl:when>
1268<xsl:when test="@k='mooring'">
1269<xsl:choose>
1270<xsl:when test="@v='no'"/>
1271<xsl:when test="@v='private'"/>
1272<xsl:when test="@v='yes'"/>
1273<xsl:otherwise>
1274<maplint:result><xsl:value-of select="concat('Value not in map features: ', @k, '=', @v)"/></maplint:result>
1275</xsl:otherwise>
1276</xsl:choose>
1277</xsl:when>
1278<xsl:when test="@k='motor_vehicle'">
1279<xsl:choose>
1280<xsl:when test="@v='agricultural'"/>
1281<xsl:when test="@v='delivery'"/>
1282<xsl:when test="@v='designated'"/>
1283<xsl:when test="@v='destination'"/>
1284<xsl:when test="@v='forestry'"/>
1285<xsl:when test="@v='no'"/>
1286<xsl:when test="@v='permissive'"/>
1287<xsl:when test="@v='private'"/>
1288<xsl:when test="@v='unknown'"/>
1289<xsl:when test="@v='yes'"/>
1290<xsl:otherwise>
1291<maplint:result><xsl:value-of select="concat('Value not in map features: ', @k, '=', @v)"/></maplint:result>
1292</xsl:otherwise>
1293</xsl:choose>
1294</xsl:when>
1295<xsl:when test="@k='motorboat'">
1296<xsl:choose>
1297<xsl:when test="@v='agricultural'"/>
1298<xsl:when test="@v='delivery'"/>
1299<xsl:when test="@v='designated'"/>
1300<xsl:when test="@v='destination'"/>
1301<xsl:when test="@v='forestry'"/>
1302<xsl:when test="@v='no'"/>
1303<xsl:when test="@v='permissive'"/>
1304<xsl:when test="@v='private'"/>
1305<xsl:when test="@v='unknown'"/>
1306<xsl:when test="@v='yes'"/>
1307<xsl:otherwise>
1308<maplint:result><xsl:value-of select="concat('Value not in map features: ', @k, '=', @v)"/></maplint:result>
1309</xsl:otherwise>
1310</xsl:choose>
1311</xsl:when>
1312<xsl:when test="@k='motorcar'">
1313<xsl:choose>
1314<xsl:when test="@v='agricultural'"/>
1315<xsl:when test="@v='delivery'"/>
1316<xsl:when test="@v='designated'"/>
1317<xsl:when test="@v='destination'"/>
1318<xsl:when test="@v='forestry'"/>
1319<xsl:when test="@v='no'"/>
1320<xsl:when test="@v='permissive'"/>
1321<xsl:when test="@v='private'"/>
1322<xsl:when test="@v='unknown'"/>
1323<xsl:when test="@v='yes'"/>
1324<xsl:otherwise>
1325<maplint:result><xsl:value-of select="concat('Value not in map features: ', @k, '=', @v)"/></maplint:result>
1326</xsl:otherwise>
1327</xsl:choose>
1328</xsl:when>
1329<xsl:when test="@k='motorcycle'">
1330<xsl:choose>
1331<xsl:when test="@v='agricultural'"/>
1332<xsl:when test="@v='delivery'"/>
1333<xsl:when test="@v='designated'"/>
1334<xsl:when test="@v='destination'"/>
1335<xsl:when test="@v='forestry'"/>
1336<xsl:when test="@v='no'"/>
1337<xsl:when test="@v='permissive'"/>
1338<xsl:when test="@v='private'"/>
1339<xsl:when test="@v='unknown'"/>
1340<xsl:when test="@v='yes'"/>
1341<xsl:otherwise>
1342<maplint:result><xsl:value-of select="concat('Value not in map features: ', @k, '=', @v)"/></maplint:result>
1343</xsl:otherwise>
1344</xsl:choose>
1345</xsl:when>
1346<xsl:when test="@k='motorroad'">
1347<xsl:choose>
1348<xsl:when test="@v='no'"/>
1349<xsl:when test="@v='yes'"/>
1350<xsl:otherwise>
1351<maplint:result><xsl:value-of select="concat('Value not in map features: ', @k, '=', @v)"/></maplint:result>
1352</xsl:otherwise>
1353</xsl:choose>
1354</xsl:when>
1355<xsl:when test="@k='mtb:description'">
1356<xsl:choose>
1357<xsl:when test="@v='Text'"/>
1358<xsl:otherwise>
1359<maplint:result><xsl:value-of select="concat('Value not in map features: ', @k, '=', @v)"/></maplint:result>
1360</xsl:otherwise>
1361</xsl:choose>
1362</xsl:when>
1363<xsl:when test="@k='mtb:scale'">
1364<xsl:choose>
1365<xsl:when test="@v='0-5'"/>
1366<xsl:otherwise>
1367<maplint:result><xsl:value-of select="concat('Value not in map features: ', @k, '=', @v)"/></maplint:result>
1368</xsl:otherwise>
1369</xsl:choose>
1370</xsl:when>
1371<xsl:when test="@k='mtb:scale:imba'">
1372<xsl:choose>
1373<xsl:when test="@v='0-4'"/>
1374<xsl:otherwise>
1375<maplint:result><xsl:value-of select="concat('Value not in map features: ', @k, '=', @v)"/></maplint:result>
1376</xsl:otherwise>
1377</xsl:choose>
1378</xsl:when>
1379<xsl:when test="@k='mtb:scale:uphill'">
1380<xsl:choose>
1381<xsl:when test="@v='0-5'"/>
1382<xsl:otherwise>
1383<maplint:result><xsl:value-of select="concat('Value not in map features: ', @k, '=', @v)"/></maplint:result>
1384</xsl:otherwise>
1385</xsl:choose>
1386</xsl:when>
1387<xsl:when test="@k='name'">
1388<!-- Value: User defined -->
1389</xsl:when>
1390<xsl:when test="@k='narrow'">
1391<xsl:choose>
1392<xsl:when test="@v='yes'"/>
1393<xsl:otherwise>
1394<maplint:result><xsl:value-of select="concat('Value not in map features: ', @k, '=', @v)"/></maplint:result>
1395</xsl:otherwise>
1396</xsl:choose>
1397</xsl:when>
1398<xsl:when test="@k='nat_name'">
1399<!-- Value: User defined -->
1400</xsl:when>
1401<xsl:when test="@k='nat_ref'">
1402<!-- Value: User defined -->
1403</xsl:when>
1404<xsl:when test="@k='natural'">
1405<xsl:choose>
1406<xsl:when test="@v='bay'"/>
1407<xsl:when test="@v='beach'"/>
1408<xsl:when test="@v='cave_entrance'"/>
1409<xsl:when test="@v='cliff'"/>
1410<xsl:when test="@v='coastline'"/>
1411<xsl:when test="@v='fell'"/>
1412<xsl:when test="@v='glacier'"/>
1413<xsl:when test="@v='heath'"/>
1414<xsl:when test="@v='land'"/>
1415<xsl:when test="@v='marsh'"/>
1416<xsl:when test="@v='mud'"/>
1417<xsl:when test="@v='scree'"/>
1418<xsl:when test="@v='scrub'"/>
1419<xsl:when test="@v='water'"/>
1420<xsl:when test="@v='wetland'"/>
1421<xsl:when test="@v='wood'"/>
1422<!-- Uncomment to output notice about user defined value:
1423<xsl:otherwise>
1424<maplint:result><xsl:value-of select="concat('User defined value: ', @k, '=', @v)" /></maplint:result>
1425</xsl:otherwise>
1426 -->
1427</xsl:choose>
1428</xsl:when>
1429<xsl:when test="@k='ncn_ref'">
1430<!-- Value: User defined -->
1431</xsl:when>
1432<xsl:when test="@k='noexit'">
1433<xsl:choose>
1434<xsl:when test="@v='yes'"/>
1435<xsl:otherwise>
1436<maplint:result><xsl:value-of select="concat('Value not in map features: ', @k, '=', @v)"/></maplint:result>
1437</xsl:otherwise>
1438</xsl:choose>
1439</xsl:when>
1440<xsl:when test="@k='noname'">
1441<xsl:choose>
1442<xsl:when test="@v='yes'"/>
1443<xsl:otherwise>
1444<maplint:result><xsl:value-of select="concat('Value not in map features: ', @k, '=', @v)"/></maplint:result>
1445</xsl:otherwise>
1446</xsl:choose>
1447</xsl:when>
1448<xsl:when test="@k='note'">
1449<!-- Value: User defined -->
1450</xsl:when>
1451<xsl:when test="@k='old_name'">
1452<!-- Value: User defined -->
1453</xsl:when>
1454<xsl:when test="@k='old_ref'">
1455<!-- Value: User defined -->
1456</xsl:when>
1457<xsl:when test="@k='oneway'">
1458<xsl:choose>
1459<xsl:when test="@v='-1'"/>
1460<xsl:when test="@v='no'"/>
1461<xsl:when test="@v='yes'"/>
1462<xsl:otherwise>
1463<maplint:result><xsl:value-of select="concat('Value not in map features: ', @k, '=', @v)"/></maplint:result>
1464</xsl:otherwise>
1465</xsl:choose>
1466</xsl:when>
1467<xsl:when test="@k='opening_hours'">
1468<xsl:choose>
1469<xsl:when test="@v='24/7'"/>
1470<xsl:when test="@v='mo md hh:mm-hh:mm. (read described syntax)'"/>
1471<xsl:otherwise>
1472<maplint:result><xsl:value-of select="concat('Value not in map features: ', @k, '=', @v)"/></maplint:result>
1473</xsl:otherwise>
1474</xsl:choose>
1475</xsl:when>
1476<xsl:when test="@k='operator'">
1477<!-- Value: User defined -->
1478</xsl:when>
1479<xsl:when test="@k='osmarender:nameDirection'">
1480<xsl:choose>
1481<xsl:when test="@v='-1'"/>
1482<xsl:when test="@v='1'"/>
1483<xsl:otherwise>
1484<maplint:result><xsl:value-of select="concat('Value not in map features: ', @k, '=', @v)"/></maplint:result>
1485</xsl:otherwise>
1486</xsl:choose>
1487</xsl:when>
1488<xsl:when test="@k='osmarender:render'">
1489<xsl:choose>
1490<xsl:when test="@v='no'"/>
1491<xsl:otherwise>
1492<maplint:result><xsl:value-of select="concat('Value not in map features: ', @k, '=', @v)"/></maplint:result>
1493</xsl:otherwise>
1494</xsl:choose>
1495</xsl:when>
1496<xsl:when test="@k='osmarender:renderName'">
1497<xsl:choose>
1498<xsl:when test="@v='no'"/>
1499<xsl:otherwise>
1500<maplint:result><xsl:value-of select="concat('Value not in map features: ', @k, '=', @v)"/></maplint:result>
1501</xsl:otherwise>
1502</xsl:choose>
1503</xsl:when>
1504<xsl:when test="@k='osmarender:renderRef'">
1505<xsl:choose>
1506<xsl:when test="@v='no'"/>
1507<xsl:otherwise>
1508<maplint:result><xsl:value-of select="concat('Value not in map features: ', @k, '=', @v)"/></maplint:result>
1509</xsl:otherwise>
1510</xsl:choose>
1511</xsl:when>
1512<xsl:when test="@k='passing_places'">
1513<xsl:choose>
1514<xsl:when test="@v='yes'"/>
1515<xsl:otherwise>
1516<maplint:result><xsl:value-of select="concat('Value not in map features: ', @k, '=', @v)"/></maplint:result>
1517</xsl:otherwise>
1518</xsl:choose>
1519</xsl:when>
1520<xsl:when test="@k='place'">
1521<xsl:choose>
1522<xsl:when test="@v='city'"/>
1523<xsl:when test="@v='continent'"/>
1524<xsl:when test="@v='county'"/>
1525<xsl:when test="@v='hamlet'"/>
1526<xsl:when test="@v='island'"/>
1527<xsl:when test="@v='locality'"/>
1528<xsl:when test="@v='region'"/>
1529<xsl:when test="@v='state'"/>
1530<xsl:when test="@v='suburb'"/>
1531<xsl:when test="@v='town'"/>
1532<xsl:when test="@v='village'"/>
1533<xsl:otherwise>
1534<maplint:result><xsl:value-of select="concat('Value not in map features: ', @k, '=', @v)"/></maplint:result>
1535</xsl:otherwise>
1536</xsl:choose>
1537</xsl:when>
1538<xsl:when test="@k='place_name'">
1539<!-- Value: User defined -->
1540</xsl:when>
1541<xsl:when test="@k='place_numbers'">
1542<!-- Value: User defined -->
1543</xsl:when>
1544<xsl:when test="@k='population'">
1545<xsl:choose>
1546<xsl:when test="string(number(@v)) != 'NaN'"/>
1547<xsl:otherwise>
1548<maplint:result><xsl:value-of select="concat('Value not in map features: ', @k, '=', @v)"/></maplint:result>
1549</xsl:otherwise>
1550</xsl:choose>
1551</xsl:when>
1552<xsl:when test="@k='postal_code'">
1553<!-- Value: User defined -->
1554</xsl:when>
1555<xsl:when test="@k='power'">
1556<xsl:choose>
1557<xsl:when test="@v='generator'"/>
1558<xsl:when test="@v='line'"/>
1559<xsl:when test="@v='station'"/>
1560<xsl:when test="@v='sub_station'"/>
1561<!-- Uncomment to output notice about user defined value:
1562<xsl:otherwise>
1563<maplint:result><xsl:value-of select="concat('User defined value: ', @k, '=', @v)" /></maplint:result>
1564</xsl:otherwise>
1565 -->
1566</xsl:choose>
1567</xsl:when>
1568<xsl:when test="@k='psv'">
1569<xsl:choose>
1570<xsl:when test="@v='agricultural'"/>
1571<xsl:when test="@v='delivery'"/>
1572<xsl:when test="@v='designated'"/>
1573<xsl:when test="@v='destination'"/>
1574<xsl:when test="@v='forestry'"/>
1575<xsl:when test="@v='no'"/>
1576<xsl:when test="@v='permissive'"/>
1577<xsl:when test="@v='private'"/>
1578<xsl:when test="@v='unknown'"/>
1579<xsl:when test="@v='yes'"/>
1580<xsl:otherwise>
1581<maplint:result><xsl:value-of select="concat('Value not in map features: ', @k, '=', @v)"/></maplint:result>
1582</xsl:otherwise>
1583</xsl:choose>
1584</xsl:when>
1585<xsl:when test="@k='railway'">
1586<xsl:choose>
1587<xsl:when test="@v='abandoned'"/>
1588<xsl:when test="@v='construction'"/>
1589<xsl:when test="@v='disused'"/>
1590<xsl:when test="@v='funicular'"/>
1591<xsl:when test="@v='light_rail'"/>
1592<xsl:when test="@v='monorail'"/>
1593<xsl:when test="@v='narrow_gauge'"/>
1594<xsl:when test="@v='platform'"/>
1595<xsl:when test="@v='preserved'"/>
1596<xsl:when test="@v='rail'"/>
1597<xsl:when test="@v='station'"/>
1598<xsl:when test="@v='subway'"/>
1599<xsl:when test="@v='tram'"/>
1600<xsl:when test="@v='turntable'"/>
1601<!-- Uncomment to output notice about user defined value:
1602<xsl:otherwise>
1603<maplint:result><xsl:value-of select="concat('User defined value: ', @k, '=', @v)" /></maplint:result>
1604</xsl:otherwise>
1605 -->
1606</xsl:choose>
1607</xsl:when>
1608<xsl:when test="@k='rcn_ref'">
1609<!-- Value: User defined -->
1610</xsl:when>
1611<xsl:when test="@k='ref'">
1612<!-- Value: User defined -->
1613</xsl:when>
1614<xsl:when test="@k='reg_name'">
1615<!-- Value: User defined -->
1616</xsl:when>
1617<xsl:when test="@k='reg_ref'">
1618<!-- Value: User defined -->
1619</xsl:when>
1620<xsl:when test="@k='route'">
1621<xsl:choose>
1622<xsl:when test="@v='bicycle'"/>
1623<xsl:when test="@v='bus'"/>
1624<xsl:when test="@v='detour'"/>
1625<xsl:when test="@v='ferry'"/>
1626<xsl:when test="@v='flight'"/>
1627<xsl:when test="@v='hiking'"/>
1628<xsl:when test="@v='mtb'"/>
1629<xsl:when test="@v='pub_crawl'"/>
1630<xsl:when test="@v='railway'"/>
1631<xsl:when test="@v='road'"/>
1632<xsl:when test="@v='ski'"/>
1633<xsl:when test="@v='subsea'"/>
1634<xsl:when test="@v='tour'"/>
1635<xsl:when test="@v='train'"/>
1636<xsl:when test="@v='tram'"/>
1637<!-- Uncomment to output notice about user defined value:
1638<xsl:otherwise>
1639<maplint:result><xsl:value-of select="concat('User defined value: ', @k, '=', @v)" /></maplint:result>
1640</xsl:otherwise>
1641 -->
1642</xsl:choose>
1643</xsl:when>
1644<xsl:when test="@k='rtc_rate'">
1645<xsl:choose>
1646<xsl:when test="@v='A'"/>
1647<xsl:when test="@v='B'"/>
1648<xsl:when test="@v='C'"/>
1649<xsl:when test="@v='D'"/>
1650<xsl:when test="@v='F'"/>
1651<xsl:when test="@v='XX'"/>
1652<xsl:otherwise>
1653<maplint:result><xsl:value-of select="concat('Value not in map features: ', @k, '=', @v)"/></maplint:result>
1654</xsl:otherwise>
1655</xsl:choose>
1656</xsl:when>
1657<xsl:when test="@k='sac_scale'">
1658<xsl:choose>
1659<xsl:when test="@v='alpine_hiking'"/>
1660<xsl:when test="@v='demanding_alpine_hiking'"/>
1661<xsl:when test="@v='demanding_mountain_hiking'"/>
1662<xsl:when test="@v='difficult_alpine_hiking'"/>
1663<xsl:when test="@v='hiking'"/>
1664<xsl:when test="@v='mountain_hiking'"/>
1665<xsl:otherwise>
1666<maplint:result><xsl:value-of select="concat('Value not in map features: ', @k, '=', @v)"/></maplint:result>
1667</xsl:otherwise>
1668</xsl:choose>
1669</xsl:when>
1670<xsl:when test="@k='service'">
1671<xsl:choose>
1672<xsl:when test="@v='Other Values'"/>
1673<xsl:when test="@v='alley'"/>
1674<xsl:when test="@v='driveway'"/>
1675<xsl:when test="@v='parking_aisle'"/>
1676<xsl:when test="@v='siding'"/>
1677<xsl:when test="@v='spur'"/>
1678<xsl:when test="@v='yard'"/>
1679<xsl:otherwise>
1680<maplint:result><xsl:value-of select="concat('Value not in map features: ', @k, '=', @v)"/></maplint:result>
1681</xsl:otherwise>
1682</xsl:choose>
1683</xsl:when>
1684<xsl:when test="@k='shop'">
1685<xsl:choose>
1686<xsl:when test="@v='alcohol'"/>
1687<xsl:when test="@v='bakery'"/>
1688<xsl:when test="@v='beverages'"/>
1689<xsl:when test="@v='bicycle'"/>
1690<xsl:when test="@v='books'"/>
1691<xsl:when test="@v='butcher'"/>
1692<xsl:when test="@v='car'"/>
1693<xsl:when test="@v='car_repair'"/>
1694<xsl:when test="@v='chemist'"/>
1695<xsl:when test="@v='clothes'"/>
1696<xsl:when test="@v='computer'"/>
1697<xsl:when test="@v='confectionery'"/>
1698<xsl:when test="@v='convenience'"/>
1699<xsl:when test="@v='department_store'"/>
1700<xsl:when test="@v='doityourself'"/>
1701<xsl:when test="@v='dry_cleaning'"/>
1702<xsl:when test="@v='electronics'"/>
1703<xsl:when test="@v='farm'"/>
1704<xsl:when test="@v='florist'"/>
1705<xsl:when test="@v='funeral_directors'"/>
1706<xsl:when test="@v='furniture'"/>
1707<xsl:when test="@v='garden_centre'"/>
1708<xsl:when test="@v='gift'"/>
1709<xsl:when test="@v='greengrocer'"/>
1710<xsl:when test="@v='hairdresser'"/>
1711<xsl:when test="@v='hardware'"/>
1712<xsl:when test="@v='hifi'"/>
1713<xsl:when test="@v='kiosk'"/>
1714<xsl:when test="@v='laundry'"/>
1715<xsl:when test="@v='mall'"/>
1716<xsl:when test="@v='motorcycle'"/>
1717<xsl:when test="@v='newsagent'"/>
1718<xsl:when test="@v='optician'"/>
1719<xsl:when test="@v='organic'"/>
1720<xsl:when test="@v='outdoor'"/>
1721<xsl:when test="@v='shoes'"/>
1722<xsl:when test="@v='sports'"/>
1723<xsl:when test="@v='stationery'"/>
1724<xsl:when test="@v='supermarket'"/>
1725<xsl:when test="@v='toys'"/>
1726<xsl:when test="@v='travel_agency'"/>
1727<xsl:when test="@v='video'"/>
1728<!-- Uncomment to output notice about user defined value:
1729<xsl:otherwise>
1730<maplint:result><xsl:value-of select="concat('User defined value: ', @k, '=', @v)" /></maplint:result>
1731</xsl:otherwise>
1732 -->
1733</xsl:choose>
1734</xsl:when>
1735<xsl:when test="@k='smoothness'">
1736<xsl:choose>
1737<xsl:when test="@v='bad'"/>
1738<xsl:when test="@v='bad'"/>
1739<xsl:when test="@v='excellent'"/>
1740<xsl:when test="@v='excellent'"/>
1741<xsl:when test="@v='good'"/>
1742<xsl:when test="@v='good'"/>
1743<xsl:when test="@v='horrible'"/>
1744<xsl:when test="@v='horrible'"/>
1745<xsl:when test="@v='impassable'"/>
1746<xsl:when test="@v='impassable'"/>
1747<xsl:when test="@v='intermediate'"/>
1748<xsl:when test="@v='intermediate'"/>
1749<xsl:when test="@v='very_bad'"/>
1750<xsl:when test="@v='very_bad'"/>
1751<xsl:when test="@v='very_horrible'"/>
1752<xsl:when test="@v='very_horrible'"/>
1753<xsl:otherwise>
1754<maplint:result><xsl:value-of select="concat('Value not in map features: ', @k, '=', @v)"/></maplint:result>
1755</xsl:otherwise>
1756</xsl:choose>
1757</xsl:when>
1758<xsl:when test="@k='source'">
1759<xsl:choose>
1760<xsl:when test="@v='extrapolation'"/>
1761<xsl:when test="@v='historical'"/>
1762<xsl:when test="@v='image'"/>
1763<xsl:when test="@v='knowledge'"/>
1764<xsl:when test="@v='survey'"/>
1765<xsl:when test="@v='voice'"/>
1766<!-- Uncomment to output notice about user defined value:
1767<xsl:otherwise>
1768<maplint:result><xsl:value-of select="concat('User defined value: ', @k, '=', @v)" /></maplint:result>
1769</xsl:otherwise>
1770 -->
1771</xsl:choose>
1772</xsl:when>
1773<xsl:when test="@k='source:name'">
1774<!-- Value: User defined -->
1775</xsl:when>
1776<xsl:when test="@k='source:ref'">
1777<!-- Value: User defined -->
1778</xsl:when>
1779<xsl:when test="@k='source_ref'">
1780<!-- Value: User defined -->
1781</xsl:when>
1782<xsl:when test="@k='sport'">
1783<xsl:choose>
1784<xsl:when test="@v='10pin'"/>
1785<xsl:when test="@v='9pin'"/>
1786<xsl:when test="@v='archery'"/>
1787<xsl:when test="@v='athletics'"/>
1788<xsl:when test="@v='australian_football'"/>
1789<xsl:when test="@v='baseball'"/>
1790<xsl:when test="@v='basketball'"/>
1791<xsl:when test="@v='beachvolleyball'"/>
1792<xsl:when test="@v='boules'"/>
1793<xsl:when test="@v='bowls'"/>
1794<xsl:when test="@v='canoe'"/>
1795<xsl:when test="@v='chess'"/>
1796<xsl:when test="@v='climbing'"/>
1797<xsl:when test="@v='cricket'"/>
1798<xsl:when test="@v='cricket_nets'"/>
1799<xsl:when test="@v='croquet'"/>
1800<xsl:when test="@v='cycling'"/>
1801<xsl:when test="@v='diving'"/>
1802<xsl:when test="@v='dog_racing'"/>
1803<xsl:when test="@v='equestrian'"/>
1804<xsl:when test="@v='football'"/>
1805<xsl:when test="@v='golf'"/>
1806<xsl:when test="@v='gymnastics'"/>
1807<xsl:when test="@v='hockey'"/>
1808<xsl:when test="@v='horse_racing'"/>
1809<xsl:when test="@v='korfball'"/>
1810<xsl:when test="@v='motor'"/>
1811<xsl:when test="@v='multi'"/>
1812<xsl:when test="@v='paddle_tennis'"/>
1813<xsl:when test="@v='paragliding'"/>
1814<xsl:when test="@v='pelota'"/>
1815<xsl:when test="@v='racquet'"/>
1816<xsl:when test="@v='rowing'"/>
1817<xsl:when test="@v='rugby'"/>
1818<xsl:when test="@v='shooting'"/>
1819<xsl:when test="@v='skateboard'"/>
1820<xsl:when test="@v='skating'"/>
1821<xsl:when test="@v='skiing'"/>
1822<xsl:when test="@v='soccer'"/>
1823<xsl:when test="@v='swimming'"/>
1824<xsl:when test="@v='table_tennis'"/>
1825<xsl:when test="@v='team_handball'"/>
1826<xsl:when test="@v='tennis'"/>
1827<xsl:when test="@v='volleyball'"/>
1828<xsl:otherwise>
1829<maplint:result><xsl:value-of select="concat('Value not in map features: ', @k, '=', @v)"/></maplint:result>
1830</xsl:otherwise>
1831</xsl:choose>
1832</xsl:when>
1833<xsl:when test="@k='start_date'">
1834<!-- Value: User defined -->
1835</xsl:when>
1836<xsl:when test="@k='surface'">
1837<xsl:choose>
1838<xsl:when test="@v='asphalt'"/>
1839<xsl:when test="@v='cobblestone'"/>
1840<xsl:when test="@v='concrete'"/>
1841<xsl:when test="@v='dirt'"/>
1842<xsl:when test="@v='earth'"/>
1843<xsl:when test="@v='grass'"/>
1844<xsl:when test="@v='grass_paver'"/>
1845<xsl:when test="@v='gravel'"/>
1846<xsl:when test="@v='ground'"/>
1847<xsl:when test="@v='ice_road'"/>
1848<xsl:when test="@v='metal'"/>
1849<xsl:when test="@v='mud'"/>
1850<xsl:when test="@v='paved'"/>
1851<xsl:when test="@v='paving_stones'"/>
1852<xsl:when test="@v='pebblestone'"/>
1853<xsl:when test="@v='sand'"/>
1854<xsl:when test="@v='unpaved'"/>
1855<xsl:when test="@v='wood'"/>
1856<xsl:otherwise>
1857<maplint:result><xsl:value-of select="concat('Value not in map features: ', @k, '=', @v)"/></maplint:result>
1858</xsl:otherwise>
1859</xsl:choose>
1860</xsl:when>
1861<xsl:when test="@k='tourism'">
1862<xsl:choose>
1863<xsl:when test="@v='alpine_hut'"/>
1864<xsl:when test="@v='artwork'"/>
1865<xsl:when test="@v='attraction'"/>
1866<xsl:when test="@v='camp_site'"/>
1867<xsl:when test="@v='caravan_site'"/>
1868<xsl:when test="@v='chalet'"/>
1869<xsl:when test="@v='museum'"/>
1870<xsl:when test="@v='picnic_site'"/>
1871<xsl:when test="@v='theme_park'"/>
1872<xsl:when test="@v='yes'"/>
1873<xsl:when test="@v='zoo'"/>
1874<!-- Uncomment to output notice about user defined value:
1875<xsl:otherwise>
1876<maplint:result><xsl:value-of select="concat('User defined value: ', @k, '=', @v)" /></maplint:result>
1877</xsl:otherwise>
1878 -->
1879</xsl:choose>
1880</xsl:when>
1881<xsl:when test="@k='tracktype'">
1882<xsl:choose>
1883<xsl:when test="@v='grade1'"/>
1884<xsl:when test="@v='grade2'"/>
1885<xsl:when test="@v='grade3'"/>
1886<xsl:when test="@v='grade4'"/>
1887<xsl:when test="@v='grade5'"/>
1888<xsl:otherwise>
1889<maplint:result><xsl:value-of select="concat('Value not in map features: ', @k, '=', @v)"/></maplint:result>
1890</xsl:otherwise>
1891</xsl:choose>
1892</xsl:when>
1893<xsl:when test="@k='traffic_calming'">
1894<xsl:choose>
1895<xsl:when test="@v='Other Values'"/>
1896<xsl:when test="@v='bump'"/>
1897<xsl:when test="@v='chicane'"/>
1898<xsl:when test="@v='choker'"/>
1899<xsl:when test="@v='cushion'"/>
1900<xsl:when test="@v='hump'"/>
1901<xsl:when test="@v='rumble_strip'"/>
1902<xsl:when test="@v='table'"/>
1903<xsl:when test="@v='yes'"/>
1904<xsl:otherwise>
1905<maplint:result><xsl:value-of select="concat('Value not in map features: ', @k, '=', @v)"/></maplint:result>
1906</xsl:otherwise>
1907</xsl:choose>
1908</xsl:when>
1909<xsl:when test="@k='trail_visibility'">
1910<xsl:choose>
1911<xsl:when test="@v='bad'"/>
1912<xsl:when test="@v='excellent'"/>
1913<xsl:when test="@v='good'"/>
1914<xsl:when test="@v='horrible'"/>
1915<xsl:when test="@v='intermediate'"/>
1916<xsl:when test="@v='no'"/>
1917<xsl:otherwise>
1918<maplint:result><xsl:value-of select="concat('Value not in map features: ', @k, '=', @v)"/></maplint:result>
1919</xsl:otherwise>
1920</xsl:choose>
1921</xsl:when>
1922<xsl:when test="@k='tunnel'">
1923<xsl:choose>
1924<xsl:when test="@v='no'"/>
1925<xsl:when test="@v='yes'"/>
1926<xsl:when test="@v='yes'"/>
1927<xsl:otherwise>
1928<maplint:result><xsl:value-of select="concat('Value not in map features: ', @k, '=', @v)"/></maplint:result>
1929</xsl:otherwise>
1930</xsl:choose>
1931</xsl:when>
1932<xsl:when test="@k='url'">
1933<xsl:choose>
1934<xsl:when test="@v='URL'"/>
1935<xsl:otherwise>
1936<maplint:result><xsl:value-of select="concat('Value not in map features: ', @k, '=', @v)"/></maplint:result>
1937</xsl:otherwise>
1938</xsl:choose>
1939</xsl:when>
1940<xsl:when test="@k='usage'">
1941<xsl:choose>
1942<xsl:when test="@v='branch'"/>
1943<xsl:when test="@v='industrial'"/>
1944<xsl:when test="@v='main'"/>
1945<xsl:when test="@v='military'"/>
1946<xsl:when test="@v='tourism'"/>
1947<xsl:otherwise>
1948<maplint:result><xsl:value-of select="concat('Value not in map features: ', @k, '=', @v)"/></maplint:result>
1949</xsl:otherwise>
1950</xsl:choose>
1951</xsl:when>
1952<xsl:when test="@k='validate:bridge-or-tunnel-without-layer'">
1953<xsl:choose>
1954<xsl:when test="@v='ignore'"/>
1955<xsl:otherwise>
1956<maplint:result><xsl:value-of select="concat('Value not in map features: ', @k, '=', @v)"/></maplint:result>
1957</xsl:otherwise>
1958</xsl:choose>
1959</xsl:when>
1960<xsl:when test="@k='validate:empty-tag-value'">
1961<xsl:choose>
1962<xsl:when test="@v='ignore'"/>
1963<xsl:otherwise>
1964<maplint:result><xsl:value-of select="concat('Value not in map features: ', @k, '=', @v)"/></maplint:result>
1965</xsl:otherwise>
1966</xsl:choose>
1967</xsl:when>
1968<xsl:when test="@k='validate:motorway-without-ref'">
1969<xsl:choose>
1970<xsl:when test="@v='ignore'"/>
1971<xsl:otherwise>
1972<maplint:result><xsl:value-of select="concat('Value not in map features: ', @k, '=', @v)"/></maplint:result>
1973</xsl:otherwise>
1974</xsl:choose>
1975</xsl:when>
1976<xsl:when test="@k='validate:place-of-worship-without-religion'">
1977<xsl:choose>
1978<xsl:when test="@v='ignore'"/>
1979<xsl:otherwise>
1980<maplint:result><xsl:value-of select="concat('Value not in map features: ', @k, '=', @v)"/></maplint:result>
1981</xsl:otherwise>
1982</xsl:choose>
1983</xsl:when>
1984<xsl:when test="@k='validate:poi-without-name'">
1985<xsl:choose>
1986<xsl:when test="@v='ignore'"/>
1987<xsl:otherwise>
1988<maplint:result><xsl:value-of select="concat('Value not in map features: ', @k, '=', @v)"/></maplint:result>
1989</xsl:otherwise>
1990</xsl:choose>
1991</xsl:when>
1992<xsl:when test="@k='validate:residential-without-name'">
1993<xsl:choose>
1994<xsl:when test="@v='ignore'"/>
1995<xsl:otherwise>
1996<maplint:result><xsl:value-of select="concat('Value not in map features: ', @k, '=', @v)"/></maplint:result>
1997</xsl:otherwise>
1998</xsl:choose>
1999</xsl:when>
2000<xsl:when test="@k='vehicle'">
2001<xsl:choose>
2002<xsl:when test="@v='agricultural'"/>
2003<xsl:when test="@v='delivery'"/>
2004<xsl:when test="@v='designated'"/>
2005<xsl:when test="@v='destination'"/>
2006<xsl:when test="@v='forestry'"/>
2007<xsl:when test="@v='no'"/>
2008<xsl:when test="@v='permissive'"/>
2009<xsl:when test="@v='private'"/>
2010<xsl:when test="@v='unknown'"/>
2011<xsl:when test="@v='yes'"/>
2012<xsl:otherwise>
2013<maplint:result><xsl:value-of select="concat('Value not in map features: ', @k, '=', @v)"/></maplint:result>
2014</xsl:otherwise>
2015</xsl:choose>
2016</xsl:when>
2017<xsl:when test="@k='voltage'">
2018<xsl:choose>
2019<xsl:when test="@v='... 110000, 220000, 380000, 400000 ...'"/>
2020<!-- Uncomment to output notice about user defined value:
2021<xsl:otherwise>
2022<maplint:result><xsl:value-of select="concat('User defined value: ', @k, '=', @v)" /></maplint:result>
2023</xsl:otherwise>
2024 -->
2025</xsl:choose>
2026</xsl:when>
2027<xsl:when test="@k='waterway'">
2028<xsl:choose>
2029<xsl:when test="@v='canal'"/>
2030<xsl:when test="@v='dam'"/>
2031<xsl:when test="@v='dock'"/>
2032<xsl:when test="@v='drain'"/>
2033<xsl:when test="@v='river'"/>
2034<xsl:when test="@v='riverbank'"/>
2035<xsl:when test="@v='stream'"/>
2036<xsl:when test="@v='weir'"/>
2037<!-- Uncomment to output notice about user defined value:
2038<xsl:otherwise>
2039<maplint:result><xsl:value-of select="concat('User defined value: ', @k, '=', @v)" /></maplint:result>
2040</xsl:otherwise>
2041 -->
2042</xsl:choose>
2043</xsl:when>
2044<xsl:when test="@k='website'">
2045<xsl:choose>
2046<xsl:when test="@v='URL'"/>
2047<xsl:otherwise>
2048<maplint:result><xsl:value-of select="concat('Value not in map features: ', @k, '=', @v)"/></maplint:result>
2049</xsl:otherwise>
2050</xsl:choose>
2051</xsl:when>
2052<xsl:when test="@k='wheelchair'">
2053<xsl:choose>
2054<xsl:when test="@v='limited'"/>
2055<xsl:when test="@v='no'"/>
2056<xsl:when test="@v='yes'"/>
2057<xsl:otherwise>
2058<maplint:result><xsl:value-of select="concat('Value not in map features: ', @k, '=', @v)"/></maplint:result>
2059</xsl:otherwise>
2060</xsl:choose>
2061</xsl:when>
2062<xsl:when test="@k='width'">
2063<xsl:choose>
2064<xsl:when test="string(number(@v)) != 'NaN'"/>
2065<xsl:otherwise>
2066<maplint:result><xsl:value-of select="concat('Value not in map features: ', @k, '=', @v)"/></maplint:result>
2067</xsl:otherwise>
2068</xsl:choose>
2069</xsl:when>
2070<xsl:when test="@k='wikipedia'">
2071<xsl:choose>
2072<xsl:when test="@v='URL'"/>
2073<xsl:otherwise>
2074<maplint:result><xsl:value-of select="concat('Value not in map features: ', @k, '=', @v)"/></maplint:result>
2075</xsl:otherwise>
2076</xsl:choose>
2077</xsl:when>
2078<xsl:when test="@k='wires'">
2079<xsl:choose>
2080<xsl:when test="@v='single, double, triple, quad'"/>
2081<xsl:otherwise>
2082<maplint:result><xsl:value-of select="concat('Value not in map features: ', @k, '=', @v)"/></maplint:result>
2083</xsl:otherwise>
2084</xsl:choose>
2085</xsl:when>
2086<xsl:when test="@k='wood'">
2087<xsl:choose>
2088<xsl:when test="@v='coniferous'"/>
2089<xsl:when test="@v='deciduous'"/>
2090<xsl:when test="@v='mixed'"/>
2091<xsl:otherwise>
2092<maplint:result><xsl:value-of select="concat('Value not in map features: ', @k, '=', @v)"/></maplint:result>
2093</xsl:otherwise>
2094</xsl:choose>
2095</xsl:when>
2096<xsl:otherwise>
2097<maplint:result><xsl:value-of select="concat('Unknown key: ', @k, '=', @v)"/></maplint:result>
2098</xsl:otherwise>
2099</xsl:choose>
2100</xsl:for-each>
2101</maplint:check>
2102<maplint:check data="node" type="application/xsl+xml">
2103<xsl:for-each select="tag">
2104<xsl:choose>
2105<xsl:when test="starts-with(@k, 'tiger:')">
2106</xsl:when>
2107<xsl:when test="starts-with(@k, 'AND_')">
2108</xsl:when>
2109<xsl:when test="starts-with(@k, 'AND:')">
2110</xsl:when>
2111<xsl:when test="starts-with(@k, 'gns:')">
2112</xsl:when>
2113<xsl:when test="starts-with(@k, 'massgis:')">
2114</xsl:when>
2115<xsl:when test="starts-with(@k, 'openGeoDB:')">
2116</xsl:when>
2117<xsl:when test="starts-with(@k, 'opengeodb:')">
2118</xsl:when>
2119<xsl:when test="@k='TMC:LocationCode'">
2120<xsl:choose>
2121<xsl:when test="@v='see description'"/>
2122<xsl:otherwise>
2123<maplint:result><xsl:value-of select="concat('Value not in map features: ', @k, '=', @v)"/></maplint:result>
2124</xsl:otherwise>
2125</xsl:choose>
2126</xsl:when>
2127<xsl:when test="@k='addr:city'">
2128<!-- Value: User defined -->
2129</xsl:when>
2130<xsl:when test="@k='addr:country'">
2131<!-- Value: User defined -->
2132</xsl:when>
2133<xsl:when test="@k='addr:housename'">
2134<!-- Value: User defined -->
2135</xsl:when>
2136<xsl:when test="@k='addr:housenumber'">
2137<!-- Value: User defined -->
2138</xsl:when>
2139<xsl:when test="@k='addr:postcode'">
2140<!-- Value: User defined -->
2141</xsl:when>
2142<xsl:when test="@k='addr:street'">
2143<!-- Value: User defined -->
2144</xsl:when>
2145<xsl:when test="@k='aerialway'">
2146<xsl:choose>
2147<xsl:when test="@v='station'"/>
2148<!-- Uncomment to output notice about user defined value:
2149<xsl:otherwise>
2150<maplint:result><xsl:value-of select="concat('User defined value: ', @k, '=', @v)" /></maplint:result>
2151</xsl:otherwise>
2152 -->
2153</xsl:choose>
2154</xsl:when>
2155<xsl:when test="@k='aeroway'">
2156<xsl:choose>
2157<xsl:when test="@v='aerodrome'"/>
2158<xsl:when test="@v='gate'"/>
2159<xsl:when test="@v='helipad'"/>
2160<xsl:when test="@v='terminal'"/>
2161<xsl:when test="@v='windsock'"/>
2162<!-- Uncomment to output notice about user defined value:
2163<xsl:otherwise>
2164<maplint:result><xsl:value-of select="concat('User defined value: ', @k, '=', @v)" /></maplint:result>
2165</xsl:otherwise>
2166 -->
2167</xsl:choose>
2168</xsl:when>
2169<xsl:when test="@k='alt_name'">
2170<!-- Value: User defined -->
2171</xsl:when>
2172<xsl:when test="@k='amenity'">
2173<xsl:choose>
2174<xsl:when test="@v='arts_centre'"/>
2175<xsl:when test="@v='atm'"/>
2176<xsl:when test="@v='baby_hatch'"/>
2177<xsl:when test="@v='bank'"/>
2178<xsl:when test="@v='bbq'"/>
2179<xsl:when test="@v='bench'"/>
2180<xsl:when test="@v='bicycle_parking'"/>
2181<xsl:when test="@v='bicycle_rental'"/>
2182<xsl:when test="@v='biergarten'"/>
2183<xsl:when test="@v='brothel'"/>
2184<xsl:when test="@v='bureau_de_change'"/>
2185<xsl:when test="@v='bus_station'"/>
2186<xsl:when test="@v='cafe'"/>
2187<xsl:when test="@v='car_rental'"/>
2188<xsl:when test="@v='car_sharing'"/>
2189<xsl:when test="@v='cinema'"/>
2190<xsl:when test="@v='college'"/>
2191<xsl:when test="@v='courthouse'"/>
2192<xsl:when test="@v='crematorium'"/>
2193<xsl:when test="@v='dentist'"/>
2194<xsl:when test="@v='doctors'"/>
2195<xsl:when test="@v='drinking_water'"/>
2196<xsl:when test="@v='embassy'"/>
2197<xsl:when test="@v='emergency_phone'"/>
2198<xsl:when test="@v='fast_food'"/>
2199<xsl:when test="@v='ferry_terminal'"/>
2200<xsl:when test="@v='fire_station'"/>
2201<xsl:when test="@v='food_court'"/>
2202<xsl:when test="@v='fountain'"/>
2203<xsl:when test="@v='fuel'"/>
2204<xsl:when test="@v='grave_yard'"/>
2205<xsl:when test="@v='grit_bin'"/>
2206<xsl:when test="@v='hospital'"/>
2207<xsl:when test="@v='hunting_stand'"/>
2208<xsl:when test="@v='kindergarten'"/>
2209<xsl:when test="@v='library'"/>
2210<xsl:when test="@v='nightclub'"/>
2211<xsl:when test="@v='parking'"/>
2212<xsl:when test="@v='pharmacy'"/>
2213<xsl:when test="@v='place_of_worship'"/>
2214<xsl:when test="@v='police'"/>
2215<xsl:when test="@v='post_box'"/>
2216<xsl:when test="@v='post_office'"/>
2217<xsl:when test="@v='prison'"/>
2218<xsl:when test="@v='pub'"/>
2219<xsl:when test="@v='public_building'"/>
2220<xsl:when test="@v='recycling'"/>
2221<xsl:when test="@v='restaurant'"/>
2222<xsl:when test="@v='school'"/>
2223<xsl:when test="@v='shelter'"/>
2224<xsl:when test="@v='stripclub'"/>
2225<xsl:when test="@v='studio'"/>
2226<xsl:when test="@v='taxi'"/>
2227<xsl:when test="@v='telephone'"/>
2228<xsl:when test="@v='theatre'"/>
2229<xsl:when test="@v='toilets'"/>
2230<xsl:when test="@v='townhall'"/>
2231<xsl:when test="@v='university'"/>
2232<xsl:when test="@v='vending_machine'"/>
2233<xsl:when test="@v='veterinary'"/>
2234<xsl:when test="@v='waste_basket'"/>
2235<xsl:when test="@v='waste_disposal'"/>
2236<!-- Uncomment to output notice about user defined value:
2237<xsl:otherwise>
2238<maplint:result><xsl:value-of select="concat('User defined value: ', @k, '=', @v)" /></maplint:result>
2239</xsl:otherwise>
2240 -->
2241</xsl:choose>
2242</xsl:when>
2243<xsl:when test="@k='attribution'">
2244<!-- Value: User defined -->
2245</xsl:when>
2246<xsl:when test="@k='barrier'">
2247<xsl:choose>
2248<xsl:when test="@v='bollard'"/>
2249<xsl:when test="@v='cattle_grid'"/>
2250<xsl:when test="@v='cycle_barrier'"/>
2251<xsl:when test="@v='entrance'"/>
2252<xsl:when test="@v='gate'"/>
2253<xsl:when test="@v='sally_port'"/>
2254<xsl:when test="@v='stile'"/>
2255<xsl:when test="@v='toll_booth'"/>
2256<xsl:otherwise>
2257<maplint:result><xsl:value-of select="concat('Value not in map features: ', @k, '=', @v)"/></maplint:result>
2258</xsl:otherwise>
2259</xsl:choose>
2260</xsl:when>
2261<xsl:when test="@k='bridge'">
2262<xsl:choose>
2263<xsl:when test="@v='aqueduct'"/>
2264<xsl:when test="@v='swing'"/>
2265<xsl:when test="@v='viaduct'"/>
2266<xsl:when test="@v='yes'"/>
2267<!-- Uncomment to output notice about user defined value:
2268<xsl:otherwise>
2269<maplint:result><xsl:value-of select="concat('User defined value: ', @k, '=', @v)" /></maplint:result>
2270</xsl:otherwise>
2271 -->
2272</xsl:choose>
2273</xsl:when>
2274<xsl:when test="@k='charge'">
2275<xsl:choose>
2276<xsl:when test="string(number(@v)) != 'NaN'"/>
2277<xsl:otherwise>
2278<maplint:result><xsl:value-of select="concat('Value not in map features: ', @k, '=', @v)"/></maplint:result>
2279</xsl:otherwise>
2280</xsl:choose>
2281</xsl:when>
2282<xsl:when test="contains(@k, 'name:')">
2283<!-- Value: User defined -->
2284</xsl:when>
2285<xsl:when test="@k='created_by'">
2286<!-- Value: User defined -->
2287</xsl:when>
2288<xsl:when test="@k='crossing'">
2289<xsl:choose>
2290<xsl:when test="@v='no'"/>
2291<xsl:when test="@v='traffic_signals'"/>
2292<xsl:when test="@v='uncontrolled'"/>
2293<xsl:otherwise>
2294<maplint:result><xsl:value-of select="concat('Value not in map features: ', @k, '=', @v)"/></maplint:result>
2295</xsl:otherwise>
2296</xsl:choose>
2297</xsl:when>
2298<xsl:when test="@k='description'">
2299<!-- Value: User defined -->
2300</xsl:when>
2301<xsl:when test="@k='disused'">
2302<xsl:choose>
2303<xsl:when test="@v='yes'"/>
2304<xsl:when test="@v='yes'"/>
2305<xsl:otherwise>
2306<maplint:result><xsl:value-of select="concat('Value not in map features: ', @k, '=', @v)"/></maplint:result>
2307</xsl:otherwise>
2308</xsl:choose>
2309</xsl:when>
2310<xsl:when test="@k='ele'">
2311<xsl:choose>
2312<xsl:when test="string(number(@v)) != 'NaN'"/>
2313<xsl:otherwise>
2314<maplint:result><xsl:value-of select="concat('Value not in map features: ', @k, '=', @v)"/></maplint:result>
2315</xsl:otherwise>
2316</xsl:choose>
2317</xsl:when>
2318<xsl:when test="@k='fixme'">
2319<!-- Value: User defined -->
2320</xsl:when>
2321<xsl:when test="@k='highway'">
2322<xsl:choose>
2323<xsl:when test="@v='bus_stop'"/>
2324<xsl:when test="@v='crossing'"/>
2325<xsl:when test="@v='emergency_access_point'"/>
2326<xsl:when test="@v='ford'"/>
2327<xsl:when test="@v='incline'"/>
2328<xsl:when test="@v='incline_steep'"/>
2329<xsl:when test="@v='mini_roundabout'"/>
2330<xsl:when test="@v='motorway_junction'"/>
2331<xsl:when test="@v='passing_place'"/>
2332<xsl:when test="@v='services'"/>
2333<xsl:when test="@v='speed_camera'"/>
2334<xsl:when test="@v='stop'"/>
2335<xsl:when test="@v='traffic_signals'"/>
2336<xsl:when test="@v='turning_circle'"/>
2337<!-- Uncomment to output notice about user defined value:
2338<xsl:otherwise>
2339<maplint:result><xsl:value-of select="concat('User defined value: ', @k, '=', @v)" /></maplint:result>
2340</xsl:otherwise>
2341 -->
2342</xsl:choose>
2343</xsl:when>
2344<xsl:when test="@k='historic'">
2345<xsl:choose>
2346<xsl:when test="@v='archaeological_site'"/>
2347<xsl:when test="@v='battlefield'"/>
2348<xsl:when test="@v='castle'"/>
2349<xsl:when test="@v='memorial'"/>
2350<xsl:when test="@v='monument'"/>
2351<xsl:when test="@v='ruins'"/>
2352<xsl:when test="@v='wreck'"/>
2353<xsl:when test="@v='yes'"/>
2354<!-- Uncomment to output notice about user defined value:
2355<xsl:otherwise>
2356<maplint:result><xsl:value-of select="concat('User defined value: ', @k, '=', @v)" /></maplint:result>
2357</xsl:otherwise>
2358 -->
2359</xsl:choose>
2360</xsl:when>
2361<xsl:when test="@k='history'">
2362<!-- Value: User defined -->
2363</xsl:when>
2364<xsl:when test="@k='iata'">
2365<!-- Value: User defined -->
2366</xsl:when>
2367<xsl:when test="@k='icao'">
2368<!-- Value: User defined -->
2369</xsl:when>
2370<xsl:when test="@k='image'">
2371<xsl:choose>
2372<xsl:when test="@v='URL'"/>
2373<xsl:otherwise>
2374<maplint:result><xsl:value-of select="concat('Value not in map features: ', @k, '=', @v)"/></maplint:result>
2375</xsl:otherwise>
2376</xsl:choose>
2377</xsl:when>
2378<xsl:when test="@k='incline'">
2379<xsl:choose>
2380<xsl:when test="@v='Number%'"/>
2381<xsl:otherwise>
2382<maplint:result><xsl:value-of select="concat('Value not in map features: ', @k, '=', @v)"/></maplint:result>
2383</xsl:otherwise>
2384</xsl:choose>
2385</xsl:when>
2386<xsl:when test="@k='int_name'">
2387<!-- Value: User defined -->
2388</xsl:when>
2389<xsl:when test="@k='int_ref'">
2390<!-- Value: User defined -->
2391</xsl:when>
2392<xsl:when test="@k='internet_access'">
2393<xsl:choose>
2394<xsl:when test="@v='public'"/>
2395<xsl:when test="@v='service'"/>
2396<xsl:when test="@v='terminal'"/>
2397<xsl:when test="@v='wired'"/>
2398<xsl:when test="@v='wlan'"/>
2399<xsl:otherwise>
2400<maplint:result><xsl:value-of select="concat('Value not in map features: ', @k, '=', @v)"/></maplint:result>
2401</xsl:otherwise>
2402</xsl:choose>
2403</xsl:when>
2404<xsl:when test="@k='is_in'">
2405<!-- Value: User defined -->
2406</xsl:when>
2407<xsl:when test="@k='landuse'">
2408<xsl:choose>
2409<xsl:when test="@v='allotments'"/>
2410<xsl:when test="@v='basin'"/>
2411<xsl:when test="@v='brownfield'"/>
2412<xsl:when test="@v='commercial'"/>
2413<xsl:when test="@v='construction'"/>
2414<xsl:when test="@v='forest'"/>
2415<xsl:when test="@v='greenfield'"/>
2416<xsl:when test="@v='industrial'"/>
2417<xsl:when test="@v='landfill'"/>
2418<xsl:when test="@v='meadow'"/>
2419<xsl:when test="@v='military'"/>
2420<xsl:when test="@v='quarry'"/>
2421<xsl:when test="@v='recreation_ground'"/>
2422<xsl:when test="@v='reservoir'"/>
2423<xsl:when test="@v='residential'"/>
2424<xsl:when test="@v='retail'"/>
2425<xsl:when test="@v='village_green'"/>
2426<xsl:when test="@v='vineyard'"/>
2427<xsl:when test="@v='wood'"/>
2428<!-- Uncomment to output notice about user defined value:
2429<xsl:otherwise>
2430<maplint:result><xsl:value-of select="concat('User defined value: ', @k, '=', @v)" /></maplint:result>
2431</xsl:otherwise>
2432 -->
2433</xsl:choose>
2434</xsl:when>
2435<xsl:when test="@k='leisure'">
2436<xsl:choose>
2437<xsl:when test="@v='common'"/>
2438<xsl:when test="@v='fishing'"/>
2439<xsl:when test="@v='garden'"/>
2440<xsl:when test="@v='golf_course'"/>
2441<xsl:when test="@v='ice_rink'"/>
2442<xsl:when test="@v='marina'"/>
2443<xsl:when test="@v='miniature_golf'"/>
2444<xsl:when test="@v='nature_reserve'"/>
2445<xsl:when test="@v='park'"/>
2446<xsl:when test="@v='pitch'"/>
2447<xsl:when test="@v='playground'"/>
2448<xsl:when test="@v='slipway'"/>
2449<xsl:when test="@v='sports_centre'"/>
2450<xsl:when test="@v='stadium'"/>
2451<xsl:when test="@v='track'"/>
2452<xsl:when test="@v='water_park'"/>
2453<!-- Uncomment to output notice about user defined value:
2454<xsl:otherwise>
2455<maplint:result><xsl:value-of select="concat('User defined value: ', @k, '=', @v)" /></maplint:result>
2456</xsl:otherwise>
2457 -->
2458</xsl:choose>
2459</xsl:when>
2460<xsl:when test="@k='loc_name'">
2461<!-- Value: User defined -->
2462</xsl:when>
2463<xsl:when test="@k='loc_ref'">
2464<!-- Value: User defined -->
2465</xsl:when>
2466<xsl:when test="@k='lock'">
2467<xsl:choose>
2468<xsl:when test="@v='yes'"/>
2469<xsl:otherwise>
2470<maplint:result><xsl:value-of select="concat('Value not in map features: ', @k, '=', @v)"/></maplint:result>
2471</xsl:otherwise>
2472</xsl:choose>
2473</xsl:when>
2474<xsl:when test="@k='man_made'">
2475<xsl:choose>
2476<xsl:when test="@v='beacon'"/>
2477<xsl:when test="@v='crane'"/>
2478<xsl:when test="@v='gasometer'"/>
2479<xsl:when test="@v='lighthouse'"/>
2480<xsl:when test="@v='reservoir_covered'"/>
2481<xsl:when test="@v='surveillance'"/>
2482<xsl:when test="@v='survey_point'"/>
2483<xsl:when test="@v='tower'"/>
2484<xsl:when test="@v='wastewater_plant'"/>
2485<xsl:when test="@v='water_tower'"/>
2486<xsl:when test="@v='water_works'"/>
2487<xsl:when test="@v='watermill'"/>
2488<xsl:when test="@v='windmill'"/>
2489<xsl:when test="@v='works'"/>
2490<!-- Uncomment to output notice about user defined value:
2491<xsl:otherwise>
2492<maplint:result><xsl:value-of select="concat('User defined value: ', @k, '=', @v)" /></maplint:result>
2493</xsl:otherwise>
2494 -->
2495</xsl:choose>
2496</xsl:when>
2497<xsl:when test="@k='military'">
2498<xsl:choose>
2499<xsl:when test="@v='airfield'"/>
2500<xsl:when test="@v='barracks'"/>
2501<xsl:when test="@v='bunker'"/>
2502<xsl:when test="@v='danger_area'"/>
2503<xsl:when test="@v='naval_base'"/>
2504<xsl:when test="@v='range'"/>
2505<!-- Uncomment to output notice about user defined value:
2506<xsl:otherwise>
2507<maplint:result><xsl:value-of select="concat('User defined value: ', @k, '=', @v)" /></maplint:result>
2508</xsl:otherwise>
2509 -->
2510</xsl:choose>
2511</xsl:when>
2512<xsl:when test="@k='motorroad'">
2513<xsl:choose>
2514<xsl:when test="@v='no'"/>
2515<xsl:when test="@v='yes'"/>
2516<xsl:otherwise>
2517<maplint:result><xsl:value-of select="concat('Value not in map features: ', @k, '=', @v)"/></maplint:result>
2518</xsl:otherwise>
2519</xsl:choose>
2520</xsl:when>
2521<xsl:when test="@k='mountain_pass'">
2522<xsl:choose>
2523<xsl:when test="@v='yes'"/>
2524<xsl:otherwise>
2525<maplint:result><xsl:value-of select="concat('Value not in map features: ', @k, '=', @v)"/></maplint:result>
2526</xsl:otherwise>
2527</xsl:choose>
2528</xsl:when>
2529<xsl:when test="@k='name'">
2530<!-- Value: User defined -->
2531</xsl:when>
2532<xsl:when test="@k='nat_name'">
2533<!-- Value: User defined -->
2534</xsl:when>
2535<xsl:when test="@k='nat_ref'">
2536<!-- Value: User defined -->
2537</xsl:when>
2538<xsl:when test="@k='natural'">
2539<xsl:choose>
2540<xsl:when test="@v='bay'"/>
2541<xsl:when test="@v='beach'"/>
2542<xsl:when test="@v='cave_entrance'"/>
2543<xsl:when test="@v='cliff'"/>
2544<xsl:when test="@v='coastline'"/>
2545<xsl:when test="@v='fell'"/>
2546<xsl:when test="@v='glacier'"/>
2547<xsl:when test="@v='heath'"/>
2548<xsl:when test="@v='land'"/>
2549<xsl:when test="@v='marsh'"/>
2550<xsl:when test="@v='mud'"/>
2551<xsl:when test="@v='peak'"/>
2552<xsl:when test="@v='scree'"/>
2553<xsl:when test="@v='scrub'"/>
2554<xsl:when test="@v='spring'"/>
2555<xsl:when test="@v='tree'"/>
2556<xsl:when test="@v='volcano'"/>
2557<xsl:when test="@v='water'"/>
2558<xsl:when test="@v='wetland'"/>
2559<xsl:when test="@v='wood'"/>
2560<!-- Uncomment to output notice about user defined value:
2561<xsl:otherwise>
2562<maplint:result><xsl:value-of select="concat('User defined value: ', @k, '=', @v)" /></maplint:result>
2563</xsl:otherwise>
2564 -->
2565</xsl:choose>
2566</xsl:when>
2567<xsl:when test="@k='noname'">
2568<xsl:choose>
2569<xsl:when test="@v='yes'"/>
2570<xsl:otherwise>
2571<maplint:result><xsl:value-of select="concat('Value not in map features: ', @k, '=', @v)"/></maplint:result>
2572</xsl:otherwise>
2573</xsl:choose>
2574</xsl:when>
2575<xsl:when test="@k='note'">
2576<!-- Value: User defined -->
2577</xsl:when>
2578<xsl:when test="@k='old_name'">
2579<!-- Value: User defined -->
2580</xsl:when>
2581<xsl:when test="@k='old_ref'">
2582<!-- Value: User defined -->
2583</xsl:when>
2584<xsl:when test="@k='opening_hours'">
2585<xsl:choose>
2586<xsl:when test="@v='24/7'"/>
2587<xsl:when test="@v='mo md hh:mm-hh:mm. (read described syntax)'"/>
2588<xsl:otherwise>
2589<maplint:result><xsl:value-of select="concat('Value not in map features: ', @k, '=', @v)"/></maplint:result>
2590</xsl:otherwise>
2591</xsl:choose>
2592</xsl:when>
2593<xsl:when test="@k='operator'">
2594<!-- Value: User defined -->
2595</xsl:when>
2596<xsl:when test="@k='osmarender:render'">
2597<xsl:choose>
2598<xsl:when test="@v='no'"/>
2599<xsl:otherwise>
2600<maplint:result><xsl:value-of select="concat('Value not in map features: ', @k, '=', @v)"/></maplint:result>
2601</xsl:otherwise>
2602</xsl:choose>
2603</xsl:when>
2604<xsl:when test="@k='osmarender:renderName'">
2605<xsl:choose>
2606<xsl:when test="@v='no'"/>
2607<xsl:otherwise>
2608<maplint:result><xsl:value-of select="concat('Value not in map features: ', @k, '=', @v)"/></maplint:result>
2609</xsl:otherwise>
2610</xsl:choose>
2611</xsl:when>
2612<xsl:when test="@k='osmarender:renderRef'">
2613<xsl:choose>
2614<xsl:when test="@v='no'"/>
2615<xsl:otherwise>
2616<maplint:result><xsl:value-of select="concat('Value not in map features: ', @k, '=', @v)"/></maplint:result>
2617</xsl:otherwise>
2618</xsl:choose>
2619</xsl:when>
2620<xsl:when test="@k='place'">
2621<xsl:choose>
2622<xsl:when test="@v='city'"/>
2623<xsl:when test="@v='continent'"/>
2624<xsl:when test="@v='country'"/>
2625<xsl:when test="@v='county'"/>
2626<xsl:when test="@v='hamlet'"/>
2627<xsl:when test="@v='island'"/>
2628<xsl:when test="@v='locality'"/>
2629<xsl:when test="@v='region'"/>
2630<xsl:when test="@v='state'"/>
2631<xsl:when test="@v='suburb'"/>
2632<xsl:when test="@v='town'"/>
2633<xsl:when test="@v='village'"/>
2634<xsl:otherwise>
2635<maplint:result><xsl:value-of select="concat('Value not in map features: ', @k, '=', @v)"/></maplint:result>
2636</xsl:otherwise>
2637</xsl:choose>
2638</xsl:when>
2639<xsl:when test="@k='place_numbers'">
2640<!-- Value: User defined -->
2641</xsl:when>
2642<xsl:when test="@k='population'">
2643<xsl:choose>
2644<xsl:when test="string(number(@v)) != 'NaN'"/>
2645<xsl:otherwise>
2646<maplint:result><xsl:value-of select="concat('Value not in map features: ', @k, '=', @v)"/></maplint:result>
2647</xsl:otherwise>
2648</xsl:choose>
2649</xsl:when>
2650<xsl:when test="@k='postal_code'">
2651<!-- Value: User defined -->
2652</xsl:when>
2653<xsl:when test="@k='power'">
2654<xsl:choose>
2655<xsl:when test="@v='generator'"/>
2656<xsl:when test="@v='station'"/>
2657<xsl:when test="@v='sub_station'"/>
2658<xsl:when test="@v='tower'"/>
2659<xsl:otherwise>
2660<maplint:result><xsl:value-of select="concat('Value not in map features: ', @k, '=', @v)"/></maplint:result>
2661</xsl:otherwise>
2662</xsl:choose>
2663</xsl:when>
2664<xsl:when test="@k='railway'">
2665<xsl:choose>
2666<xsl:when test="@v='buffer_stop'"/>
2667<xsl:when test="@v='crossing'"/>
2668<xsl:when test="@v='halt'"/>
2669<xsl:when test="@v='level_crossing'"/>
2670<xsl:when test="@v='station'"/>
2671<xsl:when test="@v='subway_entrance'"/>
2672<xsl:when test="@v='tram_stop'"/>
2673<xsl:when test="@v='turntable'"/>
2674<!-- Uncomment to output notice about user defined value:
2675<xsl:otherwise>
2676<maplint:result><xsl:value-of select="concat('User defined value: ', @k, '=', @v)" /></maplint:result>
2677</xsl:otherwise>
2678 -->
2679</xsl:choose>
2680</xsl:when>
2681<xsl:when test="@k='ref'">
2682<!-- Value: User defined -->
2683</xsl:when>
2684<xsl:when test="@k='reg_name'">
2685<!-- Value: User defined -->
2686</xsl:when>
2687<xsl:when test="@k='reg_ref'">
2688<!-- Value: User defined -->
2689</xsl:when>
2690<xsl:when test="@k='route'">
2691<!-- Value: User defined -->
2692</xsl:when>
2693<xsl:when test="@k='shop'">
2694<xsl:choose>
2695<xsl:when test="@v='alcohol'"/>
2696<xsl:when test="@v='bakery'"/>
2697<xsl:when test="@v='beverages'"/>
2698<xsl:when test="@v='bicycle'"/>
2699<xsl:when test="@v='books'"/>
2700<xsl:when test="@v='butcher'"/>
2701<xsl:when test="@v='car'"/>
2702<xsl:when test="@v='car_repair'"/>
2703<xsl:when test="@v='chemist'"/>
2704<xsl:when test="@v='clothes'"/>
2705<xsl:when test="@v='computer'"/>
2706<xsl:when test="@v='confectionery'"/>
2707<xsl:when test="@v='convenience'"/>
2708<xsl:when test="@v='department_store'"/>
2709<xsl:when test="@v='doityourself'"/>
2710<xsl:when test="@v='dry_cleaning'"/>
2711<xsl:when test="@v='electronics'"/>
2712<xsl:when test="@v='farm'"/>
2713<xsl:when test="@v='florist'"/>
2714<xsl:when test="@v='funeral_directors'"/>
2715<xsl:when test="@v='furniture'"/>
2716<xsl:when test="@v='garden_centre'"/>
2717<xsl:when test="@v='gift'"/>
2718<xsl:when test="@v='greengrocer'"/>
2719<xsl:when test="@v='hairdresser'"/>
2720<xsl:when test="@v='hardware'"/>
2721<xsl:when test="@v='hifi'"/>
2722<xsl:when test="@v='kiosk'"/>
2723<xsl:when test="@v='laundry'"/>
2724<xsl:when test="@v='mall'"/>
2725<xsl:when test="@v='motorcycle'"/>
2726<xsl:when test="@v='newsagent'"/>
2727<xsl:when test="@v='optician'"/>
2728<xsl:when test="@v='organic'"/>
2729<xsl:when test="@v='outdoor'"/>
2730<xsl:when test="@v='shoes'"/>
2731<xsl:when test="@v='sports'"/>
2732<xsl:when test="@v='stationery'"/>
2733<xsl:when test="@v='supermarket'"/>
2734<xsl:when test="@v='toys'"/>
2735<xsl:when test="@v='travel_agency'"/>
2736<xsl:when test="@v='video'"/>
2737<!-- Uncomment to output notice about user defined value:
2738<xsl:otherwise>
2739<maplint:result><xsl:value-of select="concat('User defined value: ', @k, '=', @v)" /></maplint:result>
2740</xsl:otherwise>
2741 -->
2742</xsl:choose>
2743</xsl:when>
2744<xsl:when test="@k='source'">
2745<xsl:choose>
2746<xsl:when test="@v='extrapolation'"/>
2747<xsl:when test="@v='historical'"/>
2748<xsl:when test="@v='image'"/>
2749<xsl:when test="@v='knowledge'"/>
2750<xsl:when test="@v='survey'"/>
2751<xsl:when test="@v='voice'"/>
2752<!-- Uncomment to output notice about user defined value:
2753<xsl:otherwise>
2754<maplint:result><xsl:value-of select="concat('User defined value: ', @k, '=', @v)" /></maplint:result>
2755</xsl:otherwise>
2756 -->
2757</xsl:choose>
2758</xsl:when>
2759<xsl:when test="@k='source:name'">
2760<!-- Value: User defined -->
2761</xsl:when>
2762<xsl:when test="@k='source:ref'">
2763<!-- Value: User defined -->
2764</xsl:when>
2765<xsl:when test="@k='source_ref'">
2766<!-- Value: User defined -->
2767</xsl:when>
2768<xsl:when test="@k='sport'">
2769<xsl:choose>
2770<xsl:when test="@v='10pin'"/>
2771<xsl:when test="@v='9pin'"/>
2772<xsl:when test="@v='archery'"/>
2773<xsl:when test="@v='athletics'"/>
2774<xsl:when test="@v='australian_football'"/>
2775<xsl:when test="@v='baseball'"/>
2776<xsl:when test="@v='basketball'"/>
2777<xsl:when test="@v='beachvolleyball'"/>
2778<xsl:when test="@v='boules'"/>
2779<xsl:when test="@v='bowls'"/>
2780<xsl:when test="@v='canoe'"/>
2781<xsl:when test="@v='chess'"/>
2782<xsl:when test="@v='climbing'"/>
2783<xsl:when test="@v='cricket'"/>
2784<xsl:when test="@v='cricket_nets'"/>
2785<xsl:when test="@v='croquet'"/>
2786<xsl:when test="@v='cycling'"/>
2787<xsl:when test="@v='diving'"/>
2788<xsl:when test="@v='dog_racing'"/>
2789<xsl:when test="@v='equestrian'"/>
2790<xsl:when test="@v='football'"/>
2791<xsl:when test="@v='golf'"/>
2792<xsl:when test="@v='gymnastics'"/>
2793<xsl:when test="@v='hockey'"/>
2794<xsl:when test="@v='horse_racing'"/>
2795<xsl:when test="@v='korfball'"/>
2796<xsl:when test="@v='motor'"/>
2797<xsl:when test="@v='multi'"/>
2798<xsl:when test="@v='orienteering'"/>
2799<xsl:when test="@v='paddle_tennis'"/>
2800<xsl:when test="@v='paragliding'"/>
2801<xsl:when test="@v='pelota'"/>
2802<xsl:when test="@v='racquet'"/>
2803<xsl:when test="@v='rowing'"/>
2804<xsl:when test="@v='rugby'"/>
2805<xsl:when test="@v='shooting'"/>
2806<xsl:when test="@v='skateboard'"/>
2807<xsl:when test="@v='skating'"/>
2808<xsl:when test="@v='skiing'"/>
2809<xsl:when test="@v='soccer'"/>
2810<xsl:when test="@v='swimming'"/>
2811<xsl:when test="@v='table_tennis'"/>
2812<xsl:when test="@v='team_handball'"/>
2813<xsl:when test="@v='tennis'"/>
2814<xsl:when test="@v='volleyball'"/>
2815<xsl:otherwise>
2816<maplint:result><xsl:value-of select="concat('Value not in map features: ', @k, '=', @v)"/></maplint:result>
2817</xsl:otherwise>
2818</xsl:choose>
2819</xsl:when>
2820<xsl:when test="@k='toll'">
2821<xsl:choose>
2822<xsl:when test="@v='yes'"/>
2823<xsl:otherwise>
2824<maplint:result><xsl:value-of select="concat('Value not in map features: ', @k, '=', @v)"/></maplint:result>
2825</xsl:otherwise>
2826</xsl:choose>
2827</xsl:when>
2828<xsl:when test="@k='tourism'">
2829<xsl:choose>
2830<xsl:when test="@v='alpine_hut'"/>
2831<xsl:when test="@v='artwork'"/>
2832<xsl:when test="@v='attraction'"/>
2833<xsl:when test="@v='camp_site'"/>
2834<xsl:when test="@v='caravan_site'"/>
2835<xsl:when test="@v='chalet'"/>
2836<xsl:when test="@v='guest_house'"/>
2837<xsl:when test="@v='hostel'"/>
2838<xsl:when test="@v='hotel'"/>
2839<xsl:when test="@v='information'"/>
2840<xsl:when test="@v='motel'"/>
2841<xsl:when test="@v='museum'"/>
2842<xsl:when test="@v='picnic_site'"/>
2843<xsl:when test="@v='theme_park'"/>
2844<xsl:when test="@v='viewpoint'"/>
2845<xsl:when test="@v='yes'"/>
2846<xsl:when test="@v='zoo'"/>
2847<!-- Uncomment to output notice about user defined value:
2848<xsl:otherwise>
2849<maplint:result><xsl:value-of select="concat('User defined value: ', @k, '=', @v)" /></maplint:result>
2850</xsl:otherwise>
2851 -->
2852</xsl:choose>
2853</xsl:when>
2854<xsl:when test="@k='traffic_calming'">
2855<xsl:choose>
2856<xsl:when test="@v='Other Values'"/>
2857<xsl:when test="@v='bump'"/>
2858<xsl:when test="@v='chicane'"/>
2859<xsl:when test="@v='choker'"/>
2860<xsl:when test="@v='cushion'"/>
2861<xsl:when test="@v='hump'"/>
2862<xsl:when test="@v='rumble_strip'"/>
2863<xsl:when test="@v='table'"/>
2864<xsl:when test="@v='yes'"/>
2865<xsl:otherwise>
2866<maplint:result><xsl:value-of select="concat('Value not in map features: ', @k, '=', @v)"/></maplint:result>
2867</xsl:otherwise>
2868</xsl:choose>
2869</xsl:when>
2870<xsl:when test="@k='traffic_sign'">
2871<xsl:choose>
2872<xsl:when test="@v='city_limit'"/>
2873<xsl:otherwise>
2874<maplint:result><xsl:value-of select="concat('Value not in map features: ', @k, '=', @v)"/></maplint:result>
2875</xsl:otherwise>
2876</xsl:choose>
2877</xsl:when>
2878<xsl:when test="@k='url'">
2879<xsl:choose>
2880<xsl:when test="@v='URL'"/>
2881<xsl:otherwise>
2882<maplint:result><xsl:value-of select="concat('Value not in map features: ', @k, '=', @v)"/></maplint:result>
2883</xsl:otherwise>
2884</xsl:choose>
2885</xsl:when>
2886<xsl:when test="@k='validate:empty-tag-value'">
2887<xsl:choose>
2888<xsl:when test="@v='ignore'"/>
2889<xsl:otherwise>
2890<maplint:result><xsl:value-of select="concat('Value not in map features: ', @k, '=', @v)"/></maplint:result>
2891</xsl:otherwise>
2892</xsl:choose>
2893</xsl:when>
2894<xsl:when test="@k='validate:place-of-worship-without-religion'">
2895<xsl:choose>
2896<xsl:when test="@v='ignore'"/>
2897<xsl:otherwise>
2898<maplint:result><xsl:value-of select="concat('Value not in map features: ', @k, '=', @v)"/></maplint:result>
2899</xsl:otherwise>
2900</xsl:choose>
2901</xsl:when>
2902<xsl:when test="@k='validate:poi-without-name'">
2903<xsl:choose>
2904<xsl:when test="@v='ignore'"/>
2905<xsl:otherwise>
2906<maplint:result><xsl:value-of select="concat('Value not in map features: ', @k, '=', @v)"/></maplint:result>
2907</xsl:otherwise>
2908</xsl:choose>
2909</xsl:when>
2910<xsl:when test="@k='waterway'">
2911<xsl:choose>
2912<xsl:when test="@v='boatyard'"/>
2913<xsl:when test="@v='dock'"/>
2914<xsl:when test="@v='lock_gate'"/>
2915<xsl:when test="@v='turning_point'"/>
2916<xsl:when test="@v='weir'"/>
2917<!-- Uncomment to output notice about user defined value:
2918<xsl:otherwise>
2919<maplint:result><xsl:value-of select="concat('User defined value: ', @k, '=', @v)" /></maplint:result>
2920</xsl:otherwise>
2921 -->
2922</xsl:choose>
2923</xsl:when>
2924<xsl:when test="@k='website'">
2925<xsl:choose>
2926<xsl:when test="@v='URL'"/>
2927<xsl:otherwise>
2928<maplint:result><xsl:value-of select="concat('Value not in map features: ', @k, '=', @v)"/></maplint:result>
2929</xsl:otherwise>
2930</xsl:choose>
2931</xsl:when>
2932<xsl:when test="@k='wheelchair'">
2933<xsl:choose>
2934<xsl:when test="@v='limited'"/>
2935<xsl:when test="@v='no'"/>
2936<xsl:when test="@v='yes'"/>
2937<xsl:otherwise>
2938<maplint:result><xsl:value-of select="concat('Value not in map features: ', @k, '=', @v)"/></maplint:result>
2939</xsl:otherwise>
2940</xsl:choose>
2941</xsl:when>
2942<xsl:when test="@k='wikipedia'">
2943<xsl:choose>
2944<xsl:when test="@v='URL'"/>
2945<xsl:otherwise>
2946<maplint:result><xsl:value-of select="concat('Value not in map features: ', @k, '=', @v)"/></maplint:result>
2947</xsl:otherwise>
2948</xsl:choose>
2949</xsl:when>
2950<xsl:when test="@k='wood'">
2951<xsl:choose>
2952<xsl:when test="@v='coniferous'"/>
2953<xsl:when test="@v='deciduous'"/>
2954<xsl:when test="@v='mixed'"/>
2955<xsl:otherwise>
2956<maplint:result><xsl:value-of select="concat('Value not in map features: ', @k, '=', @v)"/></maplint:result>
2957</xsl:otherwise>
2958</xsl:choose>
2959</xsl:when>
2960<xsl:otherwise>
2961<maplint:result><xsl:value-of select="concat('Unknown key: ', @k, '=', @v)"/></maplint:result>
2962</xsl:otherwise>
2963</xsl:choose>
2964</xsl:for-each>
2965</maplint:check>
2966</maplint:test>
2967</maplint:tests>
Note: See TracBrowser for help on using the repository browser.