XDS příklad
Nyní se podíváme, jak se rozloží dokument, který obsahuje dvě opakování na jedné větvi dokumentu. Bude to dokument subjekt, kam se budou zaznamenávat všechny údaje o firmách, právnických osobách a státních úřadech. Tento dokument bude umožňovat zadání několika provozoven subjektu, kde každá z nich může obsahovat více telefonních čísel.
<DocumentDef>
<label>Subjekt</label>
<name>subjekt</name>
<group>kontakty</group>
<content>
<area label="Označení" name="oznaceni">
<element label="Obchodní jméno" name="obchodni_jmeno" short="ojm" based-on="kratky_text"/>
<area label="Adresa sídla" name="adresa_sidla" based-on="adresa"/>
</area>
<area label="Provozovna" name="provozovna" repetition="type:user">
<element label="Označení provozovny" name="oznaceni_provozovny" short="opr" based-on="kratky_text"/>
<area label="Korespondenční adresa" name="korespondencni_adresa" based-on="adresa"/>
<area name="telefon" based-on="telefon" repetition="type:user"/>
<element label="E-mail" name="email" short="eml" based-on="kratky_text" repetition="type:user"/>
</area>
<area label="Další údaje" name="dalsi_udaje">
<element label="IČ" name="ic" short="ico" based-on="cislo"/>
<element label="WWW" name="www" short="www" based-on="kratky_text"/>
</area>
<area label="Zařazení subjektu" name="zarazeni_subjektu">
<element label="Je subjekt zákazníkem" name="je_subjekt_zakaznikem" short="jezak" based-on="volba" initial="false"/>
<area label="Zařazení zákazníka" name="zarazeni_zakaznika" short="zarzak" appear-if="~je_subjekt_zakaznikem == true">
<element name="bonita_zakaznika" based-on="bonita"/>
<element label="Datum zařazení jako zákazníka" name="datum_zarz_zakaznika" short="dtmzrz" based-on="datum" initial="today()"/>
</area>
</area>
</content>
<services>
<area name="sidlo" take-from="/oznaceni/adresa_sidla" based-on="adresa">
<element name="obchodni_jmeno" order="1" take-from="/-/obchodni_jmeno"/>
</area>
<area name="korespondencni_adresa" take-from="/provozovna/korespondencni_adresa" based-on="adresa">
<element name="obchodni_jmeno" order="1" take-from="/oznaceni/obchodni_jmeno"/>
<element name="oznaceni_provozovny" order="2" take-from="/-/oznaceni_provozovny"/>
</area>
<element name="bonita_subjektu_jako_zakaznika" take-from="/zarazeni_subjektu/zarazeni_zakaznika/bonita_zakaznika"/>
</services>
</DocumentDef>