Ticket #9230: presets.xsd

File presets.xsd, 28.1 KB (added by DeeHants, 12 years ago)

pressts schema XSD

Line 
1<?xml version="1.0" encoding="utf-8"?>
2<xs:schema targetNamespace="http://josm.openstreetmap.de/tagging-preset-1.0" attributeFormDefault="unqualified" elementFormDefault="qualified" xmlns="http://josm.openstreetmap.de/tagging-preset-1.0" xmlns:xs="http://www.w3.org/2001/XMLSchema">
3 <!-- See http://josm.openstreetmap.de/wiki/TaggingPresets for more information. -->
4
5 <!--
6Translation and localisation
7
8The fields "name", "text", "display_values" may also be localized (e.g. de.name).
9When translations of equal words but different meanings may conflict, a translation
10context should be specified. Use "name_context", "text_context" or "values_context"
11for this. The context should be a meaningful short description to help translators.
12
13In JOSM internally all "name", "text" and "display_values" are translated when
14no specific translation has been given in XML file. When no "display_values"
15are supplied, then "values" will be treated as "display_values" and translated instead.
16-->
17
18 <!--
19Key/value/item matching
20
21The match attribute allows to change the matching process, i.e., determining whether
22the tags of an OSM object fit into this preset.
23 - none: neutral, i.e., do not consider this item for matching
24 - key: positive if key matches, neutral otherwise
25 - key!: positive if key matches, negative otherwise
26 - keyvalue: positive if key and value matches, negative otherwise
27Note that for a match, at least one positive and no negative is required.
28-->
29
30 <!--
31optional: optional tags, short for "space" plus "label" plus "space"
32 -->
33 <!--
34separator: separator line in menus
35 -->
36 <!--
37item_separator: horizontal separator line between items (in window)
38 -->
39 <!--
40role: type to specify possible roles in relations
41 key: the role name used in relation
42 text: fixed label to display
43 requisite: optional/required (default is "optional")
44 count: how often can the role occur (if not given unlimited number is assumed)
45 type: the data types - way,node,relation,closedway (separated by comma)
46 member_expression: an expression (cf. search dialog) for objects of this role
47 -->
48
49 <xs:element name="presets">
50 <!--
51 presets: For external files <presets> should have following attributes:
52 The fields description, shortdescription and link may also be localized (e.g. de.link)
53 -->
54 <xs:complexType>
55 <xs:sequence>
56 <xs:element maxOccurs="unbounded" name="group" type="group" />
57 </xs:sequence>
58 <xs:attribute name="author" type="xs:string" use="optional" default="">
59 <xs:annotation>
60 <xs:documentation>The author of the preset.</xs:documentation>
61 </xs:annotation>
62 </xs:attribute>
63 <xs:attribute name="version" type="xs:string" use="optional" default="">
64 <xs:annotation>
65 <xs:documentation>A version number of some sort (e.g. creation date).</xs:documentation>
66 </xs:annotation>
67 </xs:attribute>
68 <xs:attribute name="description" type="xs:string" use="optional" default="">
69 <xs:annotation>
70 <xs:documentation>What is your preset meant to be?</xs:documentation>
71 </xs:annotation>
72 </xs:attribute>
73 <xs:attribute name="shortdescription" type="xs:string" use="optional" default="">
74 <xs:annotation>
75 <xs:documentation>Very short description.</xs:documentation>
76 </xs:annotation>
77 </xs:attribute>
78 <xs:attribute name="link" type="xs:anyURI" use="optional" default="">
79 <xs:annotation>
80 <xs:documentation>A link to a helpful website (optional).</xs:documentation>
81 </xs:annotation>
82 </xs:attribute>
83 </xs:complexType>
84 </xs:element>
85
86 <xs:complexType name="group">
87 <xs:annotation>
88 <xs:documentation>A group of items.</xs:documentation>
89 </xs:annotation>
90 <xs:sequence>
91 <xs:choice maxOccurs="unbounded">
92 <xs:element name="group" type="group" />
93 <xs:element name="separator" />
94 <xs:element name="item" type="item" />
95 </xs:choice>
96 </xs:sequence>
97 <xs:attribute name="name" type="xs:string" use="required">
98 <xs:annotation>
99 <xs:documentation>The label text to display.</xs:documentation>
100 </xs:annotation>
101 </xs:attribute>
102 <xs:attribute name="name_context" type="xs:string" use="optional">
103 <xs:annotation>
104 <xs:documentation>The context of the name value for translation purposes.</xs:documentation>
105 </xs:annotation>
106 </xs:attribute>
107 <xs:attribute name="icon" type="xs:string" use="optional">
108 <xs:annotation>
109 <xs:documentation>
110 The icon to display.
111 - Relative to the preset path.
112 - URL's are also supported to allow remote icons (are cached locally).
113 </xs:documentation>
114 </xs:annotation>
115 </xs:attribute>
116 </xs:complexType>
117
118 <xs:complexType name="item">
119 <!--
120 name_template: define custom formatting for OSM primitives
121 see http://josm.openstreetmap.de/wiki/NameTemplate
122 -->
123 <xs:annotation>
124 <xs:documentation>A preset item.</xs:documentation>
125 </xs:annotation>
126 <xs:sequence>
127 <xs:choice maxOccurs="unbounded">
128 <xs:element name="check" type="valueCheck" />
129 <xs:element name="checkgroup" type="valueCheckGroup" />
130 <xs:element name="combo" type="valueCombo" />
131 <xs:element name="label" type="valueLabel" />
132 <xs:element name="link" type="valueLink" />
133 <xs:element name="key" type="valueKey" />
134 <xs:element name="multiselect" type="valueMultiselect" />
135 <xs:element name="space" type="valueSpace" />
136 <xs:element name="text" type="valueText" />
137 <xs:element name="roles">
138 <xs:complexType>
139 <xs:sequence>
140 <xs:element maxOccurs="unbounded" name="role">
141 <xs:complexType>
142 <xs:attribute name="key" type="xs:string" use="required" />
143 <xs:attribute name="text" type="xs:string" use="required" />
144 <xs:attribute name="requisite" type="xs:string" use="required" />
145 <xs:attribute name="type" type="xs:string" use="required" />
146 <xs:attribute name="count" type="xs:unsignedByte" use="optional" />
147 <xs:attribute name="member_expression" type="xs:string" use="optional" />
148 </xs:complexType>
149 </xs:element>
150 </xs:sequence>
151 </xs:complexType>
152 </xs:element>
153 <xs:element name="optional">
154 <xs:complexType>
155 <xs:sequence>
156 <xs:choice maxOccurs="unbounded">
157 <xs:element name="check" type="valueCheck" />
158 <xs:element name="checkgroup" type="valueCheckGroup" />
159 <xs:element name="combo" type="valueCombo" />
160 <xs:element name="label" type="valueLabel" />
161 <xs:element name="multiselect" type="valueMultiselect" />
162 <xs:element name="space" type="valueSpace">
163 </xs:element>
164 <xs:element name="text" type="valueText" />
165 </xs:choice>
166 </xs:sequence>
167 <xs:attribute name="text" type="xs:string" use="optional" default="Optional Attributes:">
168 <xs:annotation>
169 <xs:documentation>The label text to display (defaults to "Optional Attributes:").</xs:documentation>
170 </xs:annotation>
171 </xs:attribute>
172 <xs:attribute name="text_context" type="xs:string" use="optional">
173 <xs:annotation>
174 <xs:documentation>The context of the text value for translation purposes.</xs:documentation>
175 </xs:annotation>
176 </xs:attribute>
177 </xs:complexType>
178 </xs:element>
179 </xs:choice>
180 </xs:sequence>
181 <xs:attribute name="name" type="xs:string" use="required">
182 <xs:annotation>
183 <xs:documentation>The label text to display.</xs:documentation>
184 </xs:annotation>
185 </xs:attribute>
186 <xs:attribute name="name_context" type="xs:string" use="optional">
187 <xs:annotation>
188 <xs:documentation>The context of the name value for translation purposes.</xs:documentation>
189 </xs:annotation>
190 </xs:attribute>
191 <xs:attribute name="icon" type="xs:string" use="optional">
192 <xs:annotation>
193 <xs:documentation>
194 The icon to display.
195 - Relative to the preset path.
196 - URL's are also supported to allow remote icons (are cached locally).
197 </xs:documentation>
198 </xs:annotation>
199 </xs:attribute>
200 <xs:attribute name="type" type="xs:string" use="required">
201 <xs:annotation>
202 <xs:documentation>
203 The data types this item can be applied to.
204 way,node,relation,closedway (separated by commas).
205 </xs:documentation>
206 </xs:annotation>
207 </xs:attribute>
208
209 <xs:attribute name="de.name" type="xs:string" use="optional" />
210 </xs:complexType>
211
212 <xs:complexType name="valueCheck">
213 <xs:annotation>
214 <xs:documentation>A Checkbox (boolean) value.</xs:documentation>
215 </xs:annotation>
216 <xs:attribute name="key" type="xs:string" use="required">
217 <xs:annotation>
218 <xs:documentation>The key to set.</xs:documentation>
219 </xs:annotation>
220 </xs:attribute>
221 <xs:attribute name="text" type="xs:string" use="required">
222 <xs:annotation>
223 <xs:documentation>The label text to display.</xs:documentation>
224 </xs:annotation>
225 </xs:attribute>
226 <xs:attribute name="text_context" type="xs:string" use="optional">
227 <xs:annotation>
228 <xs:documentation>The context of the text value for translation purposes.</xs:documentation>
229 </xs:annotation>
230 </xs:attribute>
231 <xs:attribute name="default" use="optional" default="off">
232 <xs:annotation>
233 <xs:documentation>Default checked state, on/off.</xs:documentation>
234 </xs:annotation>
235 <xs:simpleType>
236 <xs:restriction base="xs:string">
237 <xs:enumeration value="on"/>
238 <xs:enumeration value="off"/>
239 </xs:restriction>
240 </xs:simpleType>
241 </xs:attribute>
242 <xs:attribute name="value_on" type="xs:string" use="optional" default="yes">
243 <xs:annotation>
244 <xs:documentation>The value to set when checked (default is "yes").</xs:documentation>
245 </xs:annotation>
246 </xs:attribute>
247 <xs:attribute name="value_off" type="xs:string" use="optional" default="no">
248 <xs:annotation>
249 <xs:documentation>The value to set when unchecked (default is "no").</xs:documentation>
250 </xs:annotation>
251 </xs:attribute>
252 <xs:attribute name="match" use="optional" default="none">
253 <xs:annotation>
254 <xs:documentation>
255 The key/value matching scheme, none,key,key!,keyvalue.
256 See notes at the top for more information.
257 </xs:documentation>
258 </xs:annotation>
259 <xs:simpleType>
260 <xs:restriction base="xs:string">
261 <xs:enumeration value="none"/>
262 <xs:enumeration value="key"/>
263 <xs:enumeration value="key!"/>
264 <xs:enumeration value="keyvalue"/>
265 </xs:restriction>
266 </xs:simpleType>
267 </xs:attribute>
268 </xs:complexType>
269
270 <xs:complexType name="valueCheckGroup">
271 <xs:annotation>
272 <xs:documentation>A group of check values.</xs:documentation>
273 </xs:annotation>
274 <xs:sequence>
275 <xs:element maxOccurs="unbounded" name="check" type="valueCheck" />
276 </xs:sequence>
277 <xs:attribute name="columns" type="xs:unsignedByte" use="required">
278 <xs:annotation>
279 <xs:documentation>The number of columns.</xs:documentation>
280 </xs:annotation>
281 </xs:attribute>
282 </xs:complexType>
283
284 <xs:complexType name="valueCombo">
285 <xs:annotation>
286 <xs:documentation>A combo box, with multiple choices and possible to enter free form text.</xs:documentation>
287 </xs:annotation>
288 <!--
289 short_descriptions: comma separated list of texts to be displayed below each
290 display_value. (Only if it is not possible to describe
291 the entry in 2-3 words.) Instead of comma separated list
292 instead using values, display_values and short_descriptions, the following form is also supported:
293 <list_entry value="" display_value="" short_description="" icon="" icon_size="" />
294 icon: location of icon
295 icon_size: maximal size of icon. If tag is not setup it is taken default size of icon file
296 editable: allow to add other values as text (default is "true")
297 -->
298 <xs:sequence minOccurs="0">
299 <xs:element maxOccurs="unbounded" name="list_entry">
300 <xs:complexType>
301 <xs:attribute name="value" type="xs:string" use="required" />
302 <xs:attribute name="icon" type="xs:string" use="optional" />
303 <xs:attribute name="short_description" type="xs:string" use="optional" />
304 <xs:attribute name="display_value" type="xs:string" use="optional" />
305 </xs:complexType>
306 </xs:element>
307 </xs:sequence>
308 <xs:attribute name="key" type="xs:string" use="required">
309 <xs:annotation>
310 <xs:documentation>The key to set.</xs:documentation>
311 </xs:annotation>
312 </xs:attribute>
313 <xs:attribute name="text" type="xs:string" use="required">
314 <xs:annotation>
315 <xs:documentation>The label text to display.</xs:documentation>
316 </xs:annotation>
317 </xs:attribute>
318 <xs:attribute name="text_context" type="xs:string" use="optional">
319 <xs:annotation>
320 <xs:documentation>The context of the text value for translation purposes.</xs:documentation>
321 </xs:annotation>
322 </xs:attribute>
323 <xs:attribute name="delimiter" type="xs:string" use="optional" default=",">
324 <xs:annotation>
325 <xs:documentation>
326 Delimiter character that separates values (default: comma).
327 </xs:documentation>
328 </xs:annotation>
329 </xs:attribute>
330 <xs:attribute name="values" type="xs:string" use="optional">
331 <xs:annotation>
332 <xs:documentation>delimiter separated list of values.</xs:documentation>
333 </xs:annotation>
334 </xs:attribute>
335 <xs:attribute name="values_from" type="xs:string" use="optional">
336 <xs:annotation>
337 <xs:documentation>
338 To use instead of "values" if the list of values has to be obtained with a Java method.
339 The method must be of the form: public static String[] getValues();
340 The value must be: "full.package.name.ClassName#methodName".
341 </xs:documentation>
342 </xs:annotation>
343 </xs:attribute>
344 <xs:attribute name="display_values" type="xs:string" use="optional">
345 <xs:annotation>
346 <xs:documentation>
347 delimiter separated list of display values instead of the raw values.
348 Order and number must be equal to values.
349 </xs:documentation>
350 </xs:annotation>
351 </xs:attribute>
352 <xs:attribute name="values_context" type="xs:string" use="optional">
353 <xs:annotation>
354 <xs:documentation>The context of the display_values value for translation purposes.</xs:documentation>
355 </xs:annotation>
356 </xs:attribute>
357 <xs:attribute name="default" type="xs:string" use="optional" default="">
358 <xs:annotation>
359 <xs:documentation>Default string to display (defaults to "").</xs:documentation>
360 </xs:annotation>
361 </xs:attribute>
362 <xs:attribute name="use_last_as_default" use="optional" default="false">
363 <xs:annotation>
364 <xs:documentation>Whether to use the last entered value as the default (default is "false").</xs:documentation>
365 </xs:annotation>
366 <xs:simpleType>
367 <xs:restriction base="xs:string">
368 <xs:enumeration value="true"/>
369 <xs:enumeration value="false"/>
370 <xs:enumeration value="force"/>
371 </xs:restriction>
372 </xs:simpleType>
373 </xs:attribute>
374 <xs:attribute name="length" type="xs:unsignedByte" use="optional">
375 <xs:annotation>
376 <xs:documentation>The maximum length of entered value.</xs:documentation>
377 </xs:annotation>
378 </xs:attribute>
379 <xs:attribute name="match" use="optional" default="none">
380 <xs:annotation>
381 <xs:documentation>
382 The key/value matching scheme, none,key,key!,keyvalue.
383 See notes at the top for more information.
384 </xs:documentation>
385 </xs:annotation>
386 <xs:simpleType>
387 <xs:restriction base="xs:string">
388 <xs:enumeration value="none"/>
389 <xs:enumeration value="key"/>
390 <xs:enumeration value="key!"/>
391 <xs:enumeration value="keyvalue"/>
392 </xs:restriction>
393 </xs:simpleType>
394 </xs:attribute>
395 </xs:complexType>
396
397 <xs:complexType name="valueLabel">
398 <xs:annotation>
399 <xs:documentation>A simple static text label.</xs:documentation>
400 </xs:annotation>
401 <xs:attribute name="text" type="xs:string" use="required">
402 <xs:annotation>
403 <xs:documentation>The label text to display.</xs:documentation>
404 </xs:annotation>
405 </xs:attribute>
406 <xs:attribute name="text_context" type="xs:string" use="optional">
407 <xs:annotation>
408 <xs:documentation>The context of the text value for translation purposes.</xs:documentation>
409 </xs:annotation>
410 </xs:attribute>
411 </xs:complexType>
412
413 <xs:complexType name="valueLink">
414 <xs:annotation>
415 <xs:documentation>
416 A link to the relating map features website.
417 The label text is fixed at "More information about this feature".
418 </xs:documentation>
419 </xs:annotation>
420 <xs:attribute name="href" type="xs:string" use="required">
421 <xs:annotation>
422 <xs:documentation>The URL.</xs:documentation>
423 </xs:annotation>
424 </xs:attribute>
425 <xs:attribute name="ar.href" type="xs:string" use="optional" />
426 <xs:attribute name="az.href" type="xs:string" use="optional" />
427 <xs:attribute name="bg.href" type="xs:string" use="optional" />
428 <xs:attribute name="cs.href" type="xs:string" use="optional" />
429 <xs:attribute name="da.href" type="xs:string" use="optional" />
430 <xs:attribute name="de.href" type="xs:string" use="optional" />
431 <xs:attribute name="es.href" type="xs:string" use="optional" />
432 <xs:attribute name="et.href" type="xs:string" use="optional" />
433 <xs:attribute name="fi.href" type="xs:string" use="optional" />
434 <xs:attribute name="fr.href" type="xs:string" use="optional" />
435 <xs:attribute name="hr.href" type="xs:string" use="optional" />
436 <xs:attribute name="hu.href" type="xs:string" use="optional" />
437 <xs:attribute name="it.href" type="xs:string" use="optional" />
438 <xs:attribute name="ja.href" type="xs:string" use="optional" />
439 <xs:attribute name="ko.href" type="xs:string" use="optional" />
440 <xs:attribute name="no.href" type="xs:string" use="optional" />
441 <xs:attribute name="nl.href" type="xs:string" use="optional" />
442 <xs:attribute name="pl.href" type="xs:string" use="optional" />
443 <xs:attribute name="pt.href" type="xs:string" use="optional" />
444 <xs:attribute name="pt_BR.href" type="xs:string" use="optional" />
445 <xs:attribute name="ro.href" type="xs:string" use="optional" />
446 <xs:attribute name="ru.href" type="xs:string" use="optional" />
447 <xs:attribute name="sv.href" type="xs:string" use="optional" />
448 <xs:attribute name="uk.href" type="xs:string" use="optional" />
449 <xs:attribute name="zh_CN.href" type="xs:string" use="optional" />
450 <xs:attribute name="zh-hans.href" type="xs:string" use="optional" />
451 <xs:attribute name="zh-hant.href" type="xs:string" use="optional" />
452 </xs:complexType>
453
454 <xs:complexType name="valueKey">
455 <xs:annotation>
456 <xs:documentation>A fixed key/value pair to be set.</xs:documentation>
457 </xs:annotation>
458 <xs:attribute name="key" type="xs:string" use="required">
459 <xs:annotation>
460 <xs:documentation>The key to set.</xs:documentation>
461 </xs:annotation>
462 </xs:attribute>
463 <xs:attribute name="value" type="xs:string" use="required">
464 <xs:annotation>
465 <xs:documentation>The value to set.</xs:documentation>
466 </xs:annotation>
467 </xs:attribute>
468 <xs:attribute name="match" use="optional" default="none">
469 <xs:annotation>
470 <xs:documentation>
471 The key/value matching scheme, none,key,key!,keyvalue.
472 See notes at the top for more information.
473 </xs:documentation>
474 </xs:annotation>
475 <xs:simpleType>
476 <xs:restriction base="xs:string">
477 <xs:enumeration value="none"/>
478 <xs:enumeration value="key"/>
479 <xs:enumeration value="key!"/>
480 <xs:enumeration value="keyvalue"/>
481 </xs:restriction>
482 </xs:simpleType>
483 </xs:attribute>
484 </xs:complexType>
485
486 <xs:complexType name="valueMultiselect">
487 <xs:annotation>
488 <xs:documentation>A list of values from which zero or more can be selected.</xs:documentation>
489 </xs:annotation>
490 <!--
491 rows: specify the number of rows to display (default -1)
492 short_descriptions: delimiter-separated list of texts to be displayed below each
493 display_value. (Only if it is not possible to describe
494 the entry in 2-3 words.) Instead of a separated list
495 instead using values, display_values and short_descriptions, the following form is also supported:
496 <list_entry value="" display_value="' short_description="" icon="" icon_size="" />
497 icon: location of icon
498 icon_size: maximal size of icon. If tag is not setup it is taken default size of icon file
499 -->
500 <xs:attribute name="key" type="xs:string" use="required">
501 <xs:annotation>
502 <xs:documentation>The key to set.</xs:documentation>
503 </xs:annotation>
504 </xs:attribute>
505 <xs:attribute name="text" type="xs:string" use="required">
506 <xs:annotation>
507 <xs:documentation>The label text to display.</xs:documentation>
508 </xs:annotation>
509 </xs:attribute>
510 <xs:attribute name="text_context" type="xs:string" use="optional">
511 <xs:annotation>
512 <xs:documentation>The context of the text value for translation purposes.</xs:documentation>
513 </xs:annotation>
514 </xs:attribute>
515 <xs:attribute name="delimiter" type="xs:string" use="optional" default=";">
516 <xs:annotation>
517 <xs:documentation>Delimiter character that separates values (default: semicolon).</xs:documentation>
518 </xs:annotation>
519 </xs:attribute>
520 <xs:attribute name="values" type="xs:string" use="optional">
521 <xs:annotation>
522 <xs:documentation>delimiter separated list of values.</xs:documentation>
523 </xs:annotation>
524 </xs:attribute>
525 <xs:attribute name="values_from" type="xs:string" use="optional">
526 <xs:annotation>
527 <xs:documentation>
528 To use instead of "values" if the list of values has to be obtained with a Java method.
529 The method must be of the form: public static String[] getValues();
530 The value must be: "full.package.name.ClassName#methodName".
531 </xs:documentation>
532 </xs:annotation>
533 </xs:attribute>
534 <xs:attribute name="display_values" type="xs:string" use="optional">
535 <xs:annotation>
536 <xs:documentation>
537 delimiter separated list of display values instead of the raw values.
538 Order and number must be equal to values.
539 </xs:documentation>
540 </xs:annotation>
541 </xs:attribute>
542 <xs:attribute name="values_context" type="xs:string" use="optional">
543 <xs:annotation>
544 <xs:documentation>The context of the display_values value for translation purposes.</xs:documentation>
545 </xs:annotation>
546 </xs:attribute>
547 <xs:attribute name="default" type="xs:string" use="optional" default="">
548 <xs:annotation>
549 <xs:documentation>Default string to display (defaults to "").</xs:documentation>
550 </xs:annotation>
551 </xs:attribute>
552 <xs:attribute name="use_last_as_default" use="optional" default="false">
553 <xs:annotation>
554 <xs:documentation>Whether to use the last entered value as the default (default is "false").</xs:documentation>
555 </xs:annotation>
556 <xs:simpleType>
557 <xs:restriction base="xs:string">
558 <xs:enumeration value="true"/>
559 <xs:enumeration value="false"/>
560 <xs:enumeration value="force"/>
561 </xs:restriction>
562 </xs:simpleType>
563 </xs:attribute>
564 <xs:attribute name="match" use="optional" default="none">
565 <xs:annotation>
566 <xs:documentation>
567 The key/value matching scheme, none,key,key!,keyvalue.
568 See notes at the top for more information.
569 </xs:documentation>
570 </xs:annotation>
571 <xs:simpleType>
572 <xs:restriction base="xs:string">
573 <xs:enumeration value="none"/>
574 <xs:enumeration value="key"/>
575 <xs:enumeration value="key!"/>
576 <xs:enumeration value="keyvalue"/>
577 </xs:restriction>
578 </xs:simpleType>
579 </xs:attribute>
580 </xs:complexType>
581
582 <xs:complexType name="valueSpace">
583 <xs:annotation>
584 <xs:documentation>An empty line.</xs:documentation>
585 </xs:annotation>
586 </xs:complexType>
587
588 <xs:complexType name="valueText">
589 <xs:annotation>
590 <xs:documentation>A free entry text box.</xs:documentation>
591 </xs:annotation>
592 <xs:attribute name="key" type="xs:string" use="required">
593 <xs:annotation>
594 <xs:documentation>The key to set.</xs:documentation>
595 </xs:annotation>
596 </xs:attribute>
597 <xs:attribute name="text" type="xs:string" use="required">
598 <xs:annotation>
599 <xs:documentation>The label text to display.</xs:documentation>
600 </xs:annotation>
601 </xs:attribute>
602 <xs:attribute name="text_context" type="xs:string" use="optional">
603 <xs:annotation>
604 <xs:documentation>The context of the text value for translation purposes.</xs:documentation>
605 </xs:annotation>
606 </xs:attribute>
607 <xs:attribute name="default" type="xs:string" use="optional" default="">
608 <xs:annotation>
609 <xs:documentation>Default string to display (defaults to "").</xs:documentation>
610 </xs:annotation>
611 </xs:attribute>
612 <xs:attribute name="use_last_as_default" use="optional" default="false">
613 <xs:annotation>
614 <xs:documentation>Whether to use the last entered value as the default (default is "false").</xs:documentation>
615 </xs:annotation>
616 <xs:simpleType>
617 <xs:restriction base="xs:string">
618 <xs:enumeration value="true"/>
619 <xs:enumeration value="false"/>
620 <xs:enumeration value="force"/>
621 </xs:restriction>
622 </xs:simpleType>
623 </xs:attribute>
624 <xs:attribute name="auto_increment" type="xs:string" use="optional" default="">
625 <xs:annotation>
626 <xs:documentation>
627 May contain a comma separated list of integer increments or decrements, e.g. "-2,-1,+1,+2".
628 A button will be shown next to the text field for each value, allowing the user to select auto-increment with the given stepping.
629 auto-increment only happens if the user selects it.
630 Default is no auto-increment.
631 Mutually exclusive with use_last_as_default.
632 </xs:documentation>
633 </xs:annotation>
634 </xs:attribute>
635 <xs:attribute name="length" type="xs:unsignedByte" use="optional">
636 <xs:annotation>
637 <xs:documentation>The maximum length of entered value.</xs:documentation>
638 </xs:annotation>
639 </xs:attribute>
640 <xs:attribute name="match" use="optional" default="none">
641 <xs:annotation>
642 <xs:documentation>
643 The key/value matching scheme, none,key,key!,keyvalue
644 See notes at the top for more information.
645 </xs:documentation>
646 </xs:annotation>
647 <xs:simpleType>
648 <xs:restriction base="xs:string">
649 <xs:enumeration value="none"/>
650 <xs:enumeration value="key"/>
651 <xs:enumeration value="key!"/>
652 <xs:enumeration value="keyvalue"/>
653 </xs:restriction>
654 </xs:simpleType>
655 </xs:attribute>
656 </xs:complexType>
657</xs:schema>