XDS příklad

Nyní navážeme na oba dříve popsané a rozložené dokumenty člověk a subjekt. Nyní pro smysluplné propojení obou dokumentů navrhneme dokument zástupce subjektu. Tento třetí dokument v naší demonstrační aplikaci bude využívat služby definované v předchozích dokumentech a tím dojde ke zmíněnému propojení a potřebě tvorby odvozených array.

<DocumentDef>
<label>Zástupce subjektu</label>
<name>zastupce_subjektu</name>
<short>zastsub</short>
<group>kontakty</group>
<content>
<area label="Iniciály zástupce" name="inicialy_zastupce" short="incz" source="foreign:clovek/jmeno_a_adresa"/>
<area label="Subjekt" name="subjekt" short="sub" source="foreign:subjekt/korespondencni_adresa"/>
<area name="telefon" based-on="telefon" repetition="type:user"/>
<area label="Upřesnění vztahu" name="upresneni_vztahu" short="uprvz">
<element label="Druh vztahu" name="druh_vztahu" short="drvz" based-on="seznam">
<select>
<option value="jed">jednatel</option>
<option value="spl">společník</option>
<option value="zam">zaměstnanec</option>
<option value="ext">externista</option>
</select>
</element>
<element label="Funkce v rámci subjektu" name="funkce_v_subjektu" short="fus" based-on="kratky_text"/>
</area>
</content>
<services>
<area name="jmena_a_adresa">
<element name="obchodni_jmeno" take-from="/subjekt/obchodni_jmeno"/>
<area label="" name="cele_jmeno" take-from="/inicialy_zastupce/cele_jmeno"/>
<area label="" name="adresa" take-from="/subjekt/provozovna/korespondencni_adresa"/>
</area>
<element name="klic_subjektu_zastupce" take-from="/subjekt/dkey"/>
</services>
</DocumentDef>

Podíváme-li se na tuto definici, uvidíme, že pomocí její první oblasti jsme vytvořili propojení na dokument člověka a pomocí druhé oblasti propojení na dokument subjektu. Dále zde máme opakovatelnou oblast s vlastním zdrojem pro uložení přímých pracovních telefonů na zástupce subjektu. V poslední oblasti pak již vidíme pouze upřesnění takto vytvořeného vztahu.


XDS příkladDAD příkladu