XML
De ISPWiki.
Introduction
Все описания форм, таблиц, меню и сообщения панели управления хранятся в XML-файлах в каталоге /usr/local/ispmgr/etc. Все используемые панелью XML-файлы написаны в кодировке UTF-8. Результатом выполнения панелью управления любой операции изначально также является документ XML.
Мы не рекомендуем изменять файлы XML, которые идут в комплекте с панелью управления. Но, тем не менее, вы можете добавлять собственные формы и таблицы, добавлять или убирать поля существующих форм. Для этого существуют механизмы Plugins et Evénements.
Данная статья посвящена описанию файлов XML, используемых панелью управления.
Следующая группа атрибутов может быть использована практически с любыми элементами, описывающими объекты интерфейса
<xs:attributeGroup name="isp:default"> <xs:attribute name="if" type="xs:string"/> <xs:attribute name="level" type="xs:string"/> </xs:attributeGroup>
- attribut if
- Определяет условие (Feature), при котором этот элемент доступен. Список допустимых значений этого атрибута можно получить, используя функцию панели управления featurelist.
- attribut level
- Уровень доступа, который должен иметь пользователь, чтобы увидеть этот тэг. Несколько уровней может быть перечислено через пробел.
Корневой элемент XML (mgrdata)
<xs:element name="mgrdata">
<xs:complexType>
<xs:sequence>
<xs:element minOccurs="1" maxOccurs="1" ref="mainmenu"/>
<xs:choice maxOccurs="unbounded">
<xs:element ref="handler"/>
<xs:element ref="metadata"/>
</xs:choice>
</xs:sequence>
</xs:complexType>
</xs:element>
Описание интерфейса панели управления состоит из нескольких основных элементов:
- элемент mainmenu
- Содержимое главного меню. Может быть только один такой элемент.
- элемент metadata
- Описание интерфейса диалогов, списков и всех прочих функциональных элементов интерфейса.
- элемент handler
- Описание внешнего обработчика запросов.
Главное меню (элемент mainmenu)
<xs:element name="mainmenu">
<xs:complexType>
<xs:sequence>
<xs:element maxOccurs="unbounded" ref="node"/>
</xs:sequence>
<xs:attribute name="level" use="required" type="xs:integer"/>
<xs:attribute name="name" use="required" type="xs:NCName"/>
<xs:attribute name="startpage" use="required" type="xs:NCName"/>
</xs:complexType>
</xs:element>
Главное меню разделено на подразделы узлами верхнего уровня.
- атрибут level
- Какой уровень доступа описывает данное меню.
- атрибут name
- Имя меню. Может принимать любые значения, реально не используется.
- атрибут startpage
- Имя открываемой страницы по умолчанию (при вызове панели управления без заданного значения параметра func, либо при func=desktop). Необходимо указать имя существующей функции. Например, startpage="user".
- элемент node
- Описывает элементы меню и его подразделы.
Элемент меню (элемент node)
<xs:element name="node">
<xs:complexType>
<xs:sequence>
<xs:element minOccurs="0" ref="node"/>
</xs:sequence>
<xs:attribute name="name" use="required" type="xs:NCName"/>
</xs:complexType>
</xs:element>
Элемент node описывает элемент меню (нет дочерних узлов), либо его подраздел (дочерними node описываются элементы).
- атрибут name
- Имя функции, которую необходимо вызвать. Кроме того, служит для привязки к языкам.
Внешние обработчики (элемент handler)
<xs:element name="handler">
<xs:complexType>
<xs:choice minOccurs="1" maxOccurs="unbounded">
<xs:element minOccurs="0" maxOccurs="unbounded" ref="func"/>
<xs:element minOccurs="0" maxOccurs="unbounded" ref="event"/>
</xs:choice>
<xs:attribute name="name" use="required" type="xs:NCName"/>
<xs:attribute name="type" use="required" type="xs:NCName"/>
</xs:complexType>
</xs:element>
Каждый внешний обработчик описывается отдельным handler.
- атрибут name
- Имя запускаемого файла из каталога /usr/local/ispmgr/addon.
- атрибут type
- Тип внешнего обработчика. Может принимать одно из следующих значений: xml, cgi.
- элемент func
- Имя функции, которую выполняет внешний обработчик. Может быть таких элементов.
- элемент event
- Позволяет выполнять пользовательское действие при обращении к уже существующей функции.
Элемент func
Элемент func не может иметь никаких дочерних элементов или атрибутов. Содержит имя функции.
Элемент event
<xs:element name="event">
<xs:complexType>
<xs:attribute name="before" type="xs:NCName"/>
<xs:attribute name="after" type="xs:NCName"/>
</xs:complexType>
</xs:element>
- атрибут before
- Если задан, событие будет выполнено перед основной функцией.
- атрибут after
- Если задан, событие будет выполнено после основной функции.
Элемент должен содержать имя существующей функции, к которой надо создать дополнительное действие. Например:
<handler name="myscript.php"> <event after="yes">user.edit</event> </handler>
Описание интерфейса (элемент metadata)
<xs:element name="metadata">
<xs:complexType>
<xs:sequence>
<xs:element minOccurs="0" ref="text"/>
<xs:element minOccurs="0" maxOccurs="unbounded" ref="form"/>
<xs:choice minOccurs="0">
<xs:element ref="band"/>
<xs:element ref="script"/>
</xs:choice>
<xs:element minOccurs="0" ref="toolbar"/>
<xs:element minOccurs="0" ref="diagram"/>
<xs:element minOccurs="0" ref="coldata"/>
<xs:choice minOccurs="0" maxOccurs="unbounded">
<xs:element ref="jscript"/>
<xs:element ref="externalscript"/>
</xs:choice>
</xs:sequence>
<xs:attribute name="autoupdate" type="xs:integer"/>
<xs:attribute name="if" type="xs:NCName"/>
<xs:attribute name="key" type="xs:NCName"/>
<xs:attribute name="name" use="required" type="xs:NCName"/>
<xs:attribute name="onsubmit" type="xs:NCName"/>
<xs:attribute name="selficon" type="xs:NCName"/>
<xs:attribute name="top" type="xs:NCName"/>
<xs:attribute name="type" use="required" type="xs:NCName"/>
</xs:complexType>
</xs:element>
Каждый metadata описывает один элемент интерфейса.
- атрибут type
- Тип элемента интерфейса. Может принимать значения form (описывает форму ввода) и list (описывает список данных).
- атрибут name
- Задаёт имя функции, которую описывает данный элемент.
- атрибут top
- Если "yes", форма является элементом верхнего уровня. К таковым относятся форма логина, регистрации и т.д.
- атрибут autoupdate
- Задаёт интервал автоматического обновления страницы, в секундах.
- атрибут if
- См. введение.
- атрибут key
- Ключевое поле (используется для списков).
- атрибут onsubmit
- Если равен "yes", перед отправкой данных формы на сервер будет вызвана функция JavaScript event_submit().
- атрибут selficon
- Этот список имеет свой собственный логотип. Значение параметра — имя картинки.
- элемент form
- Может существовать только если type="form". Описывает поля формы.
- элемент coldata
- Может существовать только если type="list". Описывает поля таблицы данных.
- элемент toolbar
- Может существовать только если type="list". Описывает панель инструментов таблицы.
- элемент diagram
- Может существовать только если type="list". Служит для создания диаграм на основе данных таблицы.
- элемент text
- элемент band
- элемент jscript
- Позволяет добавить к элементу дополнительный код JavaScript
- элемент externalscript
- Служит для загрузки браузером кода JavaScript из внешних файлов.
Описание списков
Панель инструментов (элемент toolbar)
<xs:element name="toolbar">
<xs:complexType>
<xs:choice minOccurs="0" maxOccurs="unbounded">
<xs:element ref="toolbtn"/>
<xs:element ref="toolsep"/>
</xs:choice>
</xs:complexType>
</xs:element>
Панель инструментов может содержать кнопки и разделители. Они описываются, соответственно, дочерними элементами toolbtn и toolsep.
Кнопка панели инструментов (элемент toolbtn)
<xs:element name="toolbtn">
<xs:complexType>
<xs:attribute name="default" type="xs:NCName"/>
<xs:attribute name="func" use="required"/>
<xs:attribute name="if" type="xs:NCName"/>
<xs:attribute name="img" use="required" type="xs:NCName"/>
<xs:attribute name="level"/>
<xs:attribute name="name" use="required" type="xs:NCName"/>
<xs:attribute name="noapi" type="xs:NCName"/>
<xs:attribute name="type" use="required" type="xs:NCName"/>
</xs:complexType>
</xs:element>
- атрибут func
- Имя функции, которая будет позвана при нажатии на кнопку.
- атрибут img
- имя картинки, которая будет отображена на кнопке. Необходимо указать без расширения.
- атрибут default
- Значение "yes" является признаком действия по умолчанию (например, при двойном щелчке по строке таблицы).
- атрибут if
- См. введение.
- атрибут level
- См. введение.
- атрибут name
- Имя кнопки. Должно иметь уникальное значение в пределах одного metadata. Необходимо для привязки к языкам.
- атрибут noapi
- Данная кнопка не доступна через API.
- атрибут type
- Тип действия кнопки. См. ниже.
Атрибут type может принимать значения:
- new
- Будет показана форма создания нового элемента.
- back
- Вернуться к предыдущему списку.
- edit
- Вызов формы редактирования одного выбранного элемента.
- editlist
- Вызов функции-списка, для которого родительским элементом (plid) будет являться выбранный элемент в текущем списке.
- func
- Будет вызвана указанная в атрибуте func функция JavaScript.
- group
- Групповая операция над выбранными элементами.
- groupform
- Вызов формы группового редактирования выбранных элементов.
- groupformnosel
- Аналог groupform за тем исключением, что позволяет вызов функции, когда ни один элемент таблицы не выбран.
Разделитель панели инструментов (элемент toolsep)
<xs:element name="toolsep">
<xs:complexType>
<xs:attribute name="level" type="xs:integer"/>
</xs:complexType>
</xs:element>
- атрибут level
- См. введение.
Описание колонок таблицы (элемент coldata)
<xs:element name="coldata">
<xs:complexType>
<xs:sequence>
<xs:element maxOccurs="unbounded" ref="col"/>
</xs:sequence>
</xs:complexType>
</xs:element>
Содержит список колонок (элементы "col").
Описание колонки (элемент col)
<xs:element name="col">
<xs:complexType>
<xs:sequence>
<xs:element minOccurs="0" maxOccurs="unbounded" ref="prop"/>
</xs:sequence>
<xs:attribute name="align" type="xs:NCName"/>
<xs:attribute name="if" type="xs:NCName"/>
<xs:attribute name="level"/>
<xs:attribute name="name" use="required" type="xs:NCName"/>
<xs:attribute name="sort" type="xs:NCName"/>
<xs:attribute name="sorted" type="xs:NCName"/>
<xs:attribute name="stat" type="xs:NCName"/>
<xs:attribute name="total" type="xs:NCName"/>
<xs:attribute name="type" type="xs:NCName"/>
<xs:attribute name="width" type="xs:NMTOKEN"/>
<xs:attribute name="wrap" type="xs:NCName"/>
</xs:complexType>
</xs:element>
- атрибут name
- Имя колонки. Должно иметь уникальное значение в пределах одного metadata. Необходимо для привязки к языкам.
- атрибут type
- Тип данных в колонке. Может принимать значения data (данные от панели управления; по умолчанию), indicator (индикатор; значения лимита и фактического использования передаёт панель управления), msg (показ сообщения, соответствующего переданному значению от панели управления).
- атрибут sort
- Задаёт тип сортировки данных в колонке. Возможные значения: alpha (алфавитная сортировка; по умолчанию), digit (сортировка в порядке числового возрастания), file (сортировка по алфавиту, сначала отобразить директории, затем файлы), indicator (сортировка по "использованному значению" индикатора; только для колонок с индикаторами), ip (сортировка IP-адресов), prop (сортировка по наличию свойств; только для колонок, графически отображающих свойства).
- атрибут sorted
- если sorted="yes", таблица по умолчанию отсортирована по этой колонке.
- атрибут stat
- Показывать общее количество строк с таким полем внизу таблицы.
- атрибут wrap
- Если установлен, переносы строк в данных не будут проигнорированы. Данные в колонке отображаются в много строк.
- атрибут align
- Выравнивание данных колонки. Может принимать значения left, right, center.
- атрибут width
- Ширина колонки по умолчанию.
- атрибут if
- См. Введение.
- атрибут level
- См. Введение.
- элемент prop
- Описывает свойство. Только для sort="prop".
Описание свойства (элемент prop)
<xs:element name="prop">
<xs:complexType>
<xs:attribute name="animated" type="xs:NCName"/>
<xs:attribute name="defimg" type="xs:NCName"/>
<xs:attribute name="if" type="xs:NCName"/>
<xs:attribute name="name" use="required" type="xs:NCName"/>
<xs:attribute name="onimg" use="required" type="xs:NCName"/>
<xs:attribute name="stat" type="xs:NCName"/>
</xs:complexType>
</xs:element>
Специальная колонка свойств может содержать одно или несколько вхождений. Каждое свойство описывается дочерним элементом prop со следующими атрибутами:
- атрибут animated
- Картинка onimg — анимированный gif файл.
- атрибут defimg
- Картинка, которая будет отображена, если свойство отсутствует.
- атрибут name
- Имя свойства. Необходимо для привязки к языкам.
- атрибут onimg
- Картинка, которая будет отображена, если свойство присутствует в этой строке таблицы.
- атрибут stat
- Показывать общее количество строк с таким свойством внизу таблицы.
- атрибут if
- См. Введение.
Описание диаграм (элемент diagram)
<xs:element name="diagram">
<xs:complexType>
<xs:sequence>
<xs:element minOccurs="0" maxOccurs="unbounded" ref="line"/>
</xs:sequence>
<xs:attribute name="data" type="xs:NCName"/>
<xs:attribute name="label" use="required" type="xs:NCName"/>
<xs:attribute name="type" use="required" type="xs:NCName"/>
</xs:complexType>
</xs:element>
К таблицам возможно добавить визуальное отображение данных. Для этого служит элемент diagram.
- атрибут type
- Тип графика. Возможные значения: line, histogram, pie.
- атрибут data
- Из какой колонки взять данные для круговой диаграммы (только для type="pie").
- атрибут label
- Из какой колонки взять подпись к значениям.
- элемент line
- Один или несколько таких элементов описывают данные, которые должны быть отображены на графике.
Описание данных графика (элемент line)
<xs:element name="line">
<xs:complexType>
<xs:attribute name="data" use="required" type="xs:NCName"/>
</xs:complexType>
</xs:element>
- data
- Содержит имя колонки, из которой необходимо брать значения для графика.
Описание форм
<xs:element name="form">
<xs:complexType>
<xs:choice>
<xs:choice minOccurs="0" maxOccurs="unbounded">
<xs:element ref="field"/>
<xs:element ref="page"/>
</xs:choice>
</xs:choice>
<xs:attribute name="autocomplete" type="xs:NCName"/>
<xs:attribute name="cancelrefresh" type="xs:NCName"/>
<xs:attribute name="enctype"/>
<xs:attribute name="event" type="xs:NCName"/>
<xs:attribute name="height" type="xs:integer"/>
<xs:attribute name="id" type="xs:NCName"/>
<xs:attribute name="maxwidth" type="xs:NCName"/>
<xs:attribute name="wizard" type="xs:NCName"/>
</xs:complexType>
</xs:element>
Для описания формы, необходимо создать дочерний элемент form в metadata.
- атрибут autocomplete
- Если имеет значение "off", автозаполнение будет отключено.
- атрибут cancelrefresh
- Если атрибут задан, то список, из которого была вызвана форма, будет обновлён и при нажатии кнопки Cancel.
- атрибут enctype
- Кодирование данных формы при отправке. Например, "multipart/form-data".
- атрибут event
- Если задано, при нажатии на Ok будет вызвана функция JavaScript frm_event().
- атрибут height
- Высота формы.
- атрибут maxwidth
- Если задан, форма по умолчанию будет открываться максимальной ширины.
- атрибут wizard
- Если задан, форма будет иметь вид мастера. При этом, значение "first" будет отображать первую страницу, "middle" одну из срединных, "last" последнюю.
- элемент field
- Описывает поле формы.
- элемент page
- Служит для создания форм с множеством вкладок.
Вкладки (элемент page)
<xs:element name="page">
<xs:complexType>
<xs:sequence>
<xs:element maxOccurs="unbounded" ref="field"/>
</xs:sequence>
<xs:attribute name="name" use="required" type="xs:NCName"/>
</xs:complexType>
</xs:element>
- атрибут name
- Имя вкладки. Необходимо для связки с языками.
- элементы field
- Описывают поля, которые есть на данной вкладке.
Описание полей формы (элемент field)
<xs:element name="field">
<xs:complexType>
<xs:sequence>
<xs:element minOccurs="0" ref="htmldata"/>
<xs:element minOccurs="0" ref="textarea"/>
<xs:choice minOccurs="0" maxOccurs="unbounded">
<xs:element ref="input"/>
<xs:element ref="select"/>
<xs:element ref="desc"/>
<xs:element ref="textdata"/>
</xs:choice>
<xs:element minOccurs="0" ref="link"/>
</xs:sequence>
<xs:attribute name="fullwidth" type="xs:NCName"/>
<xs:attribute name="id" type="xs:NCName"/>
<xs:attribute name="if" type="xs:NMTOKEN"/>
<xs:attribute name="level"/>
<xs:attribute name="name" type="xs:NCName"/>
<xs:attribute name="zoom" type="xs:integer"/>
</xs:complexType>
</xs:element>
- атрибут name
- Имя поля.
- атрибут fullwidth
- Развернуть горизонтально поле на всю ширину формы. Только для полей типа textarea.
- атрибут zoom
- Добавить функционал разворачивания текстового поля вертикально до заданного количества строк. Например: zoom="5".
- атрибут if
- См. Введение.
- атрибут level
- См. Введение.
- элемент input
- Соответствует input из HTML.
- элемент select
- Создать выпадающий список.
- элемент textdata
- Псевдополе, служит для вывода текстовой информации без возможности редактирования.
- элемент textarea
- Многострочное поле ввода.
- элемент desc
- Псевдополе, служит для создания подписей к checkbox.
Элемент input
<xs:element name="input">
<xs:complexType>
<xs:attribute name="checkpasswd" type="xs:NCName"/>
<xs:attribute name="date" type="xs:NCName"/>
<xs:attribute name="default" type="xs:NCName"/>
<xs:attribute name="empty" type="xs:NCName"/>
<xs:attribute name="event" type="xs:NCName"/>
<xs:attribute name="filter"/>
<xs:attribute name="hide"/>
<xs:attribute name="id" type="xs:NCName"/>
<xs:attribute name="level" type="xs:integer"/>
<xs:attribute name="maxlength" type="xs:integer"/>
<xs:attribute name="name" use="required" type="xs:NCName"/>
<xs:attribute name="readonly" type="xs:NCName"/>
<xs:attribute name="show"/>
<xs:attribute name="type" use="required" type="xs:NCName"/>
<xs:attribute name="unlimit" type="xs:integer"/>
<xs:attribute name="value"/>
<xs:attribute name="width"/>
</xs:complexType>
</xs:element>
- атрибут name
- Имя поля.
- атрибут type
- Тип поля. Может иметь значения text, checkbox.
- атрибут checkpasswd
- Содержит имя поле, с которым сравнить значение текущего. Если значения не совпадают — будет выведено сообщение о несовпадающих паролях.
- атрибут date
- Если задано, к полю будет прикреплена кнопка вызова календаря. Только для type="text".
- атрибут default
- Значение по умолчанию. Только для type="text".
- атрибут empty
- Если равно "no", перед отправкой данных формы будет проверено, что поле не пустое. Только для type="text".
- атрибут event
- Если задано, при изменении значения будет вызвана функция JavaScript ИМЯПОЛЯ_event(), где ИМЯПОЛЯ — значение атрибута name.
- атрибут hide
- Перечисленные поля будут скрыты, когда checkbox будет установлен. Например: hide="'os','hostname','disk'".
- атрибут maxlength
- Максимальная длина поля.
- атрибут readonly
- Если задано, поле будет только для чтения.
- атрибут show
- Перечисленные поля будут показаны, когда checkbox будет установлен. Например: show="'os','hostname','disk'".
- атрибут unlimit
- Добавить к полю кнопку установки бесконечного значения. Чему равна бесконечность передаётся в качестве значения этому атрибуту.
- атрибут value
- Значение поля по умолчанию.
- атрибут width
- Ширина поля.
- атрибут level
- См. Введение.
Многострочное поле ввода (элемент textarea)
<xs:element name="textarea">
<xs:complexType>
<xs:attribute name="height" type="xs:integer"/>
<xs:attribute name="id" type="xs:NCName"/>
<xs:attribute name="name" use="required" type="xs:NCName"/>
<xs:attribute name="readonly" type="xs:NCName"/>
<xs:attribute name="rows" type="xs:integer"/>
<xs:attribute name="wrap" type="xs:NCName"/>
</xs:complexType>
</xs:element>
- атрибут name
- Имя поля.
- атрибут height
- Высота поля.
- атрибут readonly
- Если задано, поле будет только для чтения.
- атрибут rows
- Количество строк в поле ввода.
- атрибут wrap
- Если "off", строки не будут переноситься.
Выпадающий список (элемент select)
<xs:element name="select">
<xs:complexType>
<xs:sequence>
<xs:element minOccurs="0" maxOccurs="unbounded" ref="if"/>
<xs:element minOccurs="0" ref="else"/>
</xs:sequence>
<xs:attribute name="depend" type="xs:NCName"/>
<xs:attribute name="type" type="xs:NCName"/>
<xs:attribute name="dependact" type="xs:NCName"/>
<xs:attribute name="dependindex" type="xs:integer"/>
<xs:attribute name="event" type="xs:NCName"/>
<xs:attribute name="filter"/>
<xs:attribute name="id" type="xs:NCName"/>
<xs:attribute name="level" type="xs:integer"/>
<xs:attribute name="name" use="required" type="xs:NCName"/>
<xs:attribute name="readonly" type="xs:NCName"/>
<xs:attribute name="sorted" type="xs:NCName"/>
<xs:attribute name="urlopen" type="xs:integer"/>
<xs:attribute name="values"/>
</xs:complexType>
</xs:element>
- attribut name
- Имя поля.
- attribut depend
- Если задано, показываемый выбор этого списка будет зависеть от текущего значения другого списка, имя которого передано в качестве значения этому атрибуту.
- attribut type
- Тип селекта, используется для вставки radiobutton в форму, значение type="radio".
- attribut dependindex
- Индекс массива в родительском списке с которым необходимо сравнивать значения этого списка при отборе.
- attribut event
- Если задано, при изменении значения будет вызвана функция JavaScript ИМЯПОЛЯ_event(), где ИМЯПОЛЯ — значение атрибута name.
- attribut readonly
- Если задано, поле будет только для чтения.
- attribut sorted
- Отсортировать по описанию значений. Возможные значения: asc (в прямом порядке), desc (в обратном порядке).
- attribut urlopen
- Если задана, к элементу будет добавлена кнопка открытия URL в отдельном окне. URL берётся из значения массива select. Индекс в массиве передаётся в качестве значения атрибута.
- attribut values
- Позволяет прямо из описывающей интерфейс XML задать список возможных значений. Описания значений будут взяты из языков. Например: values="404 505 200".
- attribut level
- См. Введение.
Дочерние элементы if и else
<xs:element name="if">
<xs:complexType>
<xs:attribute name="hide"/>
<xs:attribute name="show"/>
<xs:attribute name="value"/>
</xs:complexType>
</xs:element>
<xs:element name="else">
<xs:complexType>
<xs:attribute name="hide"/>
<xs:attribute name="show"/>
</xs:complexType>
</xs:element>
Элемент select может содержать дочерние элементы if и else. Они служат для задания поведения формы, в зависимости от выбранного значения из списка.
- атрибут value
- Задаёт значение, при совпадении выбранного из списка с которым должно происходить действие.
- атрибут show
- Задаёт список полей, которые необходимо показать при срабатывании условия.
- атрибут hide
- Задаёт список полей, которые необходимо спрятать при срабатывании условия.
Элемент Radiobutton (Элемент Select[type="radio"])
Обладает такими же свойствами как и выпадающий список select
Элемент htmldata
<xs:element name="htmldata">
<xs:complexType>
<xs:attribute name="chheight" type="xs:NCName"/>
<xs:attribute name="height" use="required" type="xs:integer"/>
<xs:attribute name="name" use="required" type="xs:NCName"/>
<xs:attribute name="scrolldown" type="xs:NCName"/>
</xs:complexType>
</xs:element>
Поле служит для отображения HTML-данных. HTML будет передан браузеру без всяких преобразований.
- атрибут name
- Имя поля.
- атрибут scrolldown
- Если установлен, при открытии формы содержимое поле будет перемотано вниз.
- атрибут chheight
- Позволить изменять высоту htmldata за счёт другого поля ввода (должно находиться ниже), id которого передано в качестве значения атрибута.
- атрибут height
- Высота поля.
Описание к checkbox (элемент desc)
<xs:element name="desc">
<xs:complexType>
<xs:attribute name="lmargin" type="xs:integer"/>
<xs:attribute name="name" use="required" type="xs:NCName"/>
</xs:complexType>
</xs:element>
С помощью desc можно отобразить однострочную информацию, без возможности её редактирования. Подпись будет привязана к одноимённому checkbox.
- атрибут name
- Имя поля.
- атрибут lmargin
- Позволяет задать отступ слева.
Вывод текстовой информации (элемент textdata)
<xs:element name="textdata">
<xs:complexType>
<xs:attribute name="name" use="required" type="xs:NCName"/>
<xs:attribute name="type" use="required" type="xs:NCName"/>
<xs:attribute name="warning" type="xs:NCName"/>
</xs:complexType>
</xs:element>
- атрибут name
- Имя поля.
- атрибут type
- Обязательное поле; принимает значения msg (содержимое псевдополя будет взято из соответствующего сообщения в языках) или data (содержимое взято от панели управления).
Описание языков и переводы
<xs:element name="lang">
<xs:complexType>
<xs:attribute name="name" use="required" type="xs:NCName"/>
<xs:sequence>
<xs:element minOccurs="1" maxOccurs="unbounded" ref="messages"/>
</xs:sequence>
</xs:complexType>
</xs:element>
- атрибут name
- Обязательный атрибут, содержащий код описываемого языка. Например, en, fr, ru, es.
- элемент messages
- Описывает сообщения для определённой функции.
Описание сообщений для функций (элемент messages)
<xs:element name="messages">
<xs:complexType>
<xs:attribute name="name" use="required" type="xs:NCName"/>
<xs:sequence>
<xs:element minOccurs="1" maxOccurs="unbounded" ref="msg"/>
</xs:sequence>
</xs:complexType>
</xs:element>
- атрибут name
- Обязательный атрибут, содержит имя описываемой функции.
- элемент msg
- Содержит сообщение.
Описание сообщения (элемент msg)
<xs:element name="msg">
<xs:complexType>
<xs:attribute name="name" use="required" type="xs:NCName"/>
</xs:complexType>
</xs:element>
- атрибут name
- Обязательный атрибут, содержит внутреннее имя сообщения.
Элемент не имеет дочерних узлов. В нём содержится текст сообщения.
Пример описания
<lang name="en">
<messages name="file.edit">
<msg name="encoding">Encoding</msg>
<msg name="hint_default">You can edit contents of your files here</msg>
<msg name="hint_encoding">Select the file encoding</msg>
<msg name="title">Edit file</msg>
<msg name="title_new">Edit file</msg>
</messages>
</lang>
Pour savoir en plus. Plugins.
