Введение

Файл хранится в кодировке UTF-8. Корневой элемент файла имеет тег gui с атрибутами version и orientation. Необязательный атрибут orientation задаёт ориентацию экрана, в которой может работать скин. Возможные значения: land, port, hor, vert.
Дочерние элементы описывают окна интерфейса.
Особую роль играет раздел declaration: описанные здесь элементы не приводят к созданию объектов, а лишь задают атрибуты «по умолчанию». Элементы этого раздела могут быть двух видов: без атрибута id и с атрибутом id («шаблоны»). В первом случае атрибуты элемента распространяются на все объекты данного типа, а во втором – на те объекты, у которых значение атрибута sourceId такое же, как значение id у данного элемента. Например:

examle.xml
<button bgColor=”red”/>
<button id=”TextButton” fontColor=”white”/>
<button id=”OKButton” sourceId=”TextButton”/> 

В примере объект TextButton наследует атрибут bgColor=”red”, а объект OKButton наследует атрибуты bgColor=”red” и fontColor=”white”.
Если с помощью sourceId наследуется контейнер, содержащий несколько элементов внутри, эти внутренние элементы можно изменить, указав их идентификаторы. Например:

<group id="Group1">
  <button id="Button1" text="Старый текст"/>
</group>
...
<group sourceId="Group1">
  <button id="Button1" text="Новый текст"/>
</group>

Специальный тег template описывает шаблон, не относящийся к какому-либо типу объектов. Его можно использовать не только в разделе declaration, но и внутри форм, диалогов и списков.
В разделе declaration может присутствовать один или несколько разделов const с произвольным количеством атрибутов, которые задают значение констант. Константы можно указывать в качестве значений атрибутов, а также в тегах bbCode, color и size.
Помимо обычных тегов, есть метатеги include, if, ifnot.