Definování modifikátoru
Účelem definice modifikátorů je zmapovat patřičný kus programového kódu, jeho metody, vlastnosti, události a další charakteristiky tak, aby bylo možné jej pomocí editoru snadno propojit s aplikačním obsahem patřičné třídy v rámcipožadované definice stránky (viz. příklad stránky). Jak ukazuje příklad definice modifikátoru, je základemdefinice kmenový uzel modifier. Klíčovou roli v tomto uzlu hraje atribut inclusion, kde je uveden neinstanční odkaz přiřazující definovaný modifikátor do konkrétní třídy a jejího rozsahu a zároveň přidělujemodifikátoru jedinečné jméno (v rámci třídy a rozsahu). Modifikátory, které jsou distribuovány spolu s technologií COMEX a jsou její součástí, nikdy v názvu neobsahují znak podtržítka. Proto se pro proprietální modifikátory doporučuje použít tohoto znaku,aby se spolehlivě v rámci třídy a rozsahu zabránilo i budoucímu překrytí názvu s některým modifikátorem původním.
Součásti definice modifikátoru
Dle schematu je v uzlu modifier třeba definovat, vedle popisků, také možné parametry, metody, vlastnosti a události.
<cxd:modifier
langs="mixed|omitted|only"
inclusion="{string}"
>
<cxd:lang/> ?
<cxd:params/> ?
<cxd:methods/> ?
<cxd:properties/> ?
<cxd:events/> ?
<cxd:types/> ?
</cxd:modifier>
Pro usnadnění v definici se opakujících datových typů je pak možné v uzlu modifikátoru definovat také vlastní datové typy, na které je v ostatních částech definice odkazováno. Definování těchto součástí viz. další popis.
Podřízené stránky
Události
Aby bylo možné aktivní propojování součástí na stránce, je třeba aby výchozí součást měla jednu nebo více událostí definovaných modifikátorem, kterým je součástka na stránce vytvářena. Každá konektivita sepropojuje teprve v okamžik vzniku události součásti a je-li definováno propojení, pak dojde ke komunikaci s jinou součástí nebo i jinou stránkou a opuštění stránky stávající, což je umožněnou obecnějším charakterem comex odkazů na cílové součásti.
Jazykové verze popisů a poznámek
Jak přímo kmenová definice modifier, tak také většina jejích potomků umožňuje vkládat do funkčních definic také patřičné popisky a komentáře ve formě uzlu lang]. Je sice možné vkládat pouze jeden uzel, který by měl obsahovat komentář v dohodnutém výchozím jazyce a kód tohoto jazyka je třeba uvádět, je možné jako potomky uvádět další uzly lang a využít jich pro uvedení překladů, tedyjazykových popisků pro další jazyky.
Metody
Vyjmenováním metod v definici modifikátoru dává tvůrce modifikátoru k dispozici nástroje pro manipulaci s komponentou, která je na stránce modifikátorem tvořena. U každé metody je vedle povinného názvu možné definovat vstupní a výstupní typy. U metod je dobré si všimnout, ženení definován běžný seznam argumentů funkce. Na argumentů se definuje jediný vstupní typ, který je strukturovaný. Struktura pak může obsahovat nejen pojmenované vlastnosti prostých typů, ale je k dispozici možnost popsat rozsáhlejší struktury předávaných objektů nebo také polí.
Parametry
Při vkládání modifikátoru na stránku, bude třeba, vedle uvedení jeho plné identifikace instančním odkazem v atributu source, uvést většinou také nějaké parametry. Parametry mají význam v tom, že je možné v rámci cílové stránky uvést některé výchozívlastnosti spojené s umístěním na dané stránce. Může to být například rozměr nebo nějaká povinná vlastnost apod. Záleží však zcela na tvůrci daného modifikátoru, jaké parametry bude modifikátor umožňovat nebo vyžadovat.
Vlastnosti
Každá komponenta na stránce vytváří objekt a jako takový má své povinné a volitelné vlastnosti. Povinné vlastnosti dané obecnou definicí (viz. pages, frames, modifiers) je možné dále rozšiřovat o nabídku dalšíchpotřebných.
Typy
V rámci definice modifikátoru je pro zjednodušení možné stanovit si vlastní pomocné datové typy, které pak jsou v další části definice modifikátoru odkazovány uvedením svého názvu do atributu type nebo base. K definici vlastníchtypů v rámci modifikátoru slouží uzel types. V tomto uzlu je pak uveden seznam vlastních typů v podobě uzlů type, které vycházejí ze základních datovýchtypů nebo popisují typy komplexní. Je rovněž možné vyjít z některého předchozího uzlu type v seznamu a dále jej upřesnit restrikcí, je-li definován typ prostý nebo rozšířit další strukturou, jde-li o typ strukturovaný.