Vícenásobné mapovací uzly

Upravit obsah stránky

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.