Přejít na obsah
Skip to main content

Vícenásobné mapovací uzly

Mapování je realizováno pomocí přidávání mapovacích uzlů k uzlům segmentů. Je tedy zřejmé, že je možné jeden uzel mapovat na více míst pomocí vložení více mapovacích uzlů. Platí to jak pro kmenové mapp-to-app, tak i mapování jednotlivých segmentů dokumentu mapp-to a unmapped.

Rovněž tak v mapování u různých segmentů je možné uvádět stejný odkaz – tedy mapovat několik segmentů interního dokumentu na jeden segment typu externího a vytvářet tak stejnou situaci, která je v opačném směru datového toku reprezentována uvedením několika mapovacích uzlů ke stejnému účelu. Je tedy třeba určit, kdy se který má použít.

Při "konfliktních" situacích v mapování platí základní pravidlo: "první rozhoduje". Znamená to, že pokud je pro určitý uzel či dokument určeno několik mapování, pak se použije to první.

Význam vícenásobného mapování​

Proč tedy používat vícenásobné mapování? Je to jednoduché, pro různé situace můžeme chtít různě mapovat. Situace jsou dány obsahem. V praxi se často vyskytují v rámci jedné evidence (dokumentového typu tj. "tabulky") různé pod typy odlišené různým obsahem klíčových údajů – např. můžeme evidovat pohyb na skladu či financí v pokladně s tím, že plusové položky jsou příjemky a minusové výdejky nebo mohou být jako příjemky či výdejky označovány spec. kolonkou (nejspíš výběrovou).

V aplikaci však můžeme mít výdejky a příjemky evidovány samostatně a chceme, aby z těch našich záporných se vytvářely externí výdejky a z těch kladných externí příjemky (nebo to závisí na té kolonce nebo obojí s možností eliminace chyby). Nastavíme tedy dvě různá mapování a u každého uvedeme výstupní podmínku.

Jeden mapovací uzel nastavíme s podmínkou (output-on) cislo < 0 budeme mapovat na výdejku a uzel s popdmínkou cislo > 0 budeme mapovat zase na příjemku. Teprve pokud bychom tuto podmínku nenastavili správně, došlo by ke zmíněné konfliktní situaci a použilo by se první mapování. Dalším způsobem jak můžeme konfliktu předejít je volba metody (input-method, output-method).

S její pomocí ní můžeme například řetězcově obsahy spojit či sečíst / odečíst hodnoty, agregovat, použít výpočtu apod. Metoda rovněž nabízí možnost upravit vztah několika mapování jednoho uzlu [auto] | stock | alternate | operation nebo vztah mapování k více výskytům téhož uzlu, tj. jeho opakovatelnosti - [auto] | stock | alternate | aggregation.

Můžeme tak více uzlů mapovat do jednoho a naopak, či uzly a jejich obsah rozkládat na části apod. Více viz. popis metod, který je společný pro použití ve vlastnostech input-method i output-method nastavující metodu zvlášť pro vstup a výstup dat.