wiki:Nl:TaggingPresets

Als u wilt leren hoe voorkeuzen kunnen worden toegevoegd aan de werkbalk, zie - Werkbalk aanpassen
Als u voorkeuzen wilt gebruiken of een volledige verwijzing naar de voorkeuzen wilt, zie Voorkeuzen

Voorkeuzen voor tags

JOSM ondersteunt gedeelde voorkeuzen voor tags. Dit is een XML configuratiebestand dat een GUI beschrijft voor het invoeren van tags (of eigenschappen, opmerkingen, soms ook wel kaartobjecten genoemd).

De voorkeuzen kunnen overal op het web geplaatst worden of op het lokale bestandssysteem van de gebruiker. JOSM kan worden geconfigureerd om aangepaste lokale of Voorkeuzen van op afstand te gebruiken.

Een nieuwe voorkeuze ontwikkelen

De beschrijving van een voorkeuze voor taggen staat in een zeer eenvoudige XML-indeling. Voor details zie hieronder.

Bekijk defaultpresets.xml voor een voorbeeld dat de meeste mogelijkheden behandelt van die welke hieronder vermeld zijn.

Bekijk Presets#Createnewpresets om de voorkeuze toe te voegen aan de lijst met beschikbare voorkeuzen.

Voorbeeld: No image "Change 1 object.png" attached to Nl:TaggingPresets

<?xml version="1.0" encoding="UTF-8"?>
<presets xmlns="http://josm.openstreetmap.de/tagging-preset-1.0">
  <item name="Oneway highway" type="way">
    <label text="Invoegen van een één richting highway" />

    <combo key="highway" text="Type" values="trunk,motorway" />
    <text key="name" text="Name (bijv. Angel Road)" />
    <text key="ref" text="Ref (bijv. A406)" />

    <!-- Dit is een voorkeuze voor één richting dus maak oneway de standaard -->
    <check key="oneway" text="Oneway" default="on" />

    <!-- Altijd het oppervlak asfalt instellen -->
    <key key="surface" value="asphalt" />
  </item>
</presets>

Nl:TaggingPresets-preset.xml, Nl:TaggingPresets.zip

Het gereedschap HOT Visual Tag Chooser stelt de gebruiker in staat een Tagging Preset File te maken of te bewerken door middel van een webinterface.

Beschrijving XML-indeling

