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:

example
<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 a descr 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.


Definice dokumentu kontaktDefinice tabulky kontaktůDefinice modifikátoru gridDefinice stránky