Práce s metodou mapování (in i out)
Metoda nabízí rozsáhlý soubor nástrojů pro přesnější řízení vstupně/výstupních operací pro konkrétní uzly. Metodu tedy nemůžeme hledat v kmenu mapp-to-app, ale pouze v mapovacích instrukcích mapp-to. Metoda je uplatňována především na prvky, ale je možné pomocí metody nastavit i vlastní šablonu pro tvorbu uzlu oblasti, jak ukazuje algoritmus uplatnění definované metody. V následujících částech projdeme jednotlivé nástroje metody a jejich možnosti. Mezi nejdůležitější parametry metod patří relation-of-maps a relation-of-repeats, které určují vztahy mezi více mapami a vztahy v případě opakovatelnosti uzlů. Vezměme to však dle abecedy:
Algoritmus metody
Zpracování metody do mapovacích procesů má svůj přesně daný postup. Ten je významný zejména v případě, že kombinujeme více mapovacích metod v jedné mapě. Postup zachycuje následující schema:
**) Uplatnění only-part-after, only-part-before, only-part-between, translate, vložení pre a post fixu (v tomto pořadí);
***) Přepis (type:replace) hodnoty prvku nebo její doplnění. V případě použití left či right-join je aplikován rovněž znak ze zadání parametru delimiter, pokud již jiná hodnota existuje.
Zaokrouhlování (round)
Jednou z nejčastějších numerických funkcí je zaokrouhlování. Pomocí části round můžete snadno nastavit zaokrouhlování použité hodnoty:
round: [number]
Číslo v round obsahuje počet desetin, na které má být hodnota zaokrouhlena. Při minusové hodnotě čísla jde o počet před nulou (desítky, stovky atd.). Jde o rozšíření možností zaokrouhlování, ktere je jinak také přístupné v rámci možností xpath-count, ale pouze pro zaokrouhlení na celá čísla.
Podřízené stránky
Agregace opakovatelných uzlů (aggregation)
Je-li výskyt některého uzlu s hodnotou možné opakovat, automaticky tak vzniká potřeba v některých případech tyto hodnoty např. sčítat či provádět jiné agregace. Nástroj aggregation umožňuje tyto funkce:
Použití vlastní šablony pro celý uzel (node-template)
Pokud rozsáhlé možnosti mapování nebudou dostačující pro velmi specifický způsob transformace, je tu pro sestavení celého výstupního či vstupního uzlu možnost využití vlastní šablony. Tato vlastnost je použitelná jak pro datový prvek tak pro celou oblast (tj. komplexní typ). Potřebujete-li však pomocí vlastní šablony upravovat pouze textový obsah použijte parametru value-template. Pro použití vlastní šablony uzlu je třeba v parametru node-template metody zadat obsah atributu name cílové šablony (tedy uzlu xsl
Jen část řetězce (only-part-...)
Možnost vyjmout jen určitou část řetězce nalézající se za (only-part-after), před (only-part-before) nebo mezi (only-part-between) uvedeným znakem nebo znaky. Vedle běžných znaků, jako jsou písmena, číslice a jiné, které je třeba uvést do apostrofů, je možné použít i speciální znak zadáním jednoho ze tří klíčových slov (bez apostrofů) space, tab, apostrophe či line-end. Syntaxe je tedy následující:
Specifikace operace pro slučování map (operation)
Při výskytu více map u jednoho uzlu je několik způsobů jak s nimi naložit. Tento způsob je specifikován pomocí parametru relation-of-maps metody dané mapy. Jednou z možností vztahu je použití operace (tedy nastavení relation-of-maps
Předpona, přípona (pre/post-fix)
Toto nastavení jednoduše umožňuje zadat znak(y), které mají být řetězcově (textově) buď předřazeny (prefix) před či přidány za získanou hodnotu (postfix). Zadání je obdobné jako u parametru only-part-... a mají následující syntaxi:
Nastavení vztahu více map segmentu (relation-of-maps)
Indikace způsobu zařazení hodnoty vzhledem k ostatním mapováním daného uzlu.
Nastavení vztahu zdrojových opakování (relation-of-repeats)
Indikace způsobu zařazení hodnoty vzhledem k jiným zdrojovým opakováním (vzhledem k opakovatelnosti cíle a typu segmentu).
Změna výchozího relačního bodu (relative-to)
Uváděno pouze v případě jiné relativní závislosti tohoto mapování než k odpovídajícímu rodičovskému mapování či kmeni, není-li žádné rodičovské mapování uvedeno.
Oddělovače pro operaci či agregaci (separator-...)
V rámci metody existují nastavení separator-aggregation a separator-operation, které slouží pro stanovení oddělovače pro řetězcové operace spojování (join) a pro stanovení oddělovače položek seznamové (řetězcové) agregace. Obojí mají shodnou syntaxi:
Převod znaků na jiné (translate)
Záměna jednotlivých znaků (v apostrofech) či zvolený spec. symbol mezery, tabelátoru či konce řádku za jiné znaky či znak.
Použití vlastní šablony pro určení hodnoty (value-template)
Pokud rozsáhlé možnosti mapování nebudou dostačující pro velmi specifický způsob transformace, je tu pro sestavení textového obsahu možnost využití vlastní šablony. Tato vlastnost je použitelná pouze pro datový prvek, pro komplexní typ (tj. oblast uzlů) je ale možné využít podobné možnosti nastavením parametru node-template. Pro využití vlastní šablony je třeba v parametru value-template metody zadat obsah atributu name cílové šablony (tedy uzlu xsl
Výpočet hodnoty pomocí XPath (xpath-count)
Možnost získanou hodnotu upravit pomocí XPath výrazu či funkcí. Získaná mapovaná hodnota je pro účely výpočtu uložena v proměnné $sValue.