Changeset 11812 in josm for trunk/data/tagging-preset.xsd
- Timestamp:
- 2017-04-01T02:15:29+02:00 (9 years ago)
- File:
-
- 1 edited
-
trunk/data/tagging-preset.xsd (modified) (1 diff)
Legend:
- Unmodified
- Added
- Removed
-
trunk/data/tagging-preset.xsd
r8877 r11812 1 1 <?xml version="1.0" encoding="UTF-8"?> 2 2 <schema xmlns="http://www.w3.org/2001/XMLSchema" targetNamespace="http://josm.openstreetmap.de/tagging-preset-1.0" 3 xmlns:tns="http://josm.openstreetmap.de/tagging-preset-1.0"4 elementFormDefault="qualified">5 6 <!-- Localized attributes (for example de.description are not supported7 by xsd, so every element needs <anyAttribute/> To cover at least some common8 errors, elements have specified prohibited attributes -->9 10 <element name="annotations" type="tns:root" />11 <element name="presets" type="tns:root">12 <unique name="chunk_id">13 <selector xpath=".//tns:chunk"/>14 <field xpath="@id"/>15 </unique>16 <keyref name="chunk_ref" refer="tns:chunk_id">17 <selector xpath=".//tns:reference"/>18 <field xpath="@ref"/>19 </keyref>20 </element>21 22 <complexType name="root">23 <complexContent>24 <extension base="tns:group-parent">25 <attribute name="author" type="string" />26 <attribute name="version" type="string" />27 <attribute name="shortdescription" type="string" />28 <attribute name="description" type="string" />29 <attribute name="link" type="string" />30 <attribute name="baselanguage" type="string" />31 32 <anyAttribute processContents="skip" />33 </extension>34 </complexContent>35 </complexType>36 37 <complexType name="group-parent">38 <sequence>39 <choice minOccurs="1" maxOccurs="unbounded">40 <element name="chunk" type="tns:chunk"/>41 <element name="group" type="tns:group" />42 <element name="item" type="tns:item" />43 <element name="separator" type="tns:separator" />44 </choice>45 </sequence>46 <attribute name="icon" type="string" />47 48 <attribute name="type" use="prohibited" />49 <attribute name="text" use="prohibited" />50 <anyAttribute processContents="skip" />51 </complexType>52 53 <complexType name="group">54 <complexContent>55 <extension base="tns:group-parent">56 <attribute name="name" type="string" use="required" />57 </extension>58 </complexContent>59 </complexType>60 61 <complexType name="separator" />62 63 <complexType name="item">64 <sequence>65 <choice minOccurs="0" maxOccurs="unbounded">66 <group ref="tns:optional_elements" />67 <element name="key" type="tns:key" />68 <element name="optional" type="tns:optional" minOccurs="0" />69 </choice>70 <element name="roles" type="tns:roles" minOccurs="0" maxOccurs="1" />71 </sequence>72 <attribute name="name" type="string" use="required" />73 <attribute name="icon" type="string" />74 <attribute name="type" type="string" />75 <attribute name="name_template" type="string"/>76 <attribute name="name_template_filter" type="string"/>77 <attribute name="preset_name_label" type="boolean"/>78 79 <attribute name="text" use="prohibited" />80 <anyAttribute processContents="skip" />81 </complexType>82 83 <complexType name="optional">84 <group ref="tns:optional_elements" maxOccurs="unbounded" />85 <attribute name="text" type="string" />86 <attribute name="text_context" type="string" />87 </complexType>88 89 <complexType name="chunk">90 <choice minOccurs="1" maxOccurs="1">91 <sequence>92 <choice minOccurs="1" maxOccurs="unbounded">93 <group ref="tns:optional_elements" />94 <element name="key" type="tns:key" />95 <element name="optional" type="tns:optional" minOccurs="0" />96 </choice>97 </sequence>98 <sequence>99 <!-- Cannot use tns:list_elements here because reference is present both in optional_elements and list_elements100 so it violates cos-nonambig: Unique Particle Attribution :101 <group ref="tns:list_elements" minOccurs="1" maxOccurs="unbounded" />-->102 <element name="list_entry" type="tns:list_entry" minOccurs="1" maxOccurs="unbounded" />103 </sequence>104 </choice>105 <attribute name="id" type="ID" use="required" />106 </complexType>107 108 <complexType name="reference">109 <attribute name="ref" type="IDREF" use="required" />110 </complexType>111 112 <group name="optional_elements">113 <choice>114 <element name="label" type="tns:label" />115 <element name="space" type="tns:space" />116 <element name="link" type="tns:link" />117 <element name="preset_link" type="tns:preset_link" />118 <element name="text" type="tns:text" />119 <element name="combo" type="tns:combo" />120 <element name="multiselect" type="tns:multiselect" />121 <element name="checkgroup" type="tns:checkgroup" />122 <element name="check" type="tns:check" />123 <element name="item_separator" type="tns:separator" />124 <element name="reference" type="tns:reference" />125 </choice>126 </group>127 128 <group name="list_elements">129 <choice>130 <element name="list_entry" type="tns:list_entry" />131 <element name="reference" type="tns:reference" />132 </choice>133 </group>134 135 <complexType name="key">136 <attribute name="key" type="string" use="required" />137 <attribute name="value" type="string" />138 <attribute name="match" type="string" />139 </complexType>140 141 <complexType name="link">142 <attribute name="href" type="string" use="required" />143 <attribute name="text" type="string" />144 <attribute name="text_context" type="string" />145 146 <attribute name="name" use="prohibited" />147 <anyAttribute processContents="skip" />148 </complexType>149 150 <complexType name="preset_link">151 <attribute name="preset_name" type="string" use="required" />152 <attribute name="name" use="prohibited" />153 </complexType>154 155 <complexType name="label">156 <attribute name="text" type="string" use="required" />157 <attribute name="text_context" type="string" />158 <attribute name="icon" type="string" />159 <attribute name="icon_size" type="integer" />160 161 <attribute name="name" use="prohibited" />162 <anyAttribute processContents="skip" />163 </complexType>164 165 <complexType name="space" />166 167 <complexType name="text">168 <attribute name="key" type="string" use="required" />169 <attribute name="text" type="string" />170 <attribute name="text_context" type="string" />171 <attribute name="default" type="string" />172 <attribute name="use_last_as_default" type="tns:last_default" />173 <attribute name="auto_increment" type="string" />174 <attribute name="match" type="tns:match" />175 <attribute name="length" type="positiveInteger" />176 <attribute name="alternative_autocomplete_keys" type="string" />177 178 <attribute name="type" use="prohibited" />179 <attribute name="name" use="prohibited" />180 <attribute name="value" use="prohibited" />181 <attribute name="values" use="prohibited" />182 <anyAttribute processContents="skip" />183 </complexType>184 185 <complexType name="list_entry">186 <attribute name="value" type="string" use="required" />187 <attribute name="value_context" type="string" />188 <attribute name="display_value" type="string" />189 <attribute name="short_description" type="string" />190 <attribute name="icon" type="string" />191 <attribute name="icon_size" type="integer" />192 <anyAttribute processContents="skip" />193 </complexType>194 195 <complexType name="combo">196 <!-- use either list_entry's or a combination of values/display_values -->197 <sequence>198 <group ref="tns:list_elements" minOccurs="0" maxOccurs="unbounded" />199 </sequence>200 <attribute name="key" type="string" use="required" />201 <attribute name="text" type="string" />202 <attribute name="text_context" type="string" />203 <attribute name="values" type="string" />204 <attribute name="values_from" type="string" />205 <attribute name="values_context" type="string" />206 <attribute name="values_no_i18n" type="boolean" />207 <attribute name="values_sort" type="boolean" />208 <attribute name="display_values" type="string" />209 <attribute name="values_searchable" type="boolean" />210 <attribute name="default" type="string" />211 <attribute name="use_last_as_default" type="tns:last_default" />212 <attribute name="delimiter" type="string" />213 <attribute name="editable" type="boolean" />214 <attribute name="match" type="tns:match" />215 <attribute name="length" type="positiveInteger" />216 217 <attribute name="type" use="prohibited" />218 <attribute name="value" use="prohibited" />219 <attribute name="name" use="prohibited" />220 <attribute name="delete-if-empty" use="prohibited" />221 <attribute name="display-values" use="prohibited" />222 <anyAttribute processContents="skip" />223 </complexType>224 225 <complexType name="multiselect">226 <!-- use either list_entry's or a combination of values/display_values -->227 <sequence>228 <group ref="tns:list_elements" minOccurs="0" maxOccurs="unbounded" />229 </sequence>230 <attribute name="key" type="string" use="required" />231 <attribute name="text" type="string" />232 <attribute name="text_context" type="string" />233 <attribute name="values" type="string" />234 <attribute name="values_from" type="string" />235 <attribute name="values_context" type="string" />236 <attribute name="display_values" type="string" />237 <attribute name="values_searchable" type="boolean" />238 <attribute name="default" type="string" />239 <attribute name="use_last_as_default" type="tns:last_default" />240 <attribute name="delimiter" type="string" />241 <attribute name="match" type="tns:match" />242 243 <attribute name="type" use="prohibited" />244 <attribute name="value" use="prohibited" />245 <attribute name="name" use="prohibited" />246 <attribute name="delete-if-empty" use="prohibited" />247 <attribute name="display-values" use="prohibited" />248 <anyAttribute processContents="skip" />249 </complexType>250 251 <complexType name="checkgroup">252 <sequence>253 <choice minOccurs="1" maxOccurs="unbounded">254 <element name="check" type="tns:check" />255 </choice>256 </sequence>257 <attribute name="columns" type="positiveInteger" />258 <anyAttribute processContents="skip" />259 </complexType>260 261 <complexType name="check">262 <attribute name="key" type="string" use="required" />263 <attribute name="text" type="string" />264 <attribute name="text_context" type="string" />265 <attribute name="default" type="tns:check_default" />266 <attribute name="value_on" type="string" />267 <attribute name="value_off" type="string" />268 <attribute name="disable_off" type="boolean" />269 <attribute name="match" type="tns:match" />270 271 <attribute name="name" use="prohibited" />272 <attribute name="type" use="prohibited" />273 <attribute name="value" use="prohibited" />274 <anyAttribute processContents="skip" />275 </complexType>276 277 <simpleType name="check_default">278 <restriction base="string">279 <enumeration value="on" />280 <enumeration value="off" />281 </restriction>282 </simpleType>283 284 <simpleType name="last_default">285 <restriction base="string">286 <enumeration value="true" />287 <enumeration value="false" />288 <enumeration value="force" />289 </restriction>290 </simpleType>291 292 <simpleType name="match">293 <restriction base="string">294 <enumeration value="none" />295 <enumeration value="key" />296 <enumeration value="key!" />297 <enumeration value="keyvalue" />3 xmlns:tns="http://josm.openstreetmap.de/tagging-preset-1.0" 4 elementFormDefault="qualified"> 5 6 <!-- Localized attributes (for example de.description are not supported 7 by xsd, so every element needs <anyAttribute/> To cover at least some common 8 errors, elements have specified prohibited attributes --> 9 10 <element name="annotations" type="tns:root" /> 11 <element name="presets" type="tns:root"> 12 <unique name="chunk_id"> 13 <selector xpath=".//tns:chunk"/> 14 <field xpath="@id"/> 15 </unique> 16 <keyref name="chunk_ref" refer="tns:chunk_id"> 17 <selector xpath=".//tns:reference"/> 18 <field xpath="@ref"/> 19 </keyref> 20 </element> 21 22 <complexType name="root"> 23 <complexContent> 24 <extension base="tns:group-parent"> 25 <attribute name="author" type="string" /> 26 <attribute name="version" type="string" /> 27 <attribute name="shortdescription" type="string" /> 28 <attribute name="description" type="string" /> 29 <attribute name="link" type="string" /> 30 <attribute name="baselanguage" type="string" /> 31 32 <anyAttribute processContents="skip" /> 33 </extension> 34 </complexContent> 35 </complexType> 36 37 <complexType name="group-parent"> 38 <sequence> 39 <choice minOccurs="1" maxOccurs="unbounded"> 40 <element name="chunk" type="tns:chunk"/> 41 <element name="group" type="tns:group" /> 42 <element name="item" type="tns:item" /> 43 <element name="separator" type="tns:separator" /> 44 </choice> 45 </sequence> 46 <attribute name="icon" type="string" /> 47 48 <attribute name="type" use="prohibited" /> 49 <attribute name="text" use="prohibited" /> 50 <anyAttribute processContents="skip" /> 51 </complexType> 52 53 <complexType name="group"> 54 <complexContent> 55 <extension base="tns:group-parent"> 56 <attribute name="name" type="string" use="required" /> 57 </extension> 58 </complexContent> 59 </complexType> 60 61 <complexType name="separator" /> 62 63 <complexType name="item"> 64 <sequence> 65 <choice minOccurs="0" maxOccurs="unbounded"> 66 <group ref="tns:optional_elements" /> 67 <element name="key" type="tns:key" /> 68 <element name="optional" type="tns:optional" minOccurs="0" /> 69 </choice> 70 <element name="roles" type="tns:roles" minOccurs="0" maxOccurs="1" /> 71 </sequence> 72 <attribute name="name" type="string" use="required" /> 73 <attribute name="icon" type="string" /> 74 <attribute name="type" type="string" /> 75 <attribute name="name_template" type="string"/> 76 <attribute name="name_template_filter" type="string"/> 77 <attribute name="preset_name_label" type="boolean"/> 78 79 <attribute name="text" use="prohibited" /> 80 <anyAttribute processContents="skip" /> 81 </complexType> 82 83 <complexType name="optional"> 84 <group ref="tns:optional_elements" maxOccurs="unbounded" /> 85 <attribute name="text" type="string" /> 86 <attribute name="text_context" type="string" /> 87 </complexType> 88 89 <complexType name="chunk"> 90 <choice minOccurs="1" maxOccurs="1"> 91 <sequence> 92 <choice minOccurs="1" maxOccurs="unbounded"> 93 <group ref="tns:optional_elements" /> 94 <element name="key" type="tns:key" /> 95 <element name="optional" type="tns:optional" minOccurs="0" /> 96 </choice> 97 </sequence> 98 <sequence> 99 <!-- Cannot use tns:list_elements here because reference is present both in optional_elements and list_elements 100 so it violates cos-nonambig: Unique Particle Attribution : 101 <group ref="tns:list_elements" minOccurs="1" maxOccurs="unbounded" />--> 102 <element name="list_entry" type="tns:list_entry" minOccurs="1" maxOccurs="unbounded" /> 103 </sequence> 104 </choice> 105 <attribute name="id" type="ID" use="required" /> 106 </complexType> 107 108 <complexType name="reference"> 109 <attribute name="ref" type="IDREF" use="required" /> 110 </complexType> 111 112 <group name="optional_elements"> 113 <choice> 114 <element name="label" type="tns:label" /> 115 <element name="space" type="tns:space" /> 116 <element name="link" type="tns:link" /> 117 <element name="preset_link" type="tns:preset_link" /> 118 <element name="text" type="tns:text" /> 119 <element name="combo" type="tns:combo" /> 120 <element name="multiselect" type="tns:multiselect" /> 121 <element name="checkgroup" type="tns:checkgroup" /> 122 <element name="check" type="tns:check" /> 123 <element name="item_separator" type="tns:separator" /> 124 <element name="reference" type="tns:reference" /> 125 </choice> 126 </group> 127 128 <group name="list_elements"> 129 <choice> 130 <element name="list_entry" type="tns:list_entry" /> 131 <element name="reference" type="tns:reference" /> 132 </choice> 133 </group> 134 135 <complexType name="key"> 136 <attribute name="key" type="string" use="required" /> 137 <attribute name="value" type="string" /> 138 <attribute name="match" type="string" /> 139 </complexType> 140 141 <complexType name="link"> 142 <attribute name="href" type="string" use="required" /> 143 <attribute name="text" type="string" /> 144 <attribute name="text_context" type="string" /> 145 146 <attribute name="name" use="prohibited" /> 147 <anyAttribute processContents="skip" /> 148 </complexType> 149 150 <complexType name="preset_link"> 151 <attribute name="preset_name" type="string" use="required" /> 152 <attribute name="name" use="prohibited" /> 153 </complexType> 154 155 <complexType name="label"> 156 <attribute name="text" type="string" use="required" /> 157 <attribute name="text_context" type="string" /> 158 <attribute name="icon" type="string" /> 159 <attribute name="icon_size" type="integer" /> 160 161 <attribute name="name" use="prohibited" /> 162 <anyAttribute processContents="skip" /> 163 </complexType> 164 165 <complexType name="space" /> 166 167 <complexType name="text"> 168 <attribute name="key" type="string" use="required" /> 169 <attribute name="text" type="string" /> 170 <attribute name="text_context" type="string" /> 171 <attribute name="default" type="string" /> 172 <attribute name="use_last_as_default" type="tns:last_default" /> 173 <attribute name="auto_increment" type="string" /> 174 <attribute name="match" type="tns:match" /> 175 <attribute name="length" type="positiveInteger" /> 176 <attribute name="alternative_autocomplete_keys" type="string" /> 177 178 <attribute name="type" use="prohibited" /> 179 <attribute name="name" use="prohibited" /> 180 <attribute name="value" use="prohibited" /> 181 <attribute name="values" use="prohibited" /> 182 <anyAttribute processContents="skip" /> 183 </complexType> 184 185 <complexType name="list_entry"> 186 <attribute name="value" type="string" use="required" /> 187 <attribute name="value_context" type="string" /> 188 <attribute name="display_value" type="string" /> 189 <attribute name="short_description" type="string" /> 190 <attribute name="icon" type="string" /> 191 <attribute name="icon_size" type="integer" /> 192 <anyAttribute processContents="skip" /> 193 </complexType> 194 195 <complexType name="combo"> 196 <!-- use either list_entry's or a combination of values/display_values --> 197 <sequence> 198 <group ref="tns:list_elements" minOccurs="0" maxOccurs="unbounded" /> 199 </sequence> 200 <attribute name="key" type="string" use="required" /> 201 <attribute name="text" type="string" /> 202 <attribute name="text_context" type="string" /> 203 <attribute name="values" type="string" /> 204 <attribute name="values_from" type="string" /> 205 <attribute name="values_context" type="string" /> 206 <attribute name="values_no_i18n" type="boolean" /> 207 <attribute name="values_sort" type="boolean" /> 208 <attribute name="display_values" type="string" /> 209 <attribute name="values_searchable" type="boolean" /> 210 <attribute name="default" type="string" /> 211 <attribute name="use_last_as_default" type="tns:last_default" /> 212 <attribute name="delimiter" type="string" /> 213 <attribute name="editable" type="boolean" /> 214 <attribute name="match" type="tns:match" /> 215 <attribute name="length" type="positiveInteger" /> 216 217 <attribute name="type" use="prohibited" /> 218 <attribute name="value" use="prohibited" /> 219 <attribute name="name" use="prohibited" /> 220 <attribute name="delete-if-empty" use="prohibited" /> 221 <attribute name="display-values" use="prohibited" /> 222 <anyAttribute processContents="skip" /> 223 </complexType> 224 225 <complexType name="multiselect"> 226 <!-- use either list_entry's or a combination of values/display_values --> 227 <sequence> 228 <group ref="tns:list_elements" minOccurs="0" maxOccurs="unbounded" /> 229 </sequence> 230 <attribute name="key" type="string" use="required" /> 231 <attribute name="text" type="string" /> 232 <attribute name="text_context" type="string" /> 233 <attribute name="values" type="string" /> 234 <attribute name="values_from" type="string" /> 235 <attribute name="values_context" type="string" /> 236 <attribute name="display_values" type="string" /> 237 <attribute name="values_searchable" type="boolean" /> 238 <attribute name="default" type="string" /> 239 <attribute name="use_last_as_default" type="tns:last_default" /> 240 <attribute name="delimiter" type="string" /> 241 <attribute name="match" type="tns:match" /> 242 243 <attribute name="type" use="prohibited" /> 244 <attribute name="value" use="prohibited" /> 245 <attribute name="name" use="prohibited" /> 246 <attribute name="delete-if-empty" use="prohibited" /> 247 <attribute name="display-values" use="prohibited" /> 248 <anyAttribute processContents="skip" /> 249 </complexType> 250 251 <complexType name="checkgroup"> 252 <sequence> 253 <choice minOccurs="1" maxOccurs="unbounded"> 254 <element name="check" type="tns:check" /> 255 </choice> 256 </sequence> 257 <attribute name="columns" type="positiveInteger" /> 258 <anyAttribute processContents="skip" /> 259 </complexType> 260 261 <complexType name="check"> 262 <attribute name="key" type="string" use="required" /> 263 <attribute name="text" type="string" /> 264 <attribute name="text_context" type="string" /> 265 <attribute name="default" type="tns:check_default" /> 266 <attribute name="value_on" type="string" /> 267 <attribute name="value_off" type="string" /> 268 <attribute name="disable_off" type="boolean" /> 269 <attribute name="match" type="tns:match" /> 270 271 <attribute name="name" use="prohibited" /> 272 <attribute name="type" use="prohibited" /> 273 <attribute name="value" use="prohibited" /> 274 <anyAttribute processContents="skip" /> 275 </complexType> 276 277 <simpleType name="check_default"> 278 <restriction base="string"> 279 <enumeration value="on" /> 280 <enumeration value="off" /> 281 </restriction> 282 </simpleType> 283 284 <simpleType name="last_default"> 285 <restriction base="string"> 286 <enumeration value="true" /> 287 <enumeration value="false" /> 288 <enumeration value="force" /> 289 </restriction> 290 </simpleType> 291 292 <simpleType name="match"> 293 <restriction base="string"> 294 <enumeration value="none" /> 295 <enumeration value="key" /> 296 <enumeration value="key!" /> 297 <enumeration value="keyvalue" /> 298 298 <enumeration value="keyvalue!" /> 299 </restriction>300 </simpleType>301 302 <complexType name="roles">303 <sequence>304 <element name="role" type="tns:role" minOccurs="1" maxOccurs="unbounded" />305 </sequence>306 </complexType>307 308 <complexType name="role">309 <attribute name="key" type="string" />310 <attribute name="text" type="string" />311 <attribute name="text_context" type="string" />312 <attribute name="requisite" type="tns:role_requisite" />313 <attribute name="type" type="string" />314 <attribute name="count" type="integer" />315 <attribute name="member_expression" type="string" />316 <anyAttribute processContents="skip" />317 </complexType>318 319 <simpleType name="role_requisite">320 <restriction base="string">321 <enumeration value="required" />322 <enumeration value="optional" />323 </restriction>324 </simpleType>299 </restriction> 300 </simpleType> 301 302 <complexType name="roles"> 303 <sequence> 304 <element name="role" type="tns:role" minOccurs="1" maxOccurs="unbounded" /> 305 </sequence> 306 </complexType> 307 308 <complexType name="role"> 309 <attribute name="key" type="string" /> 310 <attribute name="text" type="string" /> 311 <attribute name="text_context" type="string" /> 312 <attribute name="requisite" type="tns:role_requisite" /> 313 <attribute name="type" type="string" /> 314 <attribute name="count" type="integer" /> 315 <attribute name="member_expression" type="string" /> 316 <anyAttribute processContents="skip" /> 317 </complexType> 318 319 <simpleType name="role_requisite"> 320 <restriction base="string"> 321 <enumeration value="required" /> 322 <enumeration value="optional" /> 323 </restriction> 324 </simpleType> 325 325 326 326 </schema>
Note:
See TracChangeset
for help on using the changeset viewer.
