XML

Материал из ISPWiki

Перейти к: навигация, поиск

Содержание

Введение

Все описания форм, таблиц, меню и сообщения панели управления хранятся в XML-файлах в каталоге /usr/local/ispmgr/etc. Все используемые панелью XML-файлы написаны в кодировке UTF-8. Результатом выполнения панелью управления любой операции изначально также является документ XML.

Мы не рекомендуем изменять файлы XML, которые идут в комплекте с панелью управления. Но, тем не менее, вы можете добавлять собственные формы и таблицы, добавлять или убирать поля существующих форм с помощью механизма Плагинов и Событий.

Данная статья посвящена описанию файлов XML, используемых панелью управления.

Следующая группа атрибутов может быть использована практически с любыми элементами, описывающими объекты интерфейса

<xs:attributeGroup name="isp:default">
  <xs:attribute name="if" type="xs:string"/>
  <xs:attribute name="level" type="xs:string"/>
</xs:attributeGroup>
атрибут if
Определяет условие (Feature), при котором этот элемент доступен. Список допустимых значений этого атрибута можно получить, используя функцию панели управления featurelist.
атрибут 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 level="7">
      <node name="tool">
        <node name="myconf"/>
      </node>
</mainmenu>

Описание меню (элемент 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:element minOccurs="0" ref="isform"/>
     </xs:sequence>
     <xs:attribute name="name" use="required" type="xs:NCName"/>
   </xs:complexType>
 </xs:element>

Элемент node описывает элемент меню (нет дочерних узлов), либо его подраздел (дочерними node описываются элементы).

атрибут name
Имя функции, которую необходимо вызвать. Кроме того, служит для привязки к языкам.
атрибут isform
Если значение равно "yes", то это вызов функции отображающей форму, а не список.

Внешние обработчики

Пример описания скрипта-обработчика

<handler name="myconf.pl" type="cgi">
       <func>myconf</func>
       <func>myconf.edit</func>
       <func>myconf.delete</func>
</handler>

Обработчик (элемент 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:attribute name="minlevel" type="xs:NCName"/>
   </xs:complexType>
 </xs:element>

Каждый внешний обработчик описывается отдельным handler.

атрибут name
Имя запускаемого файла из каталога /usr/local/ispmgr/addon.
атрибут type
Тип внешнего обработчика. Может принимать одно из следующих значений: xml, cgi.
атрибут minlevel
Минимальный уровень пользователя, имеющего доступ к функциям обработчика.
элемент func
Имя функции, которую выполняет внешний обработчик. Может быть таких элементов.
элемент event
Позволяет выполнять пользовательское действие при обращении к уже существующей функции.

Элемент func

 <xs:element name="func">
   <xs:complexType>
     <xs:attribute name="minlevel" type="xs:NCName"/>
   </xs:complexType>
 </xs:element>
атрибут minlevel
Если задан, минимальный уровень пользователя, имеющего доступ к функции.

Элемент func cодержит имя функции.

Элемент event

 <xs:element name="event">
   <xs:complexType>
     <xs:attribute name="before" type="xs:NCName"/>
     <xs:attribute name="after" type="xs:NCName"/>
     <xs:attribute name="final" type="xs:NCName"/>  
     <xs:attribute name="priority" type="xs:NCName"/>
   </xs:complexType>
 </xs:element>
атрибут before
Если задан, событие будет выполнено перед основной функцией.
атрибут after
Если задан, событие будет выполнено после основной функции.
атрибут final
Если задан, событие будет выполнено после основной функции, manager не будет ожидать завершения обработчика. В таких обработчиках можно можно обращаться к manager используя API.
атрибут priority
Приоритет обработчика. Допустимое значение: hi. При этом мы гарантируем, что все обработчики с высоким приоритетом будут вызваны до остальных.

Элемент должен содержать имя существующей функции, к которой надо создать дополнительное действие. Например:

 <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="selficon" type="xs:NCName"/>
     <xs:attribute name="help" 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
Ключевое поле (используется для списков).
атрибут help
Если присутствует этот элемент, то значение ссылки "помощь" берется из значения параметра help.
атрибут selficon
Этот список имеет свой собственный логотип. Значение параметра — имя картинки.
элемент form
Может существовать, только если type="form". Описывает поля формы.
элемент coldata
Может существовать, только если type="list". Описывает поля таблицы данных.
элемент toolbar
Может существовать, только если type="list". Описывает панель инструментов таблицы.
элемент diagram
Может существовать, только если type="list". Служит для создания диаграм на основе данных таблицы.
элемент text
элемент band
элемент jscript
Позволяет добавить к элементу дополнительный код JavaScript
элемент externalscript
Служит для загрузки браузером кода JavaScript из внешних файлов.

Описание списков

Пример описания таблицы

    <metadata name="myconf" type="list" key="item">
      <toolbar>
        <toolbtn func="myconf.edit" type="new"  img="t-new" name="new"/>
        <toolbtn func="myconf.edit" type="edit" img="t-edit" name="edit" default="yes"/>
        <toolbtn func="myconf.delete" type="group" img="t-delete" name="delete"/>
      </toolbar>
      <coldata>
        <col sort="alpha" sorted="yes" name="item" type="data"/>
      </coldata>
    </metadata>

Панель инструментов (элемент 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
Будет вызвана функция JavaScript, указанная в атрибуте func.
group
Групповая операция над выбранными элементами.
groupform
Вызов формы группового редактирования выбранных элементов.
groupformnosel
Аналог groupform за тем исключением, что позволяет вызов функции, когда ни один элемент таблицы не выбран.
list
Вызов функции-списка.
Разделитель панели инструментов (элемент 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:attribute name="noescaping"/>
   </xs:complexType>
 </xs:element>
атрибут name
Имя колонки. Должно иметь уникальное значение в пределах одного metadata. Необходимо для привязки к языкам.
атрибут type
Тип данных в колонке. Может принимать значения data (данные от панели управления; используется по умолчанию), indicator (индикатор; значения лимита и фактического использования передаёт панель управления), msg (показ сообщения, соответствующего переданному значению от панели управления).
атрибут sort
Задаёт тип сортировки данных в колонке. Возможные значения: alpha (алфавитная сортировка; по умолчанию), digit (сортировка в порядке числового возрастания), file (сортировка по алфавиту, сначала отобразить директории, затем файлы), indicator (сортировка по "использованному значению" индикатора; только для колонок с индикаторами), ip (сортировка IP-адресов), prop (сортировка по наличию свойств; только для колонок, графически отображающих свойства).
атрибут sorted
если sorted="yes", таблица по умолчанию отсортирована по этой колонке. sorted="desc" отсортировано в обратнем порядке.
атрибут stat
Показывать общее количество строк с таким полем внизу таблицы.
атрибут wrap
Если установлен, переносы строк в данных не будут проигнорированы. Данные в колонке отображаются в нескольких строках.
атрибут align
Выравнивание данных колонки. Может принимать значения left, right, center.
атрибут width
Ширина колонки по умолчанию.
атрибут if
См. Введение.
атрибут level
См. Введение.
элемент prop
Описывает свойство. Только для sort="prop".
атрибут noescaping
Наличие этого атрибута отключает экранирование html.
Описание свойства (элемент 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
Содержит имя колонки, из которой необходимо брать значения для графика.

Описание форм

Пример описания формы

    <metadata name="myconf.edit" type="form">
      <form>
        <field name="item">
          <input type="text" name="item"/>
        </field>
        <field name="itemtype">
          <select name="itemtype"/>
        </field>
      </form>
    </metadata>

Форма

 <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="backevent" type="xs:NCName"/>
     <xs:attribute name="extokmsg" 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="nocancel" type="xs:NCName"/>
     <xs:attribute name="nosubmit" type="xs:NCName"/>
     <xs:attribute name="wizard" type="xs:NCName"/>
     <xs:attribute name="helpurl" type="xc:NCName"/>
     <xs:attribute name="clear"/>
   </xs:complexType>
 </xs:element>

Для описания формы необходимо создать дочерний элемент form в metadata.

атрибут autocomplete
Если имеет значение "off", автозаполнение будет отключено.
атрибут cancelrefresh
Если атрибут задан, то список, из которого была вызвана форма, будет обновлён и при нажатии кнопки Cancel.
атрибут enctype
Кодирование данных формы при отправке. Например, "multipart/form-data".
атрибут event
Если задано, при нажатии на Ok будет вызвана функция JavaScript frm_event(). Если эта функция вернет false, то submit формы не произойдет. Если true, то форма будет отправлена.
атрибут backevent
Если задано, при нажатии на Back (если такая кнопка есть) будет вызвана функция JavaScript frm_backevent(). Если эта функция вернет false, то submit формы не произойдет. Если true, то форма будет отправлена.
атрибут extokmsg
Если задан, то текст кнопки OK берётся из сообщения msg_extokmsg.
атрибут height
Высота формы.
атрибут maxwidth
Если задан, форма по умолчанию будет открываться максимальной ширины.
атрибут nocancel
Если задан, не будет показываться кнопка Cancel.
атрибут nosubmit
Если задан, не будет показываться кнопка OK.
атрибут wizard
Если задан, форма будет иметь вид мастера. При этом, значение "first" будет отображать первую страницу, "middle" одну из срединных, "last" последнюю.
атрибут helpurl
Если задан, то при нажатии на кнопку вызова справки будет открыта страница указанная в значении данного атрибута. в URL присутствует макрос __LANG__ который будет заменен на язык интерфейса пользователя.
атрибут clear
управляет поведением кнопки "Очистить форму". Если задан (значение не важно, важно лишь наличие), то форма очищается полностью, в противном случае срабатывает встроенный метод формы .reset()
элемент 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, password.
атрибут 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:complexType>
 </xs:element>
атрибут name
Имя поля.
атрибут depend
Если задано, показываемый выбор этого списка будет зависеть от текущего значения другого списка, имя которого передано в качестве значения этому атрибуту.
атрибут type
Тип селекта, используется для вставки radiobutton в форму, значение type="radio".
атрибут dependindex
Индекс массива в родительском списке, с которым необходимо сравнивать значения этого списка при отборе.
атрибут event
Если задано, при изменении значения будет вызвана функция JavaScript ИМЯПОЛЯ_event(), где ИМЯПОЛЯ — значение атрибута name.
атрибут readonly
Если задано, поле будет только для чтения.
атрибут sorted
Отсортировать по описанию значений. Возможные значения: asc (в прямом порядке), desc (в обратном порядке).
атрибут urlopen
Если задана, к элементу будет добавлена кнопка открытия URL в отдельном окне. URL берётся из значения массива select. Индекс в массиве передаётся в качестве значения атрибута.
атрибут 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:complexType>
 </xs:element>

Поле служит для отображения HTML-данных. HTML будет передан браузеру без всяких преобразований.

атрибут name
Имя поля.
атрибут 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 (содержимое взято от панели управления) или msgdata (содержимое псевдополя будет взято из сообщения в языках. Имя сообщения будет взято от панели управления).\

Параметр nocancel

Для того чтобы убрать с формы кнопку Сancel, необходимо вставить в тег <form> параметр nocancel="yes"

Описание языков и переводы

Пример описания текстовых надписей

  <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">Create file</msg>
    </messages>
  </lang>

Описание локализации (языка)

 <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
Обязательный атрибут, содержит внутреннее имя сообщения.

Элемент не имеет дочерних узлов. В нём содержится текст сообщения.

Подробнее см. Плагины.

Источник — «http://ru.ispdoc.com/index.php/XML»
Была ли эта информация полезной? Да | Нет
Личные инструменты