Definice dokumentu kontakt
Nejprve se podíváme na definici třídy comex.document.form pro dokument kontakt, kterou z patřičného XDS, sestaveného dle potřeb aplikace, vygeneruje replikátor:
<cxd:definition xmlns:cxd="http://www.flexideo.com/comex/definition"> <cxd:document langs="omitted" name="kontakt"> <cxd:header> <cxd:general icon="kontakt.png"/> <cxd:document-features short="osb" xds-id="10000001" key-xds-id="10000001" color="green"/> </cxd:header> <cxd:form> <cxd:checking> <cxd:check on-save="stop" on-change="none" operator="and"> <cxd:call-method name="not" target="comex.global.functions:common.Bool" operator="array"> <cxd:call-method name="existNode" target="comex.global.functions:common.Special" operator="array"> <cxd:call-method name="getDocValue" content="/telefony/telefon/telef_cislo"/> <cxd:value content=".!="""/> </cxd:call-method> </cxd:call-method> </cxd:check> </cxd:checking> <cxd:content> <cxd:area name="x_common" xds-id="10000002" short="xc"> <cxd:element name="label" xds-id="10000003" short="lbl" type="varc_150"> <cxd:input form="field" length="15"/> </cxd:element> <cxd:element name="author" xds-id="10000005" short="auth" initial="0"> <cxd:input form="field" length="20"/> </cxd:element> ... </cxd:area> <cxd:area name="jmena" xds-id="10000024" short="jmn"> <cxd:element name="titul" xds-id="10000025" short="ttl" type="varc_10"> <cxd:input form="field" length="5"/> </cxd:element> <cxd:element name="krestni_jmeno" xds-id="10000026" short="krsjmn" type="varc_30"> <cxd:input form="field" length="15"/> </cxd:element> <cxd:element name="prijmeni" xds-id="10000027" short="prjm" type="varc_30"> <cxd:input form="field" length="15"/> </cxd:element> </cxd:area> <cxd:area name="adresy" xds-id="10000032" short="adrs"> <cxd:area name="trvale_bydliste" xds-id="10000033" short="trvbdl"> <cxd:element name="ulice" xds-id="10000034" short="ulc" type="varc_150"> <cxd:input form="field" length="30"/> </cxd:element> <cxd:element name="obec" xds-id="10000035" short="obec" concept="left-break" type="varc_150"> <cxd:input form="field" length="25"/> </cxd:element> <cxd:element name="psc" xds-id="10000037" short="psc" concept="left-break" type="varc_6"> <cxd:input form="field" length="6"/> </cxd:element> </cxd:area> <cxd:area name="koresp_adresa" xds-id="10000039" short="krsadr"> <cxd:repetition rule="user" visible="3"/> <cxd:element name="ulice" xds-id="10000041" short="ulc" type="varc_150"> <cxd:input form="field" length="30"/> </cxd:element> <cxd:element name="obec" xds-id="10000042" short="obec" concept="left-break" type="varc_150"> <cxd:input form="field" length="25"/> </cxd:element> <cxd:element name="psc" xds-id="10000044" short="psc" concept="left-break" type="varc_6"> <cxd:input form="field" length="6"/> </cxd:element> </cxd:area> <cxd:element name="email" xds-id="10000046" short="eml" type="varc_40_p1"> <cxd:repetition rule="user" visible="4"/> <cxd:input form="field" length="18" nature="email"/> </cxd:element> </cxd:area> <cxd:area name="telefony" xds-id="10000047" short="tlfn"> <cxd:area name="telefon" xds-id="10000048" short="tlfn" concept="inline"> <cxd:repetition rule="user" visible="5" init-amount="2" table-face="true"/> <cxd:element name="druh_spojeni" xds-id="10000049" short="drhspj" concept="inline" initial="tlfn" type="char_4"> <cxd:input form="dropdown"> <cxd:option value="tlfn"/> <cxd:option value="mobi"/> <cxd:option value="telk"/> <cxd:option value="teld"/> <cxd:option value="jine"/> </cxd:input> </cxd:element> <cxd:element name="telef_cislo" xds-id="10000050" short="tlfcsl" concept="inline" type="varc_20"> <cxd:input form="field" length="15" mask="mTelefon"/> </cxd:element> </cxd:area> </cxd:area> <cxd:area name="dalsi_udaje" xds-id="10000058" short="dlsud"> <cxd:element name="rodne_cislo" xds-id="10000059" short="rdncsl" type="varc_11"> <cxd:input form="field" length="11" mask="mRodneCislo"/> </cxd:element> <cxd:element name="datum_narozeni" xds-id="10000060" short="dtmnrz" type="comex.date"> <cxd:input form="field" length="10" nature="date"/> </cxd:element> <cxd:element name="id_osoby" xds-id="10000061" short="idosb" type="numb_8"> <cxd:input form="textarea" length="10" lines="flexible"/> </cxd:element> <cxd:element name="jine_poznamky" xds-id="10000062" short="jnpzn" type="text_1000"> <cxd:input form="textarea" length="50" lines="flexible"/> </cxd:element> </cxd:area> </cxd:content> </cxd:form> <cxd:types> <cxd:type name="varc_150" base="comex.varc" max-length="150"/> <cxd:type name="varc_10" base="comex.varc" max-length="10"/> <cxd:type name="varc_30" base="comex.varc" max-length="30"/> <cxd:type name="varc_11" base="comex.varc" max-length="11"/> <cxd:type name="numb_8" base="comex.numb" total-digits="8"/> <cxd:type name="varc_6" base="comex.varc" max-length="6"/> <cxd:type name="char_4" base="comex.char" length="4"/> <cxd:type name="varc_40_p1" base="comex.varc" max-length="40" pattern="([a-z]|[A-Z]|[0-9]|.|-_)+@([a-z]|[A-Z]|[0-9]|.|-_)+"/> <cxd:type name="varc_20" base="comex.varc" max-length="20"/> <cxd:type name="text_1000" base="comex.text" max-length="1000"/> </cxd:types> </cxd:document> </cxd:definition>
V úvodu je v uzlu document uveden atribut langs="omitted", což znamená, že definice neobsahuje žádné doprovodné, uživatelsky zobrazované texty, ale jde pouze o funkční definici.
Texty jako label, content adescr jsou uváděny v samostatném souboru vždy pro jeden konkrétní jazykovou mutaci. Vedle běžných kolonek v oblasti jména, adres a dalších kolonek je v definici také zavedeno jedno kontrolní pravidlo, které ověřuje zadání telefonního čísla v opakovatelné oblasti, která ve formuláři vytváří tabulku telefonních čísel.
Popis všech možností definice viz. schema document.
Z této definice se pak odvíjí nastavení tabulky pro zobrazení seznamu nalezených kontaktů v další části.