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.

syntax
repeat-reference: {absolute/relative-reference}[; element-ref: {reference-list}][; add-assign-list: {assign-express-list}]

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ì) v repeat-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:

example
repeat-reference: /ucastnici/ucastnik; element-reference: /ucastnici/ucastnik/jmeno;

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:

example
repeat-reference: /ucastnici/ucastnik; element-reference: /ucastnici/ucastnik/jmeno;
example
next-element-list: /ucastnici/ucastnik/id; add-assign-list: ../id_vedouciho = /ucastnici/ucastnik/id;

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:

example
repeat-reference: /ucastnici/ucastnik; element-reference: /ucastnici/ucastnik/jmeno; next-element-list: /ucastnici/ucastnik/id; add-assign-list: ../id_vedouciho = /ucastnici/ucastnik/id;
example
items-filter: /ucastnici/ucastnik/dospely == true

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

Umožňuje výběr hodnoty či hodnot z jiné části dokumentu, která je opakovatelná

syntax
repeat-reference: {absolute/relative-reference}[; element-ref: {relative-reference-list}][; add-assign-list: {assign-express-list}]

Zákaz kopírování hodnoty prvku disclonableVlastnost place-holder place-holderVlastnost required-if required-ifPodmíněná upravitelnost prvku edit-ifVlastní šablona segmentu custom-tempFormulářový typ inputf-type kompilaceZadání počáteční hodnoty initialÚplná změna políčka vlastní šablonou field-tempVlastnost join-fromPropojená nabídka prvku linked-offerVýběr hodnoty z dodatečného seznamu lexiconSpecifikace masky pro zadání údajů maskPrvek s generováním zprávy messengerVlastnost merge mergeOtevření formuláře openedVlastnost preserveMožnost rychlé nabídky quick-offerZadání vyžadování hodnoty requiredMožnosti chování zdroje source-behaviourSpecifikace podmínky pro zdroj dat source-filterVýchozí upřesnění opakování starting-specification