File: tag-mapping.xsd

package info (click to toggle)
mapsforge 0.17.0%2Bdfsg.1-2
  • links: PTS
  • area: main
  • in suites: bookworm
  • size: 40,772 kB
  • sloc: java: 43,307; xml: 6,707; sh: 140; makefile: 23
file content (274 lines) | stat: -rw-r--r-- 12,385 bytes parent folder | download | duplicates (5)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
<?xml version="1.0" encoding="UTF-8"?>
<schema xmlns:tns="http://mapsforge.org/tag-mapping" elementFormDefault="qualified"
    targetNamespace="http://mapsforge.org/tag-mapping" xmlns="http://www.w3.org/2001/XMLSchema">

    <complexType name="osm-tag">
        <annotation>
            <documentation>
                The osm-tag represents an OpenStreetMap tag and may
                refer to either a POI tag or a way tag. The required
                attributes 'key' and 'value' determine the OpenStreetMap
                tag.
                The optional attribute 'zoom-appear' defines the zoom level on
                which the tag is included in the map tile data.
                The optional attribute 'enabled' specifies whether the osm-tag
                is recognized during the map generation process (enabled by
                default) or if it is completely omitted in the map data.
                The optional attribute 'renderable' (enabled by default)
                effectively allows tags to inherit zoom-appear values from
                other tags.
            </documentation>
        </annotation>
        <sequence>
            <element name="zoom-override" maxOccurs="unbounded" minOccurs="0"
                type="tns:simple-tag"></element>
        </sequence>
        <attribute name="key" use="required">
            <annotation>
                <documentation>
                    The key of the OpenStreetMap tag. E.g. 'highway' in
                    the tag 'highway=primary'.
                </documentation>
            </annotation>
            <simpleType>
                <restriction base="string">
                    <minLength value="1"></minLength>
                    <maxLength value="100"></maxLength>
                    <whiteSpace value="collapse"></whiteSpace>
                </restriction>
            </simpleType>
        </attribute>
        <attribute name="value" use="required">
            <annotation>
                <documentation>
                    The value of the OpenStreetMap tag. E.g. 'primary'
                    in the tag 'highway=primary'.
                    If tags have no fixed values, you can use "%f" for float and other
                    numeric values and "%s" for string values. Avoid using the string
                    wildcard, as it causes much overhead. Instead use OSM specific strings.
                    Color strings and hex codes can be declared as numeric values too.
                </documentation>
            </annotation>
            <simpleType>
                <restriction base="string">
                    <maxLength value="100"></maxLength>
                    <minLength value="1"></minLength>
                </restriction>
            </simpleType>
        </attribute>
        <attribute name="zoom-appear" default="17" use="optional">
            <annotation>
                <documentation>
                    The zoom level on which the tag should first appear
                    on the map.
                </documentation>
            </annotation>
            <simpleType>
                <restriction base="int">
                    <minInclusive value="0"></minInclusive>
                    <maxInclusive value="21"></maxInclusive>
                </restriction>
            </simpleType>
        </attribute>
        <attribute name="enabled" default="true" type="boolean" use="optional">
            <annotation>
                <documentation>
                    Enables or Disables the tag in the map generation
                    process.

                    Disabling a tag forces the map writer not to include
                    the OpenStreetMap tag type in the generated map data.
                    Disabling a tag overrides zoom level specific appearance
                    properties of the tag.

                    If the attribute is omitted on an osm-tag element, which
                    is NOT part of a tag-group, this is equivalent to
                    enabled='true'.

                    If the attribute is omitted on a tag element, which IS
                    part of a tag-group, the value of the attribute is
                    derived from the tag-group's 'enabled' attribute value.
                </documentation>
            </annotation>
        </attribute>
        <attribute name="renderable" default="true" type="boolean" use="optional">
            <annotation>
                <documentation>
                    Indicates whether the tag is renderable. Omitting
                    the attribute indicates that the tag is renderable.

                    During the map generation process, the minimum zoom
                    level is calculated on which a way (or POI) is to be
                    included in a tile. The minimum zoom level is derived
                    from the lowest tag's 'zoom-appear' value of all
                    renderable tags assigned to a way (or POI). A non
                    renderable OpenStreetMap tag is not considered while
                    looking for the lowest zoom level.

                    A typical non renderable OpenStreetMap tag is 'access'.
                    A way with a given 'access' value has no useful
                    representation as long as there is no renderable tag
                    present on the same object (e.g. highway). So the minimum
                    zoom level in which the access tag is included, is
                    automatically derived from the renderable tags of the
                    same OpenStreetMap object (here: highway).
                </documentation>
            </annotation>
        </attribute>
        <attribute name="force-polygon-line" default="false" type="boolean">
            <annotation>
                <documentation>
                    Indicates whether a closed polygon should be interpreted
                    as a polyline or area. For example, important for correct
                    clipping if the geometry completely covers a tile.
                </documentation>
            </annotation>
        </attribute>
        <attribute name="label-position" default="false" type="boolean">
            <annotation>
                <documentation>
                    Indicates whether a label position should be calculated
                    for a closed polygon containing specified tag.
                </documentation>
            </annotation>
        </attribute>
        <attribute name="equivalent-values" type="string" use="optional">
            <annotation>
                <documentation>
                    The usage of some tags such as "oneway" is quite
                    inconsistent in the OSM dataset. Expressions such as
                    "oneway=yes", "oneway=1" or oneway="true" are
                    semantically equivalent. This attribute allows to
                    associate these equivalent values to the single
                    canonical value defined in the "value-attribute".
                </documentation>
            </annotation>
        </attribute>
    </complexType>

    <complexType name="tag-group">
        <annotation>
            <documentation>
                A tag-group clusters an arbitrary number of osm-tags. It
                takes the optional boolean attribute 'enabled' which
                allows to specify whether the group of osm-tags is used
                in the map file generation process.
            </documentation>
        </annotation>
        <sequence>
            <element name="osm-tag" maxOccurs="unbounded" minOccurs="1" type="tns:osm-tag">
                <annotation>
                    <documentation>
                        The osm-tag represents an OpenStreetMap tag and
                        may refer to either a POI tag or a way tag.
                    </documentation>
                </annotation>
            </element>
        </sequence>
        <attribute name="enabled" default="true" type="boolean" use="optional">
            <annotation>
                <documentation>
                    Sets the default value of the 'enabled' attribute for
                    all osm-tag elements in this tag-group.

                    Disabling a tag forces the map writer not to include
                    the OpenStreetMap tag type in the generated map data.
                    Disabling a tag overrides zoom level specific appearance
                    of a tag.

                    If the attribute is omitted on a tag-group element,
                    this is equivalent to setting enabled='true'.

                    The 'enabled' value of the tag-group can be overridden
                    by each osm-tag element inside the group
                    (see osm-tag.enabled).
                </documentation>
            </annotation>
        </attribute>
    </complexType>

    <complexType name="tag-mapping">
        <sequence>
            <element name="pois" maxOccurs="unbounded" minOccurs="0" type="tns:tag-group">
                <annotation>
                    <documentation>
                        A group of osm-tags referring to POIs.
                    </documentation>
                </annotation>
            </element>
            <element name="ways" maxOccurs="unbounded" minOccurs="0" type="tns:tag-group">
                <annotation>
                    <documentation>
                        A group of osm-tags referring to ways.
                    </documentation>
                </annotation>
            </element>
        </sequence>
        <attribute name="default-zoom-appear" use="required">
            <annotation>
                <documentation>
                    The default zoom-appear level that is used if the attribute
                    'zoom-appear' is omitted in an osm-tag.
                </documentation>
            </annotation>
            <simpleType>
                <restriction base="int">
                    <minInclusive value="0"></minInclusive>
                    <maxInclusive value="21"></maxInclusive>
                </restriction>
            </simpleType>
        </attribute>
        <attribute name="profile-name" use="required">
            <annotation>
                <documentation>
                    The name of this tag mapping profile. The name is attached
                    to the comment field in the map file.
                </documentation>
            </annotation>
            <simpleType>
                <restriction base="string">
                    <minLength value="3"></minLength>
                    <maxLength value="100"></maxLength>
                    <whiteSpace value="collapse"></whiteSpace>
                </restriction>
            </simpleType>
        </attribute>
    </complexType>

    <element name="tag-mapping" type="tns:tag-mapping">
        <annotation>
            <documentation>
                A tag-mapping specifies which OpenStreetMap tags for POIs and
                ways should be recognized by the map file generator. Mappings
                for POIs and ways may be grouped be using the pois tag or the
                ways tag, respectively.
                A tag-mapping takes as required attributes a
                default-zoom-appear value and a profile name.
                The default-zoom-appear attribute specifies which zoom-appear
                value is attributed to osm-tags which are missing the
                zoom-appear attribute.
                The profile attribute is an arbitrary name that is attached to
                the comment field in the map file.
            </documentation>
        </annotation>
    </element>

    <complexType name="simple-tag">
        <attribute name="key" use="required">
            <simpleType>
                <restriction base="string">
                    <minLength value="1"></minLength>
                    <maxLength value="100"></maxLength>
                </restriction>
            </simpleType>
        </attribute>
        <attribute name="value" use="required">
            <simpleType>
                <restriction base="string">
                    <minLength value="1"></minLength>
                    <maxLength value="100"></maxLength>
                </restriction>
            </simpleType>
        </attribute>
    </complexType>
</schema>