Přístup k některým nastavením

Někdy je třeba mít v rámci šablony přístup k zadaným proměnným (tj. k hodnotám dodatečných zadání) použítých v dotazu, jehož výsledky šablona připravuje. Přístup k těmto a některým dalším je možný díky struktuře podkladového XML:

<sql-query-result>
<result type="typ_dokumentu">
<row pdk="123" vtype="" E10000123="" E10000456="..." />
</result>
<variables>
<variable d-type="date" value="'2011-05-31'" dropdown="" name="var_1001" label="Datum vytvoření ( = )" init="'2011-05-31'"/>
</variables>
<view type="users" filter="" choosing="true" create-head="false" no-sorting="true" no-of-displayed="20">
<sorting>
<xsl:sort data-type="text" order="ascending" select="@E10000123" xmlns:xsl="http://www.w3.org/1999/XSL/Transform"/>
</sorting>
<sumary>...</sumary>
<subtotals>...</subtotals>
</view>
</sql-query-result>

V tomto XML jsou samozřejmě především data, na které se šablona aplikuje - tedy potomek result s typem dokumentu, na kterém je přehled založen. Pokud je v rámci dalších nastavení u skládaného přehledu nastaven uživatelský vzhled a zároveň volba "netřídit", pak se jednotlivá data pomocných tabulek neskládají do tabulky hlavní, ale zůstávají v samostatných uzlech result, jež mají atribut type obsahující prefix "t-" následovaný číslem pomocné tabulky (toto číslo naleznete v závorce za položkou v seznamu pomocných tabulek v bodu B) nastavení přehledu).

Dalším potomkem je právě uzel variables obsahující seznam proměnných, tedy seznam prázdných uzlů variable s atributy. Atributy mají následující význam:

d-type - určuje základní datový typ proměnné dle definovaných datových typů - zde je vždy uvedeno pouze základní slovo skládající se ze 4 znaků; v příkladu je uveden typ pro datum;

value - hodnota aktuálního zadání uživatelem; v příkladu je uvedeno zadání data, které je v atributu vždy naformátováno YYYY-MM-DD; čísla a bool hodnoty nejsou uváděny v apostrofech, jako texty, data a časy; desetiná čísla jsou uváděny s tečkou, nikoli čárkou a to bez oddělovačů tisíců; logické hodnoty ano/ne (bool) jsou uváděny ve formě 1/0, která odpovídá použití v SQL serveru;

dropdown - pokud jde o výběrovou kolonku, je zde uvedeno identifikační jméno použitého výběru tak, jak je definováno v tagu select v definici výběrové kolonky;

name - jednoznačné jméno v seznamu proměnných generované při nastavování přehledu; není před nastavením přehledu známo;

label - název proměnné zadávaný uživatelem v nastaveních přehledů u kolonky dodatečného zadání;

init - příp. výchozí hodnota dodatečného zadání, která je dána nastavením dodatečného zadání v přehledu;

Dalším uzlem v podkladovém XML je uzel s nastaveními zobrazení pod názvem view. Tento má jednak atributy a jednak také potomky. Atributy mají následující význam:

type - obsahuje jedno z klíčových slov users, items nebo specl, které říká, zda jde o běžný přehled, přehled s uživatelskou šablonou či přehled speciální;

filter - obsahuje uživatelovo zadání univerzálního textového filtru v hlavičce přehledu;

choosing - obsahuje volbu, zda mají být v přehledu prováděny výběry (viz. další nastavení přehledů);

create-head - obsahuje volbu, zda má být tvořena standardní hlavička (viz. další nastavení přehledů);

no-sorting - zpřístupňuje nastavení "netřídit" - true/false v uživatelském vzhledu (viz. další nastavení přehledů);

no-of-displayed - říká, kolik by na jedné listovací stránce mělo být zobrazováno položek;

Vedle atributů jsou v tagu view ještě dostupné následující uzly jako přímí potomci:

sorting - obshuje aktuální XSL instrukci o řazení v přehledu, jejíž obsah je řídící využitelný i v uživatelských vzhledech; zde se promítá i aktuální kliknutí uživatgele na hlavičku přehledu, je-li tvořena;

sumary - pokud tento tag sumary obsahuje potomky, pak jsou vyžadovány sumáře za celý přehled (obsahem je právě jejich (x)html);

subtotals - pokud tento tag subtotals obsahuje potomky, pak jsou vyžadovány mezisoučty za skupinu (obsahem je právě jejich (x)html);

Dle těchto obsahů je pak možno v okrajových případech zajistit repsektování aktuálních voleb uživatele v konkrétním přehledu, kde je uživatelský vzhled použit. Praxí však je, že většinu těchto rysů má uživatelský vzhled pevně dánu svým charakterem, pro nějž byl navržen.


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