Het volledige XSD-schema is beschikbaar op de namespace URI (http://josm.openstreetmap.de/tagging-preset-1.0) en ook in de opslagplaats van de bron.

Tags

De proloog van het document

<presets>
Moet de hoofdtag van het bestand zijn. Ondersteunt de volgende attributen
  • xmlns="http://josm.openstreetmap.de/tagging-preset-1.0"
  • author - de naam van de auteur van de voorkeuze
  • version - het versienummer van het bestand. Voor geautomatiseerde versie-aanpassingen van de voorkeuzen die worden beheerd op deze wiki kunt u twee interne variabelen gebruiken: [[revision]] (het laatste versienummer van de pagina op de wiki) en [[date]] (de datum van de laatste bewerking).
  • description (i18n) - beschrijving van wat het bestand bevat
  • shortdescription (i18n) - zeer korte overzichtsbeschrijving d.i. de "naam" van de voorkeuze
  • link (i18n) - weblink voor meer details (optioneel)
  • icon - informatief pictogram voor de gehele voorkeuze. (Dit is nodig om het pictogram weer te geven in de tabel van Presets.)
  • baselanguage - wanneer de basistaal niet Engels is, specificeer die dan hier (gebruiken van niet-Engelse teksten voor voorkeuze voorkomt automatisch vertalen)

(i18n) betekent dat de waarden ook mogen zijn gelokaliseerd (bijv. de.description).


Opmerkingen

<!-- dit is een voorbeeld opmerking -->
Het document mag ingebedde opmerkingen bevatten.


Groep voorkeuzen maken

<group>
Gebruikt om items te groeperen in submenu's. name is vereist, icon is een optioneel attribuut.
<item>
Elk item is één ingestelde opmerking om uit te selecteren. name is vereist, type en preset_name_label worden aanbevolen, icon en name_template zijn optionele attributen.
<separator/>
Voegt een scheidingslijn in het menu in.


Lay-out Venster Voorkeuze

<label>
Labels zijn statische teksten om weer te geven. text is een vereist attribuut, icon en icon_size zijn optioneel.
<space />
Voeg enkele spaties in (d.i. een newline).
<optional>
Gebruikt om enkele optionele elementen van een item te groeperen. Het attribuut text is optioneel. Indien gebruikt zonder text dan is dit equivalent aan <space /><label text="Optionele attributen:"/><space />
<item_separator />
Voegt een horizontale scheidingslijn tussen de items in.
<link>
Specificeer een weblink voor dit object of voor iets anders. Het attribuut href is vereist.
<checkgroup>
Om keuzevakken te groeperen. Het attribuut columns is vereist.
<roles>
Dit wordt vereist rondom <role> en voegt de kop ("Available roles role count elements") toe aan de tabel die wordt gegenereerd bij verscheidene <role>'s.
<role>
Specificeert mogelijke rollen van leden van de relatie. Het attribuut key is vereist, text, requisite, count, type en member_expression zijn optioneel.
<preset_link>
Voegt een a link toe naar een andere voorkeuze. Het attribuut preset_name is vereist.


Een vast paar sleutel/waarde instellen

<key>
Deze tag zal altijd een sleutel instellen op één specifieke waarde. key is vereist en als value aanwezig is, zal de sleutel worden ingesteld. Indien het attribuut value wordt weggelaten, wordt de sleutel verwijderd. Het attribuut match is optioneel.


Dialoogvensters voor item Attribuut en selectie

<text>
Een tekstbewerkingsveld om door de gebruiker een tekenreeks in te laten voeren. key is verplicht, text, default, use_last_as_default, auto_increment, length, alternative_autocomplete_keys en match zijn optioneel
<combo>
Geeft een combinatievak voor meerdere keuzes weer. key en values zijn verplicht, text, default, editable, delimiter, values_from, display_values, short_descriptions, use_last_as_default, values_searchable, length, values_no_i18n, values_sort en match zijn optioneel.
Als editable is true (standaard), kunnen combinatievakken worden bewerkt alsof zij tekstvelden waren (aanvullend aan het keuzemenu). Niet bewerkbare combinatievakken kunnen alleen één van de gespecificeerde waarden bevatten.
<multiselect>
Geeft een lijst weer waaruit nul of meer items kunnen worden gekozen. key en values zijn verplicht, en text, default, delimiter, values_from, rows, display_values, short_descriptions, use_last_as_default, values_searchable, values_no_i18n, values_sort en match zijn optioneel. De geselecteerde waarden zullen worden samengevoegd door middle van de het gespecificeerde scheidingsteken (standaard: puntkomma) en worden geschreven naar de waarde van de tag. Als al een waarde voor de tag is ingesteld bij het openen van het dialoogvenster, zal multiselect proberen de toepasselijke items in de lijst als geselecteerd te markeren. Als de waarde van de tag niet kan worden weergegeven door een combinatie van keuzes in de lijst, dan zal de lijst worden uitgeschakeld zodat de gebruiker niet per ongeluk een aangepaste waarde kan overschrijven. In tegenstelling tot het element "combo" element, verwacht "multiselect" dat de lijst met waarden, beschrijvingen etc. het gespecificeerde scheidingsteken gebruikt, d.i. standaard zult u een puntkomma moeten gebruiken. U kunt delimiter="," specificeren, maar dan zal een komma ook worden gebruikt in de waarde van de tag.
<list_entry>
Gebruikt in <combo> en <multiselect>. Voor meer informatie, zie short_descriptions. De attributen zijn value, display_value, short_description, icon en icon_size.
<check>
Een keuzevak dat de gebruiker slechts kan selecteren of deselecteren (of instellen als niet ingesteld). Het attribuut key is verplicht. text, default, match, value_on , value_off en disable_off zijn optioneel.


Sjablonen

<chunk>
Definieert een sjabloon met elementen voor later gebruik. Het attribuut id is verplicht.
<reference>
Neemt een eerder gedefinieerd sjabloon op. Het attribuut ref is verplicht.


Attributen

De attributen van de tags hebben de volgende betekenis:

name="een_naam"
Specificeer een naam voor een item. Deze naam zal in de GUI worden gebruikt om de voorkeuze voor het taggen weer te geven.
name_context="context"
Vertaalde context voor attribuut name om gelijke woorden met een verschillende betekenis te onderscheiden (niet vereist voor vertalingen binnen bestanden).
type="data_type"
Indien gespecificeerd, zullen alleen objecten van het opgegeven type werken met deze voorkeuze voor taggen. Mag niet zijn "node", "way", "closedway", "multipolygon", "relation" of enige andere kommagescheiden combinatie daarvan. Onthoud dat "multipolygon" niet is opgenomen in "relation", dus als de voorkeuze van toepassing zou zijn voor multipolygonen en andere typen relatie, dient u beide te specificeren: "multipolygon,relation". Ook gebruikt in de tag <role> om te specificeren welke typen object zijn toegestaan voor een specifiek lid van een relatie.
icon="pictogramnaam"
Een naam van of link naar een pictogram. De afbeelding zal als pictogram worden gebruikt om te worden weergegeven in de selectielijst en bij het toevoegen van de voorkeuze aan de werkbalk. Pictogrammen kunnen ook worden gebruikt in <item>, <label> en <list_entry>. Het pictogram zou kwadratisch in grootte moeten zijn. Bekijk wiki;/Nl:Styles#Iconhandling? om te zien hoe pictogrammen kunnen worden gespecificeerd.
icon_size="een getal"
De maximale grootte van een pictogram px. Indien geen waarde wordt opgegeven, is 16 standaard voor <label> en de standaardgrootte van een pictogram voor <list_entry /> (in <combo> en <multiselect>).
key="een_sleutel"
Dit specificeert de sleutel voor de eigenschap die zal worden aangepast door het item. In het geval van <role> is het de naam van de rol die wordt gebruikt in een relatie.
text="Enige tekst"
De beschrijving die zal worden weergegeven vóór (na in geval van <check>) het element van de GUI. Ook gebruikt voor <label> en <optional>.
text_context="context"
Vertaalde context voor attribuut text om gelijke woorden met een verschillende betekenis te onderscheiden (niet vereist voor vertalingen binnen bestanden).
default="standaard_waarde"
De standaard waarde voor het item. Indien niet gespecificeerd, zal de huidige waarde van de sleutel worden gekozen als standaard (indien toe te passen). In geval van <check> of het keuzevak standaard aan of uit is geschakeld (standaard is "uit"). In geval van <text>, <combo> en <multiselct> is "" standaard.
values="item1,item2,item3"
Een lijst met items (voor het <combo>-vak en <multiselect>). De lijst moet worden gescheiden door komma's (voor het combinatievak) of door het gespecificeerde scheidingsteken (voor de multiselect). Indien een waarde het scheidingsteken bevat, mag het scheidingsteken worden geëscaped met een backslash. Indien een waarde een backslash bevat, moet die ook worden geëscaped met een backslash.
values_from="JAVA code"
Te gebruiken in plaats van "waarden" als de lijst met namen moet worden verkregen met ene methode van Java in deze vorm: public static String[] getValues(); De waarde moet zijn: "full.package.name.ClassName#methodName".
values_no_i18n="true|false"
Schakelt internationalisatie voor waarde uit om misverstanden te voorkomen, zie #11696. Standaard is "false". Gebruikt in <combo> en <multiselect>. (Nuttig voor bijv. openingstijden of merknamen.)
values_sort="false"
Waarden van <combo> en <multiselect> worden in elke taal alfabetisch gesorteerd. Met dit attribuut kunt u de alfabetische sortering uitschakelen als de waarden in de opgegeven volgorde zouden moeten worden behouden, zie #5509 en #11926. (In de interne voorkeuze van JOSM wordt dit gebruikt voor de sleutels "smoothness" en "trail_visibility".) Standaard is "true". Gebruikers kunnen sorteren globaal uitschakelen met de sleutel voor de voorkeur taggingpreset.sortvalues.
values_context="context"
Vertaalde context voor waarden van attributen om gelijke woorden met een verschillende betekenis te onderscheiden (niet vereist voor vertalingen binnen bestanden).
display_values="Item1,Item2,Item3"
Een lijst met items die wordt weergegeven aan de gebruiker. Moet hetzelfde aantal en in dezelfde volgorde van items zijn als values en editable moet false zijn of niet gespecificeerd. Voor het scheidingsteken en escapen, bekijk de opmerkingen bij values. Gebruikt in <combo> en <multiselect>.
value="foobar"
Specificeert een waarde die moet worden ingevoerd in de tag <key>.
value_on="foobar"
Specificeert de waarde true om te worden ingevoerd in de tag <key> van een geselecteerde <check> (standaard is "yes").
value_off="foobar"
Specificeert de waarde false om te worden ingevoerd in de tag <key> van een niet geselecteerde <check> (standaard is "no").
disable_off="true"
Of de waarde -off- van een <check> is uitgeschakeld in het dialoogvenster, d.i. alleen -niet ingesteld- of -yes- worden verschaft.
editable="false"
Het combinatievak is alleen-lezen, wat betekent dat de gebruiker alleen een item uit de lijst kan selecteren. Standaard "true", wat betekent dat de gebruiker andere waarden als tekst in kan voeren.
use_last_as_default="true|false|force"
Voor <combo>, <multiselect> of <text> velden wordt de laatste waarde gebruikt als standaard. Gebruiken van "force" forceert dit gedrag ook voor reeds getagde objecten. Standaard is "false".
rows="count"
Specificeert het aantal weer te geven rijen in items <multiselect> (indien niet ingesteld, wordt het automatisch bepaald door Java uit de weergave en vormgeving en resultaten in bijv. 8).
name_template="sjabloon", name_template_filter="zoek expressie"
Aangepaste opmaak voor naam voor OSM primitieven die overeenkomen met deze voorkeuze. Bekijk hieronder #name_templatedetails voor details.
match="none|key|key!|keyvalue|keyvalue!"
Maakt het mogelijk het proces voor overeenkomsten te wijzigen, d.i. bepalen of de tags van een OSM-object passen in deze voorkeuze. Als een voorkeuze past dan wordt het gekoppeld in het dialoogvenster Tags/Leden.
  • none: neutraal, d.i. neem dit item niet in overweging voor overeenkomsten
  • key: positief als de sleutel overeenkomt, anders neutraal
  • key!: positief als de sleutel overeenkomt, anders negatief
  • keyvalue: positief als sleutel en waarde overeenkomen, anders neutraal
  • keyvalue!: positief als sleutel en waarde overeenkomen, anders negatief

Onthoud dat voor een overeenkomst ten minste één positieve en geen negatieve is vereist. Standaard is "keyvalue!" voor <key> en "none" voor <text>, <combo>, <multiselect> en <check>.

id="unieke_identificatie"
de unieke identificatie voor deze chunk
ref="unieke_identificatie"
de unieke identificatie van de (reeds gedefinieerde) sjabloon om op te nemen
columns="een getal"
het aantal kolommen van gegroepeerde keuzevakken
requisite="optional|required"
Of een lid van een relatie optioneel of vereist is. Standaard is "optional".
count="een getal"
Hoe vaak een rol mag voorkomen (indien niet opgegeven wordt uitgegaan van een onbeperkt aantal)
member_expression="een uitdrukking"
een uitdrukking (cf. dialoogvenster Zoeken) voor objecten van deze rol
regexp="true"
Ingesteld op true als de sleutel van de rol een reguliere expressie is. Dit maakt variabele rollen mogelijk, bijv. <role key="level_-?\d+" text="Building level" regexp="true" requisite="optional" type="relation" /> allows the roles level_0, level_1,...
preset_name="exacte_naam"
De exacte naam van de voorkeuze waarnaar moet worden gelinkt.
preset_name_label="false|true"
Of een label "[preset name]" in het dialoogvenster moet worden ingevoegd (standaard "false" in verband met achterwaartse compatibiliteit voor externe voorkeuzen).
length="een getal"
De lengte van een <text> of <combo>-vak (aantal toegestane tekens).
alternative_autocomplete_keys="enkele_sleutel(s)"
Een kommagescheiden lijst met alternatieve sleutels om te gebruiken voor automatisch invullen van <text>.
auto_increment="-2,-1,+1,+2"
Mag een kommagescheiden lijst van verhogingen of verlagingen met gehele getallen bevatten, bijv. "-2,-1,+1,+2". Een knop zal naast het veld <text> worden weergegeven voor elke waarde, wat de gebruiker in staat stelt automatisch te verhogen met de opgegeven stap. Automatisch verhogen gebeurt alleen als de gebruiker het selecteert. Er is ook een knop om automatisch verhogen te deselecteren. Standaard is niet automatisch verhogen. Niet te gebruiken met use_last_as_default.
delimiter="speciaal teken"
Het character dat waarden scheidt. In het geval van <combo> is komma de standaard. In geval van <multiselect> is de standaard de puntkomma en die zal ook worden gebruikt om geselecteerde waarden in de tag te scheiden. Voor meer informatie, zie <multiselect>.
short_descriptions=""Item1,item2,Item3"
Een tekengescheiden lijst van teksten die moeten worden weergegeven onder elke display_value. (Alleen als het niet mogelijk is om het item in 2-3 woorden te beschrijven.) In plaats van kommagescheiden lijst worden values, display_values en short_descriptions gebruikt, de volgende vorm wordt ook ondersteund: <list_entry value="" display_value="" short_description="" icon="" icon_size="" />
values_searchable="true|false"
Of moet worden gezocht in <combo> of <multiselect> (display_)values bij het zoeken naar voorkeuzen.
name_template details

Naamsjablonen kunnen worden gebruikt om aangepaste opmaak te definiëren voor primitieven van OSM of GPX-punten (bijvoorbeeld in de Relaties of de Selectie).

<?xml version="1.0" encoding="UTF-8"?>
<presets>
        <item name="Public transportation" type="relation"
                name_template="Bus({operator} {ref} ?{'{from} - {via} - {to}' | '{from} - {to}' | '{from}' | '{to}'})"
                name_template_filter="type=route route=bus">
        </item>
</presets>

Voorbeelden

Sjabloon Tags Resultaat
House number {addr:housenumber} addr:housenumber=10 Huisnummer 10
?{ 'House number {addr:housenumber} at {addr:street}' | 'House number {addr:housenumber}' } addr:housenumber=10 Huisnummer 10
addr:housenumber=10 addr:street=Abbey road Huisnummer 10 in Abbey road
?{ admin_level = 2 'NUTS 1' | admin_level = 4 'NUTS 2' | admin_level = 6 'NUTS 3' | 'Admin level {admin_level}'} admin_level=4 NUTS 2
admin_level=5 Admin level 5
{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 (deel van Jihovychod)
admin_level=2 name=Czech republic (no parents) 2 - Czech republic
Syntaxis
  • {var} - gebruik de waarde van de variabele var
  • ?{condition1 'value1' | condition2 'value2 | 'value3'} - gebruik value1 als wordt voldaan aan condition1, value3 als aan geen enkele voorwaarde wordt voldaan. De voorwaarde kan ofwel expliciet zijn - dezelfde expressie als in zoeken of bij filters wordt gebruikt - of impliciet; de waarde wordt gebuikt als alle er binnen gebruikte variabelen bestaan
  • !{search_expression 'template'} - search_expression wordt geëvalueerd en de eerste overeenkomende primitief wordt als context voor de sjabloon gebruikt. Nuttig voor voorbeeld om tags van een ouder-relatie te verkrijgen.
Beschikbare waarden

Voor het opmaken van primitieven van OSM kan de waarde van elke tag worden gebruikt. U kunt {special:everything} gebruiken om te zien welke waarden beschikbaar zijn voor uw GPX-waypoints.

Sommige aanvullende variabelen zijn beschikbaar via het speciale voorvoegsel:

  • {special:everything} print alle beschikbare waarden, beschikbaar voor het opmaken van beide primitieven en waypoints.
  • {special:id} print de ID van een primitief van OSM
  • {special:localName} print de gelokaliseerde naam, dat is de waarde van name:lang voor uw taal als die beschikbaar is of de waarde van de tag name als die taal niet beschikbaar is.

Vervallen attributen

De volgende attributen zijn vervallen en worden niet langer ondersteund door JOSM:

delete_if_empty="true"
werd verwijderd in [5155]. U kunt dit attribuut eenvoudigweg uit uw voorkeuze verwijderen als dat daar nog wordt gebruikt.
required="true"
vervangen door match sinds [5155]

Vertaling

Voor het ondersteunen van vertalingen mogen alle tekstuele elementen ("name", "text", "display_values") ook worden gelokaliseerd. (Bijv. "de.name" zou de naam weergeven in het geval de Duitse taalondersteuning werd geladen. In de code van de voorkeuze zou de Engelse term de eerste moeten zijn, vóór mogelijke vertalingen worden toegevoegd.)

In JOSM worden intern van (interne voorkeuzen) alle "name", "text" en "display_values" vertaald indien geen specifieke vertaling werd opgegeven in het XML-bestand. Indien geen "display_values" worden verschaft, zullen "values" worden behandeld als "display_values" en in plaats daarvan vertaald. Wanneer vertalingen van gelijke woorden maar met verschillende betekenis conflicten kunnen veroorzaken, zou een context voor de vertaling moeten worden gespecificeerd. Gebruik hiervoor "name_context", "text_context" of "values_context". De context zou een nuttige korte beschrijving moeten zijn om vertalers te helpen.

De vertaling voor de interne voorkeuzen wordt gedaan op Launchpad (en zal waarschijnlijk in de toekomst overgaan naar een andere service, omdat de webinterface van Launchpad nogal vaak time-outfouten produceert, zie #8645).

Afhandeling van pictogrammen

Zie Stijlen.

Zie ook

Last modified 6 months ago Last modified on 2017-05-27T11:36:59+02:00