Propojená nabídka prvku linked-offer
Umožňuje výběr hodnoty či hodnot z jiné části dokumentu, která je opakovatelná formou roletky prvku, kde je tato vlastnost nastavena.
Tato vlastnost najde využití všude tam, kde potřebujeme logicky, tedy ne klíčově na pozadí, propojit obsah jednoho prvku na konkrétní opakování v jiné části téhož dokumentu. Jde o vlastnost složenou z následujících částí:
-
repeat-reference- hlavní odkaz na opakovatelný uzel, který je předmětem nabídky; -
element-reference- absolutní odkaz na potomka uvedeného (i relativnì) vrepeat-reference, který je prvkem, pokud hlavní odkaz je oblastí (pokud je opakovatelným segmentem použitým v hlavní části prvek, není toho dodatečného odkazu zapotřebí); -
next-element-list- čárkami oddělovaný seznam absolutních odkazů dalších prvků, které se mají nabídnout v roletce vedle prkvu hlavního, jsou-li takové.; -
add-assign-list- čárkami oddělené přiřazovací výraz(y), podle kterých proběhne přiřazení příp. další hodnot po výběru; hlavní prvek je přiřazován vždy; -
items-filter- nepovinný výraz podmínky pro zahrnutí určité položky do seznamu nabídky; relativní odkazy výrazu jsou odvozovány od elemetu s nabídkou;
Význam a způsob využití vysvětlíme na příkladu. Představme si prezenční listinu školení, kde je pomocí tabulkové oblasti ucastnik umístěné v hlavní oblasti ucastnici uveden seznam účastníků, kde každý z nich je identifikován jménem v prvku jmeno a číslem v prvku id ve zmíněné tabulkové oblasti. Dejme tomu, že v každé takové skupině lidí je vybrána jedna osoba jako vedoucí. Můžeme tak na konci formuláře umístit prvek vedouci s vlastnosti linked-offer s následujícím obsahem:
Uvedená definice způsobí, že v prvku vedouci bude umístěna roletka se seznamem jmen z tabulky účastníků a výběrem položky v roletce se obsah prvku jmeno přenese do obsahu prvku vedouci. Nevkládá se tedy odkaz, ale vybraná hodnota se kopírováním přenáší přímo do linkovaného prvku.
Nyní situaci v příkladu poněkud zkomplikujeme. Budeme uvažovat, že dvě osoby v seznamu mohou mít shodné jméno, například dcera s matkou, otec se synem apod. Pak by určení vedoucího nebylo jednoznačné, neboť je dosud identifikován pouze jménem. V seznamu účastníků máme však ještě jejich jedinečná čísla ve sloupečku id (tj. v prvku id tabulkové oblasti). Propojovací vlastnost nám umožňuje tohoto údaje využít, proto vedle prvku vedouci, kde linkování definujeme ještě přidáme prvek id_vedouciho. Definici linku pak rozšíříme následujícím způsobem:
Toto rozšíření definice způsobí dvě věci. Jednak do výběrové roletky vedle jména do závorky doplní číslo účastníka pro jeho jednoznačné odlišení v seznamu. A jednak také při výběru určité položky z roletky proběhne nejen nakopírování jména účastníka do prvku vedouci, ale také nakopírování id účastníka do prvku id_vedouciho. Tím je vedoucí skupiny jednoznačně určen. Pozn.: Je-li identifikaci třeba zajistit více než jedním pomocným prvkem, je možné uvést prvků více a to i pro účely přiřazení s tím, že je třeba je vzájemně oddělit čárkou.
Abychom osvětlili i poslední část definování propojené nabídky, zkomplikujeme si situaci ještě více. Dejme tomu, že v seznamu účastníků máme vedle jména a id také informaci o tom, zda je daný účastník dospělá osoba či nikoli a to formou prvku dospely typu bool, tedy zaškrtávací pole. Vedoucím se však logicky může stát pouze dospělá osoba. Proto výběr zpřehledníme a také omezíme patřičnou podmínkou a celá definice linku bude nyní vypadat takto:
Potenciální vlastnické uzly
Vlastnost linked-offer je možné uvést u následujících uzlů:
- element - prvek (segment uvnitř definice);
Vlastnost linked-offer linked-offer
Umožňuje výběr hodnoty či hodnot z jiné části dokumentu, která je opakovatelná