Template:Tag

From OpenStreetMap Wiki
Jump to navigation Jump to search

key:subkey=value;another_value;yet_another_value;etcetera

[Edit] [Purge] Template-info.svg Template documentation

This template is used to represent an OpenStreetMap data key or key/value pair. Elements of the content are automatically linked to appropriate wiki pages.

This template is powered by Module:Tag.

Usage

The template can be used in a wide variety of ways. The simplest and most common usages are:

Description Example wikitext Result
A single key {{Tag|highway}} highway=*
A specific key/value pair {{Tag|highway|residential}} highway=residential
A key with a generic, literal value (not hyperlinked) {{Tag|bridge||yes}} bridge=yes
A key with a description of value {{Tag|ref||''ref number''}} ref=ref number

Multipart keys

Some key names can have multiple parts, often associated with key namespaces. One such example is keys associated with addresses: key addr:housenumber=* is used to specify a house number, addr:street=* is used to specify a name of a street, and so on. This template provides a choice of various approaches as to how the various parts of a multipart key are formatted: while the text itself remains the same, how the parts are linked differs.

  • Single link to subkey page
    This approach treats the compound key as a single entity, and links to the wiki page describing that compound key.
    {{Tag|building:fireproof}}
    produces a single link to the Key:building:fireproof wiki page, like so:
    building:fireproof=*
    This approach is most useful where a compound key is described on its own page, such as Key:building:fireproof or Key:addr:flats.
  • Single link to main key page: The following wikitext:
    {{Tag|addr|subkey=housenumber}}
    produces a single link to the main Key:addr wiki page, like so:
    addr:housenumber=*
    This approach is most useful where a collection of subkeys is described on the wiki page of the main key itself, such as Key:addr.
  • Multiple links to main key pages
    {{Tag|oneway|:=bicycle}}
    produces separate links to each of the main wiki pages Key:oneway and Key:bicycle, like so:
    oneway:bicycle=*
    and:
    {{Tag|cycleway|:=right|::=smoothness}}
    produces separate links to each of the main wiki pages Key:cycleway, Key:right and Key:smoothness, like so:
    cycleway:right:smoothness=*
    This approach is most useful where each of the parts of the key is itself a main key, such as oneway:bicycle=*, where Key:oneway and Key:bicycle are both present.

Multiple values

Some keys can have multiple values specified, with each separated by a semicolon. Any number of additional values may be specified with this template, like so:

Example wikitext Result
{{Tag|motor_vehicle|agricultural|;=forestry}} motor_vehicle=agricultural;forestry
{{Tag|access|agricultural|;=forestry|;;=destination}} access=agricultural;forestry;destination

To illustrate in the wiki the presence of different values and link to each values (including the use of {{TagValue}}).

Example wikitext Result
{{Tag|wheelchair||({{TagValue|wheelchair|yes}}/{{TagValue|wheelchair|no}})}} wheelchair=(yes/no)
{{Tag|motor_vehicle||({{TagValue|motor_vehicle|agricultural}}/{{TagValue|motor_vehicle|forestry}})}} motor_vehicle=(agricultural/forestry)
{{Tag|access||({{TagValue|access|agricultural}}/{{TagValue|access|forestry}}/{{TagValue|access|destination}})}} access=(agricultural/forestry/destination)

Default target links to external sites for the values of specific keys

Some keys like wikipedia=*, wikidata=* or website=* may create external links, in that case their value in parameter 3 will be displayed (instead of just displaying an asterisk) along with their specific link according to their value; however when the value is the full URL of a website, unlike other tag values (that are generally short), that value is allowed to wrap when it is too long to fit on a line (this avoids making columns in feature tables to exceed a reasonable maximum width).

Only a few keys recognize this feature:

