Třídění XML dat

V procesu zobrazování běné tabulky přehledu dokumentů dochází k několika fázím. Vezměme to od začátku. Při otevření přehledu jsou nejprve do XML stromu načtena nastavení otevíraného přehledu, pokud se tak nestalo v rámci daného přihlášení uživatele již při předchozí návštěvě. Pokud je požadováno vyčkat na dodatečná zadání (volba " do dodatečného zadání kritérií bez položek" v bodu G) nastavení přehledu), nedochází momentálně k načtení dat a je zobrazen výchozí stav přehledu bez položek. Jakmile jsou dodatečná zadání provedena nebo pokud není nastaveno zmíněné vyčkání na jejich zadání, použije se z nastavení přehledu SQL dotaz, případně několik dotazů, pokud jde o skládaný dotaz nebo přehled založený na rozhraní. Výsledkem je však vždy XML uzel s názvem sql-query-result. Tento hlavní uzel obsahuje jeden nebo několik potomků s názvem result, podle toho, zda byl na vstupu jeden nebo několik dotazů. Každý tag result má svůj atribut type, který obsahuje v případě prosté tabulky a více dotazů daných rozhraním vždy typ dokumentu, na kterém je ten který přehled založen (v případě založení na rozhraní jde o seznam typů dokumentů, které rozhraní zahrnuje). V případě, že jde o pomocnou (nikoli hlavní) tabulku skládaného přehledu, je v typu řetězec obsahující "t-" a za těmito dvěma znaky následuje většinou čtyřmístné id pomocné tabulky skládaného přehledu (více o XML syntaxi obálky dotazu a odpovědi viz. přímé dotazy v popisu komunikačního protokolu serveru flexideo).

Dalším krokem po získání těchto dat je v běžném případě jejich utřídění. Toto utřídění reprezentuje především změnu uzlu s daty z původního sql-query-result na uzel sorted-table, který také obsahuje uzel result, ale vždy jen jeden. Utřídění je prováděno třídící šablonou, která zajistí seřazení dat, pokud je v nastaveních přehledu zadáno a jednak také zajistí sjednocení více uzlů result do jednoho výsledného. Dojde tak ke sloučení více výsledků do jediného, který je zároveň seřazen do požadovaného pořadí. Můžete tak dokumenty z různých databázových tabulek jednotně seřadit do jedinné tabulky výstupní. Stejně tak princip skládání více různorodých výsledků dle nastavených pravidel se odehrává v rámci třídění dat.

V praxi se však může stát, že o utřídění dat zájem nemáte a naopak potřebujete použít jeden seznam např. jako řídící nebo jako seznam pro sloupce a sestavovat scela specifickou výstupní matici. Pak je třeba v nastaveních dříve popsaným způsobem třídění vypnout a šablonu připravit tak, aby korespondovala nikoli s uzlem sorted-table, ale aby byla navázána přímo na uzel sql-query-result, který může obsahovat více potomků result. Jak přesně budou vypadat vaše podkladová data dle provedených nastavení (setříděná nebo netříděná) je dobré si ověřit již zmíněnou volbou view-debugs, kterou je dobré před finálním nasazením nebo třeba jen pro ověření před započetím tvorby použít.

Mezi soubory ke stažení najdete i výchozí šablona uživatelského vzhledu, kde jsou obě varianty pro match nastíněny.


Třídění XML datPřístup k některým nastavením