Шаблон modules.xsl отвечает за обработку списков, форм, отчетов. Все элементы интерфейса описываются в теге metadata. Тип элемента интерфейса определяет атрибут @type, который принимает значения list, form, report.
Metadata списков, например, функция journal COREmanager:
<metadata name="journal" type="list" key="id" mgr="core">
<toolbar view="buttontext">
<toolbtn func="journal.edit" type="edit" img="t-edit" name="edit" default="yes" sprite="yes"/>
<toolbtn func="journal.stat" type="list" img="t-credit" name="report" sprite="yes"/>
<toolbtn func="journal.settings" type="new" img="t-attr" name="settings" sprite="yes"/>
</toolbar>
<coldata>
<col name="time" type="data" sort="alpha" sorted="yes" width="26%"/>
<col name="user" type="data" sort="alpha" width="9%"/>
<col name="ip" sort="alpha" type="data" width="40%"/>
<col name="funcname" sort="alpha" type="data" width="24%"/>
</coldata>
</metadata>
Metadata форм, например, функция journal.edit COREmanager:
<metadata name="journal.edit" type="form" mgr="core" decorated="yes">
<form nosubmit="yes">
<field name="time">
<input type="text" name="time" readonly="yes"/>
</field>
<field name="user">
<input type="text" name="user" readonly="yes"/>
</field>
<field name="ip">
<input type="text" name="ip" readonly="yes"/>
</field>
<field name="funcname">
<input type="text" name="funcname" readonly="yes"/>
</field>
<field name="params">
<textarea name="params" rows="15" readonly="yes"/>
</field>
</form>
</metadata>
Metadata отчетов, например функция journal.stat COREmanager:
<metadata name="journal.stat" type="report" level="30" firstrun="no" mgr="core">
<toolbar view="buttontext">
<toolbtn func="journal" type="back" img="t-back" name="back" sprite="yes"/>
</toolbar>
<text name="title"/>
<form>
<field name="period">
<select period="yes" name="period">
<if value="other"/>
<else hide="periodstart"/>
<else hide="periodend"/>
</select>
</field>
<field name="periodstart">
<input type="text" name="periodstart" date="yes"/>
</field>
<field name="periodend">
<input type="text" name="periodend" date="yes"/>
</field>
</form>
<band name="function" psort="funcname">
<diagram name="func" label="funcname" data="percentage" type="pie"/>
<col name="funcname" type="data" total="count" link="yes"/>
<col name="percentage" type="data" sort="digit" sorted="desc"/>
<band name="user" psort="funcname">
<diagram name="user" label="username" type="histogram">
<line data="percentage"/>
</diagram>
<col name="username" type="data" total="count"/>
<col name="percentage" type="data" sort="digit" sorted="desc"/>
</band>
</band>
</metadata>
Так же modules.xsl обрабатывает функцию прогесса (progress.get).