Example wikitext Result
{{Tag|wikipedia||fr:Paris}} wikipedia=fr:Paris
{{Tag|wikipedia|subkey=fr||Paris}} wikipedia:fr=Paris
{{Tag|wikipedia|subkey=en||Paris}} wikipedia:en=Paris
{{Tag|wikidata||Q90}} wikidata=Q90
{{Tag|operator:wikidata||Q90}} operator:wikidata=Q90
{{Tag|website||http://www.paris.fr/}} website=http://www.paris.fr/

For all other keys, the 3rd parameter is just displayed as is, without trying to convert them to new external links. This feature is also not used when the value is specified in the 2nd parameter (where it is used to generate internal links, if possible).

Linking to non-English pages

While the default action for the template is to link to the same language pages as the current one, it is possible to specify that a different language be used. The kl parameter is used to specify the language of the target of the key link, and the vl to specify the language of the value link. In each case, a standard language code is used.

Where a key contains multiple parts which are linked separately, the kl: parameter specifies the language for the second line, kl:: for the third link, and so on. Where a value contains multiple parts, the vl2 parameter specifies the language for the second link, vl3 for the third link, and so on.

The following examples illustrates this.

Example wikitext Result
{{Tag|kl=de|highway|motorway}} highway=motorway
{{Tag|highway|vl=de|motorway}} highway=motorway
{{Tag|highway|motorway|kl=de|vl=de}} highway=motorway
{{Tag|cycleway|:=right|::=smoothness|excellent|kl=de|kl:=de|kl::=de}} cycleway:right:smoothness=excellent

TemplateData

This is the TemplateData for this template used by VisualEditor.
TemplateData for Tag

Displays key or key=value pair automatically linked to appropriate wiki pages

Template parameters

This template prefers inline formatting of parameters.

ParameterDescriptionTypeStatus
Key1

Main key of the tag (the part before =)

Example
highway
Linerequired
Value2

A documented value of the key (the part after =)

Example
residential
Linesuggested
Freeform value or description3

A description of the value which should not be linked as a value would be; second parameter should be undeclared for this to work.

Lineoptional
Key page languagekl

Language code of the key description page

Example
de
Lineoptional
Value page languagevl

Language code of the value description page

Example
de
Lineoptional
Subkeysubkey subkey1

Key part described on the same page as the main key

Lineoptional
Subkey 2subkey2

Second key part described on the same page as the main key

Lineoptional
Subkey 3subkey3

Third key part described on the same page as the main key

Lineoptional
Subkey 4subkey4

Fourth key part described on the same page as the main key

Lineoptional
Key component 2:

Second key part described on a separate page

Lineoptional
Key component 2 page languagekl:

Language code of the second key part description page

Example
de
Lineoptional
Key component 3::

Third key part described on a separate page

Lineoptional
Key component 3 page languagekl::

Language code of the third key part description page

Example
de
Lineoptional
Key component 4:::

Fourth key part described on a separate page

Lineoptional
Key component 4 page languagekl:::

Language code of the fourth key part description page

Example
de
Lineoptional
Key component 5::::

Fifth key part described on a separate page

Lineoptional
Key component 5 page languagekl::::

Language code of the fifth key part description page

Example
de
Lineoptional
Value 2; subval

Second documented value

Lineoptional
Value 2 page languagevl2

Language code of the second value description page

Example
de
Lineoptional
Value 3;; subval2

Third documented value

Lineoptional
Value 3 page languagevl3

Language code of the third value description page

Example
de
Lineoptional
Value 4;;; subval3

Fourth documented value

Lineoptional
Value 4 page languagevl4

Language code of the fourth value description page

Example
de
Lineoptional
Value 5;;;; subval4

Fifth documented value

Lineoptional
Value 5 page languagevl5

Language code of the fifth value description page

Example
de
Lineoptional
Languagelang

Language code of all the link targets

Example
de
Lineoptional
Disable categorizationnocat

Assigning any value disables the template's category linking behavior

Example
yes
Booleanoptional

See also

  • {{TagKey}} – showing key only
  • {{TagValue}} – for showing only the value
  • {{Value}} – mark with light blue background and after font, looks similar like code
  • {{LL}} – full page name of a specified page translated into the language used in the page currently viewed, similar to this template but for all pages
  • {{Role}} – mark with light blue background and after font, looks similar like code
  • {{Prefix}} – for showing a prefix
  • {{Suffix}} – for showing a suffix