Changes between Version 171 and Version 198 of TaggingPresets
- Timestamp:
- (multiple changes)
Legend:
- Unmodified
- Added
- Removed
- Modified
-
TaggingPresets
v171 v198 1 ''If you want to learn installation steps for presets, see [wikitr:/Help/Preferences/Map#TaggingPresets "Tagging Presets" tab in Preferences > Map Settings]''\\2 ''If you want to use presets or need complete reference of presets see [wikitr:/Presets Presets]''\\3 4 1 [[TranslatedPages]] 5 2 [[PageOutline(2-10,Table of Contents)]] 6 3 4 ''If you want to learn installation steps for presets, see [[JOSMImage(dialogs/propertiesdialog)]] [wikitr:/Help/Preferences/TaggingPresetPreference Tagging Presets] register in [[JOSMImage(preference)]] [wikitr:/Help/Action/Preferences Preferences]'' \\ 5 ''If you want to use presets or need complete reference of presets see [wikitr:/Presets Presets]'' 6 7 ---- 8 7 9 = Tagging Presets = 8 10 JOSM supports distributed tagging presets. This is a XML config file that describes a GUI for entering tags (or properties, annotations, sometimes called map features). … … 16 18 17 19 Example: 18 [[Image(Change 1 object.png,align=right)]] 20 21 [[Image(Change 1 object.png,right,link=,margin-left=15)]] 19 22 20 23 {{{ … … 46 49 <presets>:: 47 50 Has to be the main tag of the file. Supports following attributes 48 * '''xmlns="http://josm.openstreetmap.de/tagging-preset-1.0"'''49 * '''author'''- the name of the author of the preset50 * '''version'''- the version number of the file. For automatic version adjustment of presets managed in this wiki you have to use two internal variables: `[[revision]]` (the latest version number of the wiki page) and `[[date]]` (the date of the last edit), e.g. `version="1.[[revision]]_[[date]]"`.51 * '''description'''(i18n) - description what the file contains52 * '''shortdescription'''(i18n) - very short overview description i.e. the "name" of the preset53 * '''link'''(i18n) - web link to further details (optional)54 * '''icon'''- icon for the whole preset55 * '''baselanguage'''- when the base language is not English, specify it here (using non English preset texts will prevent automatic translation, once it is implemented (#11392))51 * **xmlns="http://josm.openstreetmap.de/tagging-preset-1.0"** 52 * **author** - the name of the author of the preset 53 * **version** - the version number of the file. For automatic version adjustment of presets managed in this wiki you have to use two internal variables: `[[revision]]` (the latest version number of the wiki page) and `[[date]]` (the date of the last edit), e.g. `version="1.[[revision]]_[[date]]"`. 54 * **description** (i18n) - description what the file contains 55 * **shortdescription** (i18n) - very short overview description i.e. the "name" of the preset 56 * **link** (i18n) - web link to further details (optional) 57 * **icon** - icon for the whole preset 58 * **baselanguage** - when the base language is not English, specify it here (using non English preset texts will prevent automatic translation, once it is implemented (#11392)) 56 59 57 60 (i18n) means the values may also be localized (e.g. `de.description`). … … 60 63 ==== Comments ==== 61 64 <!-- this is an example comment -->:: 62 The document can contain embedded comments. 65 The document can contain embedded comments. 63 66 \\ 64 67 65 68 ==== Preset group creation ==== 66 69 <group>:: 67 Used to group items in sub menus. `name` is required, `icon` is optional attribute. 70 Used to group items in sub menus. `name=""` is required, `icon=""` is optional attribute. 68 71 <item>:: 69 Every item is one annotation set to select from. `name` is required, `type` and `preset_name_label` are recommended, `icon ` and `name_template` are optional attributes.72 Every item is one annotation set to select from. `name=""` is required, `type=""` and `preset_name_label=""` are recommended, `icon=""`, `name_template=""` and `match_expression=""` are optional attributes. 70 73 <separator />:: 71 Insert a line separator into the menu. 74 Insert a line separator into the menu. 72 75 \\ 73 76 74 77 ==== Preset window layout ==== 75 78 <label />:: 76 Labels are static texts for display. `text` is a required attribute, `icon` and `icon_size` are optional. 79 Labels are static texts for display. `text=""` is a required attribute, `icon=""` and `icon_size=""` are optional. 77 80 <space />:: 78 Add some space (i.e. a newline). 81 Add some space (i.e. a newline). 79 82 <optional>:: 80 Used to group some optional elements of an item. The `text` attribute is optional. If used without `text` then this is equivalent to `<space /><label text="Optional Attributes:" /><space />` 83 Used to group some optional elements of an item. The `text=""` attribute is optional. If used without `text=""` then this is equivalent to `<space /><label text="Optional Attributes:" /><space />` 81 84 <item_separator />:: 82 Add a horizontal separator line between items. 85 Add a horizontal separator line between items. 83 86 <link />:: 84 Specify a web link for this feature or to anything else of use. Either the `wiki` (referring to an OSM wiki page, e.g. `"Tag:leisure=park"`) or the `href` (full URL) attribute is required. When the `wiki` attribute is used the link points to the wiki page of the language JOSM is set to. If it doesn't exist the English page is shown. 87 Specify a web link for this feature or to anything else of use. Either the `wiki=""` (referring to an OSM wiki page, e.g. `"Tag:leisure=park"`) or the `href=""` (full URL) attribute is required. When the `wiki=""` attribute is used the link points to the wiki page of the language JOSM is set to. If it doesn't exist the English page is shown. If using `wiki=""`, the OSM wiki page must not be URL encoded, e.g., it must not be `"Tag:leisure%3Dpark"` and must instead be `"Tag:leisure=park"`. 85 88 <checkgroup>:: 86 To group checks. The `columns` attribute is required. 89 To group checks. The `columns=""` attribute is required. 87 90 <roles>:: 88 This is required around `<role />` and adds the heading ("Available roles role count elements") to the table which is generated by several `<role />`. 91 This is required around `<role />` and adds the heading ("Available roles role count elements") to the table which is generated by several `<role />`. 89 92 <role />:: 90 To specify possible roles of members in relations. The `key` attribute is required, `text`, `requisite`, `count`, `type ` and`member_expression` are optional.93 To specify possible roles of members in relations. The `key=""` attribute is required, `text=""`, `requisite=""`, `count=""`, `type=""`, `member_expression=""` and `regexp=""` are optional. 91 94 <preset_link />:: 92 Adds a link to an other preset with a label on top. The `preset_name` attribute is required, `text` to override the label (default is `"Edit also …"`) and `text_context` are optional. A sequence of `<preset_link />` without `text` or a identical `text` value are grouped below one label. **Watch out for presets with identical `name`** as it is not predictable to which preset the link will lead to, see #12716. 95 Adds a link to an other preset with a label on top. The `preset_name=""` attribute is required, `text=""` to override the label (default is `"Edit also …"`) and `text_context=""` are optional. A sequence of `<preset_link />` without `text=""` or a identical `text=""` value are grouped below one label. \\ 96 **Watch out** for presets with identical **`name=""`** as it is not predictable to which preset the link will lead to, see #12716. \\ 97 Having the same tag in both presets does not work, see #18992. \\ 98 Using `<preset_link />` in presets opened from [wikitr:/Help/Dialog/RelationEditor relation editor] produces exceptions, see #20044. 93 99 \\ 94 100 95 101 ==== Set a fixed key value pair ==== 96 102 <key />:: 97 This tag will always set a key to a specific value. `key` is required and if `value` is present, the key will be set. If `value` attribute is omitted, the key is removed. The `match` attribute is optional. 98 \\ 99 100 ==== Attribute entry and selection dialog boxes ==== 103 This tag will always set a key to a specific value. `key=""` is required and if `value=""` is present, the key will be set. If `value=""` attribute is omitted, the key is removed. The `match=""` attribute is optional. 104 \\ 105 106 ==== Attribute entry and selection dialog boxes ====#EntrySelectionBoxes 101 107 <text />:: 102 A text edit field to enter any arbitrary string from the user. `key` is mandatory, `text `, `default`, `use_last_as_default`, `auto_increment`, `length`, `alternative_autocomplete_keys` and `match` isoptional108 A text edit field to enter any arbitrary string from the user. `key=""` is mandatory, `text=""`, `default=""`, `use_last_as_default=""`, `auto_increment=""`, `length=""`, `alternative_autocomplete_keys=""`, `match=""`, `icon=""` and `icon_size=""` (both since r17605) are optional. 103 109 <combo />:: 104 Displays a multiple choice combo box. `key ` and `values` are mandatory, `text`, `default`, `editable`, `delimiter`, `values_from`, `display_values`, `short_descriptions`, `use_last_as_default`, `values_searchable`, `length`, `values_no_i18n`, `values_sort` and `match` isoptional.\\105 If `editable ` is `"true"` (default), combo boxes can be edited as if they were text fields (additional to the drop down menu). Non editable combo boxes can only contain one of the specified values.\\106 If the key is `colour` or `colour:*` or `*:colour`, a color preview and color picker is added on the right (see #8352). 110 Displays a multiple choice combo box. `key=""` and `values=""` are mandatory, `text=""`, `default=""`, `editable=""`, `delimiter=""`, `values_from=""`, `display_values=""`, `short_descriptions=""`, `use_last_as_default=""`, `values_searchable=""`, `length=""`, `values_no_i18n=""`, `values_sort=""`, `match=""`, `icon=""` and `icon_size=""` (both since r17605) are optional.\\ 111 If `editable=""` is `true` (default), combo boxes can be edited as if they were text fields (additional to the drop down menu). Non editable combo boxes can only contain one of the specified values.\\ 112 If the key is `colour` or `colour:*` or `*:colour`, a color preview and color picker is added on the right (see #8352). 107 113 [=#multiselect] 108 114 <multiselect />:: 109 Displays a list from which zero or more items can be chosen. `key ` and `values` are mandatory, and `text`, `default`, `delimiter`, `values_from`, `rows`, `display_values`, `short_descriptions`, `use_last_as_default`, `values_searchable`, `values_no_i18n`, `values_sort` and `match`are optional. The selected values will be concatenated with the specified delimiter (default: semicolon) and written to the tag value. If a tag value has already been set when the preset dialog is opened, the `<multiselect />` will attempt to mark the appropriate items in the list as select. If the tag value cannot be represented by a combination of choices in the list, then the list will be disabled so that the user cannot accidentally overwrite a custom value. In contrast to the `<combo />` element, the `<multiselect />` expects the list of values, descriptions etc. to use the specified delimiter, i.e. by default you will have to use a semicolon. You can specify `delimiter=","` but then a comma will also be used in the tag value.115 Displays a list from which zero or more items can be chosen. `key=""` and `values=""` are mandatory, and `text=""`, `default=""`, `delimiter=""`, `values_from=""`, `rows=""`, `display_values=""`, `short_descriptions=""`, `use_last_as_default=""`, `values_searchable=""`, `values_no_i18n=""`, `values_sort=""`, `match=""`, `icon=""` and `icon_size=""` (both since r17605) are optional. The selected values will be concatenated with the specified delimiter (default: semicolon, `;`) and written to the tag value. If a tag value has already been set when the preset dialog is opened, the `<multiselect />` will attempt to mark the appropriate items in the list as select. If the tag value cannot be represented by a combination of choices in the list, then the list will be disabled so that the user cannot accidentally overwrite a custom value. In contrast to the `<combo />` element, the `<multiselect />` expects the list of values, descriptions etc. to use the specified delimiter, i.e. by default you will have to use a semicolon. You can specify `delimiter=","` but then a comma will also be used in the tag value. 110 116 <list_entry />:: 111 Used in `<combo>` and `<multiselect>`. More information see `short_descriptions `[#short_description below]. The attributes are `value`, `display_value`, `short_description`, `icon` and `icon_size`.117 Used in `<combo>` and `<multiselect>`. More information see `short_descriptions=""`, [#short_description below]. The attributes are `value=""`, `display_value=""`, `short_description=""`, `icon=""` and `icon_size=""`. 112 118 <check />:: 113 A checkbox which the user can select, deselect or set as unset. The `key` attribute is mandatory. `text `, `default`, `match`, `value_on` , `value_off`, `disable_off`, `icon` and `icon_size` (both since r15437) are optional.119 A checkbox which the user can select, deselect or set as unset. The `key=""` attribute is mandatory. `text=""`, `default=""`, `match=""`, `value_on=""` , `value_off=""`, `disable_off=""`, `icon=""` and `icon_size=""` (both since r15437) are optional. 114 120 \\ 115 121 116 122 ==== Templates ==== 117 123 <chunk>:: 118 To define a template of elements for later (repeated) use. The `id` attribute is mandatory. 124 To define a template of elements for later (repeated) use. The `id=""` attribute is mandatory. 119 125 <reference>:: 120 To include an earlier defined template. The `ref` attribute is mandatory. 126 To include an earlier defined template. The `ref=""` attribute is mandatory. 121 127 \\ 122 128 … … 124 130 The attributes of the tags have the following meaning: 125 131 name="a_name":: 126 Specify a name for an item. This name will be used in the GUI to display the tagging preset. 132 Specify a name for an item. This name will be used in the GUI to display the tagging preset. 127 133 name_context="context":: 128 Translation context for name attribute to separate equals words with different meaning (not required for in-file translations). 134 Translation context for name attribute to separate equals words with different meaning (not required for in-file translations). 129 135 type="data_type":: 130 When specified, only objects of the given type will work with this tagging preset. Can be `"node"`, `"way"`, `"closedway"`, `"multipolygon"`, `"relation"` or any comma separated combination of them. Note that `"multipolygon"` is not included in `"relation"`, so if the preset should apply for multipolygons and other relation types, you need to specify both: `"multipolygon,relation"`. Also used in the `<role>` tag to specify which object types are allowed for a specific relation member. 136 When specified, only objects of the given type will work with this tagging preset. Can be `"node"`, `"way"`, `"closedway"`, `"multipolygon"`, `"relation"` or any comma separated combination of them. Note that `"multipolygon"` is not included in `"relation"`, so if the preset should apply for multipolygons and other relation types, you need to specify both: `"multipolygon,relation"`. Also used in the `<role>` tag to specify which object types are allowed for a specific relation member. 131 137 icon="iconname":: 132 A name or link to an icon. The image will be used as icon to display in the selection list and when adding the preset to the toolbar. Icons can also be used in `<item>`, `<label />` and`<list_entry />`.The icon should be quadratic in size. See [wikitr:/Styles#Iconhandling Icon handling] how icons can be specified.138 A name or link to an icon. The image will be used as icon to display in the selection list and when adding the preset to the toolbar. Icons can also be used in `<item>`, `<label />`, plus all [#EntrySelectionBoxes attribute entry and selection dialog boxes] (since r17605, before it was only `<list_entry />` and `<check />`). It is placed in front of `<text />` The icon should be quadratic in size. See [wikitr:/Styles#Iconhandling Icon handling] how icons can be specified. 133 139 icon_size="a number":: 134 The maximal size of an icon in px. If no value is given, default is 16 for `<label />` and the default icon size for `<list_entry />` (in `<combo>` and `<multiselect>`). 140 The maximal size of an icon in px. If no value is given, default is 16 for `<label />` and the default icon size for `<list_entry />` (in `<combo>` and `<multiselect>`). 135 141 key="some_key":: 136 This specifies the property key that will be modified by the item. In case of `<role>` it is the role name used in a relation. 142 This specifies the property key that will be modified by the item. In case of `<role>` it is the role name used in a relation. 137 143 text="Any text":: 138 The description, that will be displayed before (afterin case of `<check />`)the gui element. Also used for `<label>` and `<optional>`.144 The description, that will be displayed before the gui element, (in case of `<check />` after the gui element and the optional icon). Also used for `<label>` and `<optional>`. 139 145 text_context="context":: 140 Translation context for text attribute to separate equals words with different meaning (not required for in-file translations). 146 Translation context for text attribute to separate equals words with different meaning (not required for in-file translations). 141 147 default="default_value":: 142 An explicitly declared default value for the item. This value is ''only'' applied through a preset when the object the preset is applied to has ''zero keys''. 143 If no value for default is specified, no value is set to the key. Used in `<check />`, `<text />`, `<combo />` and `<multiselect />`. 148 An explicitly declared default value for the item. This value is ''only'' applied through a preset when the object the preset is applied to has ''zero keys''. 149 If no value for default is specified, no value is set to the key. Used in `<check />`, `<text />`, `<combo />` and `<multiselect />`. For `<check />` only the values `"on"` and `"off"` are valid. 144 150 values="entry1,entry2,entry3":: 145 A list of entries (for the `<combo />` box and `<multiselect />`). The list has to be separated by commas (for the combo box) or by the specified delimiter (for the multiselect). If a value contains the delimiter, the delimiter may be escaped with a backslash. If a value contains a backslash, it must also be escaped with a backslash. 151 A list of entries (for the `<combo />` box and `<multiselect />`). The list has to be separated by commas (for the combo box) or by the specified delimiter (for the multiselect). If a value contains the delimiter, the delimiter may be escaped with a backslash. If a value contains a backslash, it must also be escaped with a backslash. 146 152 values_from="JAVA code":: 147 To use instead of `values` if the list of values has to be obtained with a Java method of this form: `public static String[] getValues()`; The value must be: "full.package.name.ClassName#methodName". 153 To use instead of `values=""` if the list of values has to be obtained with a Java method of this form: `public static String[] getValues()`; The value must be: "full.package.name.ClassName#methodName". 148 154 values_no_i18n="true|false":: 149 Disables internationalisation for value to avoid mistakes, see #11696. Default is `"false"`. Used in `<combo />` and `<multiselect />`. (Useful e.g. for opening hours or brand names.)150 values_sort="false":: 151 Values of `<combo />` and `<multiselect />` are sorted alphabetic in every language. With this attribute you can disable the alphabetic sorting if the values should keep the given order, see #5509 and #11926. (In the JOSM internal preset this is used e.g. for the keys `tracktype`, `direction`, `network`, `smoothness`, `visibility` or `trail_visibility`.) Default is `"true"`.\\ 152 Users can globally disable sorting with the preference key `taggingpreset.sortvalues`. 155 Disables internationalisation for values to avoid mistakes, see #11696. Default is `"false"`. Used in `<combo />` and `<multiselect />`. (Useful e.g. for keys `opening hours` or `brand`.) Not needed with keys with only numbers as values like `layer` or `level` which are already excluded from translation. 156 values_sort="true|false":: 157 Values of `<combo />` and `<multiselect />` are sorted alphabetic in every language. With this attribute you can disable the alphabetic sorting if the values should keep the given order, see #5509 and #11926. (In the JOSM internal preset this is used e.g. for the keys `tracktype`, `direction`, `network`, `smoothness`, `visibility` or `trail_visibility`.) Default is `"true"`.\\ 158 Users can globally disable sorting with the preference key `taggingpreset.sortvalues`. 153 159 values_context="context":: 154 Translation context for values attribute to separate equals words with different meaning (not required for in-file translations). 160 Translation context for values attribute to separate equals words with different meaning (not required for in-file translations). 155 161 display_values="Entry1,Entry2,Entry3":: 156 A list of entries that is displayed to the user. Must be the same number and order of entries as `values ` and `editable` must be `"false"` or not specified. For the delimiter character and escaping, see the remarks at `values`. Used in `<combo />` and `<multiselect />`.162 A list of entries that is displayed to the user. Must be the same number and order of entries as `values=""` and `editable=""` must be `"false"` or not specified. For the delimiter character and escaping, see the remarks at `values=""`. Used in `<combo />` and `<multiselect />`. 157 163 value="foobar":: 158 Specify a value to be entered in the `<key>` tag. 164 Specify a value to be entered in the `<key>` tag. 159 165 value_on="foobar":: 160 Specify the true value to be entered in the `<key>` tag of a checked `<check />` (default is `"yes"`). 166 Specify the true value to be entered in the `<key>` tag of a checked `<check />` (default is `"yes"`). 161 167 value_off="foobar":: 162 Specify the false value to be entered in the `<key>` tag of a unchecked `<check />` (default is `"no"`). 168 Specify the false value to be entered in the `<key>` tag of a unchecked `<check />` (default is `"no"`). 163 169 disable_off="true":: 164 Whether the off value of a `<check />` is disabled in the dialog, i.e., only unset or `"yes"` are provided. 170 Whether the off value of a `<check />` is disabled in the dialog, i.e., only unset or `"yes"` are provided. 165 171 editable="false":: 166 The combo box is read only, which means that the user can only select an item in the list. Default is `"true"`, which means, the user can add other values as text. **Featureis brokensee #6157**.172 The combo box is read only, which means that the user can only select an item in the list. Default is `"true"`, which means, the user can add other values as text. (Feature was not working properly for a long time but should work again since r18221, see #6157.) 167 173 use_last_as_default="true|false|force":: 168 For `<combo />`, `<multiselect />` or `<text />` fields the last used value is used as default. Using `"force"` enforces this behavior also for already tagged objects. Default is `"false"`. 174 For `<combo />`, `<multiselect />` or `<text />` fields the last used value is used as default. Using `"force"` enforces this behavior also for already tagged objects. Default is `"false"`. 169 175 rows="count":: 170 Specify the number of rows to display in `<multiselect />` entry (if not set, it is auto determined by java or the look and feel and results in e.g. 8). 176 Specify the number of rows to display in `<multiselect />` entry (if not set, it is auto determined by java or the look and feel and results in e.g. 8). 171 177 name_template="template", name_template_filter="search expression":: 172 Custom name formatter for osm primitives matching this preset. See below [[#name_templatedetails]] fordetails.178 Custom name formatter for osm primitives matching this preset. See [#name_templatedetails name template details] below. 173 179 match="none|key|key!|keyvalue|keyvalue!":: 174 Allows to change the matching process, i.e., determining whether the tags of an OSM object fit into this preset. If a preset fits then it is linked in the [wikitr:/Help/Dialog/TagsMembership Tags/Membership dialog]. 175 * `none`: neutral, i.e., do not consider this item for matching 176 * `key`: positive if key matches, neutral otherwise 177 * `key!`: positive if key matches, negative otherwise 178 * `keyvalue`: positive if key and value matches, neutral otherwise 179 * `keyvalue!`: positive if key and value matches, negative otherwise \\ 180 **Note**: For a match, at least one positive and no negative is required. Default is `"keyvalue!"` for `<key>` and `"none"` for `<text />`, `<combo />`, `<multiselect />` and `<check />`. 180 Allows to change the matching process, i.e., determining whether the tags of an OSM object fit into this preset. If a preset fits then it is linked in the [wikitr:/Help/Dialog/TagsMembership Tags/Membership dialog]. 181 * `none`: neutral, i.e., do not consider this item for matching 182 * `key`: positive if key matches, neutral otherwise 183 * `key!`: positive if key matches, negative otherwise 184 * `keyvalue`: positive if key and value matches, neutral otherwise 185 * `keyvalue!`: positive if key and value matches, negative otherwise \\ 186 **Note**: For a match, at least one positive and no negative is required. Default is `"keyvalue!"` for `<key>` and `"none"` for `<text />`, `<combo />`, `<multiselect />` and `<check />`. 187 match_expression="search expression":: 188 additional criteria for matching primitives, specified in [wikitr:/Help/Action/Search JOSM search] syntax. ''(since r17662)'' \\ 189 Quotes (`"`) need to be written as `"`. \\ 190 For instance, a preset with `match_expression="foo=bar"` requires OSM objects to have the tag `foo=bar`. You may want to use the `match_expression=""` to exclude certain OSM objects, e.g. when a more specific preset is present. 181 191 id="unique_identifier":: 182 the unique identifier for this `<chunk>` 192 the unique identifier for this `<chunk>` 183 193 ref="unique_identifier":: 184 the unique identifier of the (already defined) template to include 194 the unique identifier of the (already defined) template to include 185 195 columns="a number":: 186 the number of columns of grouped `<check />` 196 the number of columns of grouped `<check />` 187 197 requisite="optional|required":: 188 If a relation member is optional or required. Default is `"optional"`. 198 If a relation member is optional or required. Default is `"optional"`. 189 199 count="a number":: 190 How often can a role occur (if not given unlimited number is assumed) 191 member_expression="an expression":: 192 an expression (cf. search dialog) for objects of this role 200 How often can a role occur (if not given unlimited number is assumed) 201 member_expression="search expression":: 202 an expression, in [wikitr:/Help/Action/Search JOSM search] syntax, for objects of this role \\ 203 Quotes (`"`) need to be written as `"`. 193 204 regexp="true":: 194 set to `"true"` if the key of a role is a regular expression. This allows variable roles e.g. `<role key="level_-?\d+" text="Building level" regexp="true" requisite="optional" type="relation" />` allows the roles `level_0`, `level_1`,... 205 set to `"true"` if the key of a role is a regular expression. \\ 206 This allows variable roles e.g. `<role key="level_-?\d+" text="Building level" regexp="true" requisite="optional" type="relation" />` allows the roles `level_0`, `level_1`,... 195 207 preset_name="exact_name":: 196 The exact name of the preset to link to. 208 The exact name of the preset to link to. 197 209 preset_name_label="false|true":: 198 Whether to insert "[preset name]" label in dialog (defaults to `"false"` for backward-compatibility on external presets). 210 Whether to insert "[preset name]" label in dialog (defaults to `"false"` for backward-compatibility on external presets). 199 211 length="a number":: 200 The length of a `<text />` or `<combo />` box (number of characters allowed). 212 The length of a `<text />` or `<combo />` box (number of characters allowed). 201 213 alternative_autocomplete_keys="some_key(s)":: 202 A comma separated list of alternative keys to use for auto completion of `<text>`. 214 A comma separated list of alternative keys to use for auto completion of `<text>`. 203 215 auto_increment="-2,-1,+1,+2":: 204 May contain a comma separated list of integer increments or decrements, e.g. `"-2,-1,+1,+2"`. A button will be shown next to the `<text />` field for each value, allowing the user to select auto-increment with the given stepping. Auto-increment only happens if the user selects it. There is also a button to deselect auto-increment. Default is no auto-increment. Mutually exclusive with `use_last_as_default`. 216 May contain a comma separated list of integer increments or decrements, e.g. `"-2,-1,+1,+2"`. A button will be shown next to the `<text />` field for each value, allowing the user to select auto-increment with the given stepping. Auto-increment only happens if the user selects it. There is also a button to deselect auto-increment. Default is no auto-increment. Mutually exclusive with `use_last_as_default=""`. 205 217 delimiter="special character":: 206 The character that separates values. In case of `<combo />` the default is ''comma''. In case of `<multiselect />` the default is ''semicolon'' and this will also be used to separate selected values in the tag. More information see `<multiselect />` [#multiselect above]. 218 The character that separates values. In case of `<combo />` the default is ''comma'' (`,`). In case of `<multiselect />` the default is ''semicolon'' (`;`) and this will also be used to separate selected values in the tag. More information see `<multiselect />`, [#multiselect above]. 207 219 [=#short_description] 208 220 short_descriptions="Entry1,Entry2,Entry3":: 209 A delimiter-separated list of texts to be displayed below each `display_value`. (Only if it is not possible to describe the entry in 2-3 words.) Instead of a comma separated list using `values`, `display_values` and `short_descriptions`, the following form is also supported: `<list_entry value="" display_value="" short_description="" icon="" icon_size="" />` 221 A delimiter-separated list of texts to be displayed below each `display_value=""`. (Only if it is not possible to describe the entry in 2-3 words.) Instead of a comma separated list using `values=""`, `display_values=""` and `short_descriptions=""`, the following form is also supported: \\ 222 `<list_entry value="" display_value="" short_description="" icon="" icon_size="" />` 210 223 values_searchable="true|false":: 211 Whether to search in `<combo />` or `<multiselect />` `(display_)values` when searching for presets. 212 \\ 213 214 ===== name_template details ===== 215 Name templates can be used to define custom formatting for OSM primitives or GPX waypoints (for example in the Relations or the Selection). 224 Whether to search in `values=""` and `display_values=""`, respectively, `value=""` and `display_value=""` of `<combo />` or `<multiselect />` searching for presets. 225 value_template="template":: 226 A template to generate the value automatically based on other tag values of the object. The same syntax as in `name_template=""` is used, [#NameTemplateSyntax see below]. ''(since r17639)'' \\ 227 For instance, `"Bus {ref}: {from} → {to}"` can be used to generate the name of a bus route relation. \\ 228 **Note**: There are some minor problems with this attribute, see #20851 and #20861. 229 \\ 230 231 ===== name_template and value_template details ===== #name_templatedetails 232 Name templates can be used to define custom formatting for OSM primitives or GPX waypoints (for example in the Relations or Selection panels). 216 233 217 234 {{{ … … 226 243 }}} 227 244 228 '''Samples'''245 **Samples** 229 246 ||= Template =||= Tags =||= Result =|| 230 247 || `House number {addr:housenumber}` || `addr:housenumber=10` || House number 10 … … 233 250 || `?{ admin_level = 2 'NUTS 1' | admin_level = 4 'NUTS 2' | admin_level = 6 'NUTS 3' | 'Admin level {admin_level}'}` || `admin_level=4` || NUTS 2 234 251 || || `admin_level=5` || Admin level 5 235 || `{admin_level} - {name} !{parent() type=boundary '?{'(part of {admin_level} - {name})' | ''}'}` || `admin_level=6 name=Vysocina`, member of relation `admin_level=4 name=Jihovychod` || 6 - Vysocina (part of Jihovychod) 252 || `{admin_level} - {name} !{parent() type=boundary '?{'(part of {admin_level} - {name})' | ''}'}` || `admin_level=6 name=Vysocina`, member of relation `admin_level=4 name=Jihovychod` || 6 - Vysocina (part of 4 - Jihovychod) 236 253 || || `admin_level=2 name=Czech republic` (no parents) || 2 - Czech republic 237 254 \\ 238 255 239 ====== Syntax ====== 240 * `{ var}` - use value ofvariable var241 * `?{condition1 'value1' | condition2 'value2 | 'value3'}` - use value1 if condition1 is satisfied, value3 isno condition is satisfied. Condition can be either explicit -the same expression as in search or filters is used- or implicit; the value is used when allvariables used inside exist256 ====== Syntax ======#NameTemplateSyntax 257 * `{tag}` - insert the value of the tag. 258 * `?{condition1 'value1' | condition2 'value2' | 'value3'}` - use ''value1'' if ''condition1'' is satisfied, else use ''value2'' if ''condition2'' is satisfied, finally use ''value3'' if no condition is satisfied. Condition can be either explicit - in [wikitr:/Help/Action/Search JOSM search] syntax - or implicit: The value is used when all tags referenced inside exist. 242 259 * `!{search_expression 'template'}` - search_expression is evaluated and first matching primitive is used as context for template. Useful for example to get tags of parent relation. 260 * `\` - use a backslash to escape special characters '{', '}', '?', '!'. E.g. `What is this\? It is a {type}\!`. 243 261 \\ 244 262 245 263 ====== Available values ====== 246 For formatting of OSM primitives , the value of any tag can be used.You can use`{special:everything}` tosee what values areavailableforyour gpx waypoints.247 248 Some additional variables are available via the special prefix:264 For formatting of OSM primitives, the value of any tag can be used. Use the tag `{special:everything}` to display all available tags, eg. on your gpx waypoints. 265 266 You can also use these virtual tags: 249 267 - `{special:everything}` prints all available values, available for formatting of both primitives and waypoints. 250 - `{special:id}` prints the ID of anosm primitive251 - `{special:localName}` prints the localized name, that is the value of `name:lang` for your language if it is available or the value of the name tagif itdoesn't.268 - `{special:id}` prints the ID of the osm primitive. 269 - `{special:localName}` prints the localized name, that is the value of `name:lang` for your language if it is available, or the value of `name` if it is not. 252 270 \\ 253 271 … … 256 274 257 275 delete_if_empty="true":: 258 was removed in [5155]. You can simply remove this attribute if still used in your preset.276 was removed in r5155. You can simply remove this attribute if still used in your preset. 259 277 required="true":: 260 replaced by `match` since [5155]278 replaced by `match=""` since r5155 261 279 \\ 262 280 263 281 == Translation == 264 To support translations, all textual elements (`name`, `text`, `display_values`) may also be localized. E.g. `de.name` would represent the name in case the German language support is loaded. In the preset code the English term must be the first before possible translations are added. 265 266 In JOSM internally ([source:josm/trunk/resources/data/defaultpresets.xml internal preset]) all `name`, `text` and `display_values` are translated when no specific translation has been given in XML file. When no `display_values` are supplied, then `values` will be treated as `display_values` and translated instead. When translations of equal words but different meanings may conflict, a translation context should be specified. Use `name_context`, `text_context` or `values_context` for this. The context should be a meaningful short description to help translators. 267 268 The translation for the internal preset is done at [https://translations.launchpad.net/josm/trunk Launchpad] (and will probably change to another service in the future, since the Launchpad web interface often produces timeout errors, see #8645). 269 270 The translation of external presets on this website is, so far, only possible inline within the preset source code, see #11392. 282 To support translations, all textual elements (`name=""`, `text=""`, `display_values=""`) can be localized. E.g. `de.name=""` would represent the name when the German language support is loaded. In the preset XML code the English term must be the first, before possible translations can be added. 283 284 === Internal Preset === 285 The translation for the internal preset is done at [https://translations.launchpad.net/josm/trunk Launchpad]. 286 287 In the [source:josm/trunk/resources/data/defaultpresets.xml internal preset], all `name=""`, `text=""` and `display_values=""` are translated via the above service, as long as no specific translation has been given within XML file. When no `display_values=""` are supplied, then `values=""` will be treated as `display_values=""` and translated instead. 288 289 When the same English word has different translations in different contexts, the specific translation context needs to be specified. Use `name_context=""`, `text_context=""` or `values_context=""` for this purpose. The context should be a meaningful short description to help translators. 290 291 === External Presets === 292 293 The translation of external presets on this website is, so far, only possible inline within the preset XML source code, see #11392. 294 295 Presets hosted elsewhere can also add a `data` directory with the JOSM-style {{{.lang}}} files for translation (like in JOSM itself or plugins). 296 297 However, when words are used in the external preset that already exist in the internal preset, the translation from the internal preset applies to the external as well. This is useful as long as the context is the same. When the context in the external preset is different, it needs to be distinguished by adding `name_context=""`, `text_context=""` or `values_context=""`. 271 298 272 299 == Icon handling ==
