Dva základní typy pseudo-dokumentů

Z hlediska konceptu návrhu existují dvě základní cesty:

Vázané typy

Volné typy

Vázané jsou ty, které jsou klíčovým slovem of provázány na jeden konkrétní typ běžného dokumentu. Volné pak všechny ostatní. Je-li pseudo typ vázán na jeden konkrétní typ běžný, tvoří instance běžného typu zároveň instance pseudo-typů ve vztahu jedna k jedné. U typů volných žádný, předem daný instanční vztah k běžným typům neexistuje, byť je možné jej tvořit dodatečně.

Dalším, co určuje instančnost a to především u typů volných, jsou parametry. Parametry je možné definovat jak u volných tak také u vázaných, ale v volných se bez nich většinou neobejdeme. Parametry a jejich typy se definují v kmenu pseudo-typu v XDS v nastavení pseudo přidáváním klíčových názvů.

Vázané pseudo-dokumenty jsou charakteristické tím, že data sestavená v daném typu jsou nějakým způsobem významově vázaná k jednomu konkrétnímu běžnému typu, na který je provazován mechanismem binded ve vlastnosti pseudo-source. Nejlépe to ukážeme na příkladu. Uvažujme o výkazu obratu prodejce nějaké fiktivní obchodní firmy. V informační struktuře mame k dispozici mj. dva typy běžných dokumentů - pracovník a faktura. První slouží k evidenci prodejců a dalších typů pracovníků, ve druhém se zaznamenávají fakturované prodeje zboží a služeb. Nyní založíme třetí typ, tentokrát ale půjde o pseudo-dokument a ponese název výkaz prodejce. Bude vázán na běžný dokument pracovník a půjde tedy o vázaný typ. Tuto skutečnost nadefinujeme kmenovým parametrem pseudo definice výkazu takto:

example
of: pracovnik;

Prozatím bez dalších parametrů. Tím je nejen řečeno, že jde o vázaný pseudo-typ, ale také máme možnost skládat ostatní data s využitím informací, které máme k dispozici na kartě pracovníka. Nejprve v hlavičce výkazu zavedeme identifikaci, jakému prodejci výkaz patří a to pomocí oblasti Prodejce s následujícím pseudo zdrojem:

example
pseudo-source = boud:pracovník:/identifikace

Zde je řečeno, že právě oblast Prodejce v hlavičce výkazu je ta, která zobrazuje data z vázaného běžného typu pracovník. Takových uzlů může být v pseudo dokumentu více, ale vždy budou vázány na stejnou zdrojovou instanci v dané instanci výkazu. V poslední části výrazu pseudo-source je uveden odkaz na službu identifikace v dokumentu pracovník, která poskytuje základní údaje, jako je jméno, oblast, id apod.

V další části dokumentu vytvoříme oblast seznamu s opakovatelnou podoblastí faktura, která vedle opakovatelnosti bude mí také nastaven pseudo zdroj v dokumentu faktury takto:

example
pseudo-source = select:faktura:/hlavicka_a_suma

Zde je použit mechanismus select a data jsou tak do sestavy vybírána pomocí SQL z databáze. Odkaz pak vede do služby hlavicka_a_suma, která poskytuje údaje, které pro výdkaz potřebujeme. Instance z typu faktura jsou do sestavy pseudo-typu vybírány na základě další pomocné vlastnosti opakovatelného uzlu faktura, kterou je pseudo-select a pomocí filtrovacího výrazu definuje podmínky pro výběr. Pokud budeme mít každou fakturu signifikovánu pomocí např. id prodejce, můžeme poskládat výkaz pomocí nasledujicí vazby:

example
pseudo-select = ::/hlavicka/id_pracovnika == bound::/identifikace/id_pracovnika

Tímto výrazem je určeno, že vybereme z databáze všechny faktury prodejce, ke kterému je výkaz vázán. Dalšími podmínkami je možné množinu dále upřesňovat, například na potřebné období, kdy bychom mohli použít kmenové parametry pseudo-typu.


Dva základní typy pseudo-dokumentůInstanční parametrizaceVnořování dat s různími zdroji