Changes between Version 9 and Version 10 of NameTemplate


Ignore:
Timestamp:
2016-11-15T23:26:23+01:00 (7 years ago)
Author:
openstreetmap.org-user-d1g
Comment:

--

Legend:

Unmodified
Added
Removed
Modified
  • NameTemplate

    v9 v10  
    11[[TranslatedPages]]
    2 **Name templates can be used to define custom formatting for OSM primitives or GPX waypoints** (for example in the Relations or the Selection lists).
    3 
    4 = Where to define =
    5 
    6 Create a text file as described below. Then refer to it from [[TaggingPresets]].
    7 
    8 = Configuration file =
    9 The configuration file can look like this:
    10 
    11 
    12 {{{
    13 #!xml
    14 <?xml version="1.0" encoding="UTF-8"?>
    15 <presets>
    16         <item name="Public transportation" type="relation"
    17                 name_template="Bus({operator} {ref} ?{'{from} - {via} - {to}' | '{from} - {to}' | '{from}' | '{to}'})"
    18                 name_template_filter="type=route route=bus">
    19         </item>
    20 </presets>
    21 }}}
    22 
    23 
    24 = Syntax =
    25 * `{var}` - use value of variable var
    26 * `?{condition1 'value1' | condition2 'value2 | 'value3'}` - use value1 if condition1 is satisfied, value3 is no 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 all variables used inside exist
    27 * `!{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.
    28 
    29 = Samples =
    30 ||= Template =||= Tags =||= Result =||
    31 || `House number {addr:housenumber}` || `addr:housenumber=10` || House number 10
    32 || `?{ 'House number {addr:housenumber} at {addr:street}' | 'House number {addr:housenumber}'  }` || `addr:housenumber=10` || House number 10
    33 || || `addr:housenumber=10 addr:street=Abbey road` || House number 10 at Abbey road
    34 || `?{ admin_level = 2 'NUTS 1' | admin_level = 4 'NUTS 2' | admin_level = 6 'NUTS 3' |  'Admin level {admin_level}'}` ||  `admin_level=4` || NUTS 2
    35 || || `admin_level=5` || Admin level 5
    36 || `{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)
    37 || ||  `admin_level=2 name=Czech republic` (no parents) || 2 - Czech republic
    38 
    39 = Available values =
    40 For formatting of OSM primitives , the value of any tag can be used. You can use `{special:everything}` to see what values are available for your gpx waypoints.
    41 
    42 Some additional variables are available  via the special prefix:
    43 - `{special:everything}` prints all available values, available for formatting of both primitives and waypoints.
    44 - `{special:id}` prints the ID of an osm primitive
    45 - `{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 tag if it doesn't.
     2moved to [[TaggingPresets#name_templatedetails]]