Форма — это контейнер для элементов управления пользовательского интерфейса, с которыми взаимодействует пользователь. Например, кнопки, текстовые поля, переключатели, выпадающие списки — элементы управления, которые могут содержаться в форме. В XML существуют следующие основные правила для элементов управления и форм:
- все элементы управления должны быть расположены в форме;
- все нескрытые элементы управления должны быть связаны с абсолютной или относительной позицией, этот визуальный аспект элементов управления представлен графическими фигурами, связанными с элементом управления (см. раздел 9.2.12 для получения дополнительной информации);
- формы могут быть вложенными;
- формы не связаны с текстовым потоком и разметкой документа, это не распространяется на элементы управления;
- формы могут быть привязанными к данным, элементы управления отражают содержимое базы данных.
Формы определяют следующие правила поведения:
- передача форм подобна использующейся в [HTML4];
Примечание — Передача поддерживается только для невложенных форм, которые содержат только элементы управления, которые могут быть преобразованы в HTML.
- соединение с источником данных, когда это происходит, элементы управления в форме становятся привязанными к данным;
- передача и привязка согласно модели данных [XForms].
Формы содержатся в секции <office:forms>
XML-документа. Этот элемент может содержать произвольную последовательность элементов <form:form>
или <xforms:model>
. Обратите внимание на то, что элементы управления всегда объявляются внутри элемента <form:form>
, в то время как элемент <xforms:model>
содержит только XForms модели данных. Таким образом, элемент <office:forms>
может содержать только элементы <form:form>
, но не элементы <xforms:model>
, в то время как <xforms:model>
обычно сопровождается дополнительным элементом <form:form>
.
<define name="office-forms">
<optional>
<element name="office:forms">
<ref name="office-forms-attlist"/>
<zeroOrMore>
<choice>
<ref name="form-form"/>
<ref name="xforms-model"/>
</choice>
</zeroOrMore>
</element>
</optional>
</define>
Для простоты использования (заполнения) форм приложения могут фокусироваться на элементах управления, чтобы пользователь мог немедленно напечатать, внести данные в первый элемент управления. Чтобы достичь такого поведения, флаг form:automatic-focus
может иметь значение true
.
<define name="office-forms-attlist" combine="interleave">
<optional>
<attribute name="form:automatic-focus" a:defaultValue="false">
<ref name="boolean"/>
</attribute>
</optional>
</define>
В приложениях, поддерживающих создание и использование (заполнение) форм, атрибут form:apply-design-mode
определяет, предоставляет ли приложение формы в данном документе в доступном для редактирования или заполнения виде.
<define name="office-forms-attlist" combine="interleave">
<optional>
<attribute name="form:apply-design-mode" a:defaultValue="true">
<ref name="boolean"/>
</attribute>
</optional>
</define>
Элемент <form:form>
представляет форму пользовательского интерфейса и определяет содержание и свойства форм.
Этот элемент содержится или в элементе <office:forms>
или в элементе <form:form>
. Он также содержит элементы управления, субформы, элемент <form:properties>
, который определяет свойства формы, и элемент <office:events-listeners>
, содержащий события формы.
<define name="form-form">
<element name="form:form">
<ref name="common-form-control-attlist"/>
<ref name="form-form-attlist"/>
<optional>
<ref name="form-properties"/>
</optional>
<optional>
<ref name="office-event-listeners"/>
</optional>
<zeroOrMore>
<choice>
<ref name="controls"/>
<ref name="form-form"/>
</choice>
</zeroOrMore>
<optional>
<ref name="form-connection-resource"/>
</optional>
</element>
</define>
С элементом <form:form>
могут быть связаны следующие атрибуты:
- имя (см. раздел 11.4);
- имя службы (см. раздел 11.4);
- действие;
- целевой фрейм;
- метод;
- тип кодировки;
- разрешение удаления;
- разрешение вставки;
- разрешение обновления;
- применение фильтра;
- тип команды;
- команда;
- источник данных;
- мастер-поля;
- поля деталей;
- избежать обработку команды;
- фильтр;
- игнорирование результата;
- режим навигации;
- порядок;
- циклы табуляции.
Атрибут xlink:href
представляет IRI агента обработки формы.
<define name="form-form-attlist" combine="interleave">
<optional>
<attribute name="xlink:href">
<ref name="anyURI"/>
</attribute>
<optional>
<attribute name="xlink:type" a:defaultValue="simple">
<value>simple</value>
</attribute>
</optional>
<optional>
<attribute name="xlink:actuate" a:defaultValue="onRequest">
<value>onRequest</value>
</attribute>
</optional>
</optional>
</define>
Атрибут office:target-frame
определяет целевой фрейм формы.
Этот атрибут может иметь одно из следующих значений:
_self
— форма заменяет содержимое текущего фрейма;
_blank
— форма открывается в новом фрейме;
_parent
— форма открывается в родительском фрейме текущего фрейма;
_top
— форма отображается в самом верхнем фрейме, это фрейм, который содержит текущей фрейм в качестве дочернего, но который не содержится внутри никакого другого фрейма;
- название фрейма — форма отображается в заданном фрейме, если фрейм с таким именем отсутствует, будет создан новый фрейм с заданным именем.
<define name="form-form-attlist" combine="interleave">
<optional>
<attribute name="office:target-frame" a:defaultValue="_blank">
<ref name="targetFrameName"/>
</attribute>
</optional>
</define>
Атрибут form:method
определяет HTTP-метод для передачи данных из формы на сервер. Значения этого атрибута могут быть get
или post
. Значение по умолчанию равно get
. Эти значения нечувствительны к регистру.
<define name="form-form-attlist" combine="interleave">
<optional>
<attribute name="form:method" a:defaultValue="get">
<choice>
<value>get</value>
<value>post</value>
<ref name="string"/>
</choice>
</attribute>
</optional>
</define>
Если значение атрибута form:method
равно post
, то атрибут form:enctype
определяет тип содержимого, используемого для отправки содержимого формы на сервер. По умолчанию значение этого атрибута равно application/x-www-form-urlencoded
. Другие подходящие MIME-типы также разрешаются.
Для получения дополнительной информации см. § 17.3 [HTML4].
<define name="form-form-attlist" combine="interleave">
<optional>
<attribute name="form:enctype"
a:defaultValue="application/x-www-form-urlencoded">
<ref name="string"/>
</attribute>
</optional>
</define>
Атрибут form:allow-deletes
определяет, разрешается ли удаление записей данных. Этот атрибут применяется, только если форма связана с данными.
<define name="form-form-attlist" combine="interleave">
<optional>
<attribute name="form:allow-deletes" a:defaultValue="true">
<ref name="boolean"/>
</attribute>
</optional>
</define>
Атрибут form:allow-inserts
определяет, могут или нет вставляться новые записи данных. Этот атрибут применяется, только если форма связана с данными.
<define name="form-form-attlist" combine="interleave">
<optional>
<attribute name="form:allow-inserts" a:defaultValue="true">
<ref name="boolean"/>
</attribute>
</optional>
</define>
11.1.7 Разрешение обновлений
править
Атрибут form:allow-updates
определяет, могут ли изменяться записи данных.
<define name="form-form-attlist" combine="interleave">
<optional>
<attribute name="form:allow-updates" a:defaultValue="true">
<ref name="boolean"/>
</attribute>
</optional>
</define>
Атрибут form:apply-filter
определяет, нужно ли применять фильтр (см. также атрибут фильтра).
<define name="form-form-attlist" combine="interleave">
<optional>
<attribute name="form:apply-filter" a:defaultValue="false">
<ref name="boolean"/>
</attribute>
</optional>
</define>
Атрибут form:command-type
определяет тип команды выполняемой над источником данных. Этот атрибут может принимать одно из следующих значений:
table
— команда содержит имя таблицы, форма извлекает все данные в таблице;
query
— команда содержит имя запроса, форма извлекает и выполняет запрос;
command
— команда содержит SQL-выражение, форма выполняет SQL-выражение.
<define name="form-form-attlist" combine="interleave">
<optional>
<attribute name="form:command-type" a:defaultValue="command">
<choice>
<value>table</value>
<value>query</value>
<value>command</value>
</choice>
</attribute>
</optional>
</define>
Атрибут form:command
определяет команду выполняемую над источником данных.
Это значение интерпретируется по разному, в зависимости от значения атрибута типа команды формы. Значение может быть именем таблицы базы данных, именем объекта запроса или SQL-выражения.
<define name="form-form-attlist" combine="interleave">
<optional>
<attribute name="form:command"/>
</optional>
</define>
Атрибут form:datasource
определяет имя источника данных, используемых для формы.
Этот атрибут может принимать следующие значения:
- URL, определяющий подключение к базе данных;
- имя источника данных, которое офисное приложение может использовать для установления соединений с базой данных.
<define name="form-form-attlist" combine="interleave">
<optional>
<attribute name="form:datasource">
<choice>
<ref name="anyURI"/>
<ref name="string"/>
</choice>
</attribute>
</optional>
</define>
Атрибут form:master-fields
используется для вложенных форм, связанных с данными. Он определяет названия столбцов результирующего набора в родительской форме. Обычно они обозначают поля внешних ключей в родительской форме. Значения столбцов используются для параметризации данных вложенной формы. Каждый раз, когда родительская форма изменяет текущую строку, вложенная форма снова опрашивает базу данных, базируясь на значениях мастер-полей.
Атрибут содержит список названий полей через запятую.
<define name="form-form-attlist" combine="interleave">
<optional>
<attribute name="form:master-fields">
<ref name="string"/>
</attribute>
</optional>
</define>
Атрибут form:detail-fields
используется для вложенных форм базы данных. Он определяет названия столбцов во вложенной форме, которые связаны со столбцами в родительской форме. Столбцы используются как параметры в команде вложенной формы для извлечения деталей для подходящей записи мастер-формы.
Атрибут содержит список названий полей через запятую.
<define name="form-form-attlist" combine="interleave">
<optional>
<attribute name="form:detail-fields">
<ref name="string"/>
</attribute>
</optional>
</define>
Если значение атрибута form:command-type
равно command
, атрибут form:escape-processing
определяет, может ли приложение выполнять команду до передачи ее драйверу базы данных.
<define name="form-form-attlist" combine="interleave">
<optional>
<attribute name="form:escape-processing" a:defaultValue="true">
<ref name="boolean"/>
</attribute>
</optional>
</define>
Атрибут form:filter
определяет фильтр для команды, на которой основывается форма. Фильтр всегда добавляется к любому, возможно существующему, фильтру вне зависимости от того, базируется ли форма на query
, table
или command
. Фильтр обычно формирует SQL-выражение типа «WHERE» без ключевого слова «WHERE».
Атрибут form:apply-filter
определяет, применяется ли фактически фильтр для команды.
<define name="form-form-attlist" combine="interleave">
<optional>
<attribute name="form:filter">
<ref name="string"/>
</attribute>
</optional>
</define>
11.1.16 Игнорирование результата
править
Атрибут form:ignore-result
определяет, отбрасываются ли результаты, которые извлечены из источника данных. Если его значение равно true
, форма, связанная с базой данных, отбросит все результаты запросов к базе данных, таким образом, будут доступны только операции вставки и модификации новых данных. По существу, реализуется режим, в котором может быть осуществлена только вставка новых данных в базу данных.
<define name="form-form-attlist" combine="interleave">
<optional>
<attribute name="form:ignore-result" a:defaultValue="false">
<ref name="boolean"/>
</attribute>
</optional>
</define>
Атрибут form:navigation-mode
определяет, как осуществляется навигация по записям базы данных.
Значение этого атрибута может быть одним из следующих:
none
— специальная навигационная панель не предоставляется пользовательским интерфейсом, навигация по форме осуществляется с использованием клавиши TAB и SHIFT/TAB на клавиатуре;
current
— специальная навигационная панель предоставляется и осуществляется навигация по текущей формой;
parent
— специальная навигационная панель предоставляется и осуществляется навигация по родительской форме текущей формы.
<define name="form-form-attlist" combine="interleave">
<optional>
<attribute name="form:navigation-mode">
<ref name="navigation"/>
</attribute>
</optional>
</define>
<define name="navigation">
<choice>
<value>none</value>
<value>current</value>
<value>parent</value>
</choice>
</define>
Атрибут form:order
определяет критерий сортировки для команды. Сортировка всегда добавляется к любой, возможно существующей, сортировке вне зависимости от того, базируется ли форма на query
, table
или command
. Значение атрибута обычно формирует SQL-выражение типа «ORDER BY» без ключевого слова «ORDER BY».
<define name="form-form-attlist" combine="interleave">
<optional>
<attribute name="form:order">
<ref name="string"/>
</attribute>
</optional>
</define>
Атрибут form:tab-cycle
определяет, как реагирует приложение на нажатие пользователем клавиши TAB в элементе управления формы. Поведение приложения зависит от того, будет ли форма связана с источником данных.
Этот атрибут может принимать следующие значения:
records
— если пользователь нажимает клавишу TAB в последнем элементе управления формы, фокус ввода перемещается на первый элемент управления, указанный в списке табуляции этой формы и перемещает форму к следующей записи;
current
— если пользователь нажимает клавишу TAB в последнем элементе управления формы, фокус ввода перемещается на первый элемент управления, указанный в списке табуляции этой формы, при этом указатель на запись формы не изменяется;
page
— если пользователь нажимает клавишу TAB в последнем элементе управления формы, фокус ввода перемещается на первый элемент управления, указанный в списке табуляции следующей формы.
<define name="form-form-attlist" combine="interleave">
<optional>
<attribute name="form:tab-cycle">
<ref name="tab-cycles"/>
</attribute>
</optional>
</define>
<define name="tab-cycles">
<choice>
<value>records</value>
<value>current</value>
<value>page</value>
</choice>
</define>
Элемент <form:connection-resource>
определяет источник базы данных в соответствии с [XLink]. Его атрибут xlink:href
либо ссылается на файл, содержащий базу данных, либо содержит информацию о том, как произвести соединение с базой данных, например [JDBC] URL.
<define name="form-connection-resource">
<element name="form:connection-resource">
<attribute name="xlink:href">
<ref name="anyURI"/>
</attribute>
<empty/>
</element>
</define>
Модель формы, описанная в разделе 11.1, реализует модель данных, где каждый элемент управления определяет пару имя — значение, где имя определяется идентификатором элемента, а значение — может редактироваться элементом управления. При этом отсутствует взаимосвязь между элементами управления (для программирования макросов). Для приложений, в которых данный вид форм логически недостаточен, организация W3C ввела XForms (см. [XForms]), стандарт для форм, основанных на XML.
XForms спроектированы для встраивания в другой XML-формат. Он состоит из двух основных частей: модель XForms, которая содержит логику формы и данные формы, и элементы управления XForms, которые могут быть связаны с моделью данных. В OASIS Open Office 1.0 модель W3C XForms была встроена как элемент <xforms:model>
, определенный в контейнере формы <office:forms>
. Элементы управления (см. раздел 11.3) будут оставлены как есть, за исключением того, что они получают атрибут xforms:bind
, который позволяет связать любой элемент управления OpenDocument с ранее описанной моделью XForms.
Импортирована модель XForms, описанная в [XForms]. Для предотвращения появления дубликатов схемы XForms в данной спецификации только определены элементы модели XForms и допущено произвольное содержимое.
<define name="xforms-model">
<element name="xforms:model">
<ref name="anyAttListOrElements"/>
</element>
</define>
Элементы управления используются для взаимодействия с формами. Каждый элемент управления определяется именем, однако имена не обязательно должны быть уникальными.
Элементы управления присоединяются к окружающему документу (и если возможно к потоку текста) путем присоединения их к элементам, которые являются полем для заполнения для элемента управления. Для получения подробной информации см. раздел 9.2.12.
В дополнение к атрибутам, определенным в формате файла, элементы управления могут иметь атрибуты, специфические для приложения. Эти атрибуты хранятся в элементе <form:properties>
для каждого элемента управления. События элементов управления описываются в элементе <office:event-listeners>
.
Когда пользователь отсылает данные формы на обработку, имена некоторых элементов управления спарены со значениями элементов управления, эти пары и передаются. Такие элементы управления называются успешными элементами управления. Для получения подробной информации см. раздел 17.13.2 в [HTML4].
Формат файла предусматривает элементы для следующих стандартных элементов управления:
- текст;
- текстовая область;
- пароль;
- файл;
- форматированный текст;
- число;
- дата;
- время;
- фиксированный текст;
- поле со списком;
- список;
- кнопка;
- изображение;
- флажок;
- радиокнопка;
- фрейм;
- графический фрейм;
- скрытый;
- сетка.
Также возможно определение элементов управления, специфичных для приложений. Эти элементы управления описываются элементом <form:generic-control>
.
Элемент <form:text>
определят элемент управления, предназначенный для отображения и ввода текста.
<define name="column-controls" combine="choice">
<element name="form:text">
<ref name="form-text-attlist"/>
<ref name="common-form-control-content"/>
</element>
</define>
<define name="controls" combine="choice">
<ref name="column-controls"/>
</define>
<define name="form-text-attlist">
<ref name="form-control-attlist"/>
<ref name="common-current-value-attlist"/>
<ref name="common-disabled-attlist"/>
<ref name="common-maxlength-attlist"/>
<ref name="common-printable-attlist"/>
<ref name="common-readonly-attlist"/>
<ref name="common-tab-attlist"/>
<ref name="common-title-attlist"/>
<ref name="common-value-attlist"/>
<ref name="common-convert-empty-attlist"/>
<ref name="common-data-field-attlist"/>
</define>
<define name="form-control-attlist">
<ref name="common-form-control-attlist"/>
<ref name="common-control-id-attlist"/>
<ref name="xforms-bind-attlist"/>
</define>
<define name="common-form-control-content">
<optional>
<ref name="form-properties"/>
</optional>
<optional>
<ref name="office-event-listeners"/>
</optional>
</define>
С элементом <form:text>
могут быть связаны следующие атрибуты:
- имя и имя службы (для получения подробной информации об этих атрибутах см. раздел 11.4);
- идентификатор элемента управления, текущее значение, запрещен, максимальная длина, возможность печати, только для чтения, индекс табуляции, остановка табуляции, заголовок и значение (для получения подробной информации об этих атрибутах см. 11.5);
- преобразование пустого значения и поле данных (для получения подробной информации об этих атрибутах см. раздел 11.5.22).
Элемент <form:textarea>
определяет элемент управления для отображения и ввода многострочного текста.
Элемент <form:textarea>
может использоваться с простыми текстовыми значениями (определенных атрибутом form:current-value
) так же, как и с форматированным текстом (определенным как содержимое абзаца). В обоих случаях, когда form:current-value
и один или больше <text:p>
элементов присутствуют, на приложение, считывающее документ, возлагается решение, какую информацию использовать.
<define name="column-controls" combine="choice">
<element name="form:textarea">
<ref name="form-textarea-attlist"/>
<ref name="common-form-control-content"/>
<zeroOrMore>
<ref name="text-p"/>
</zeroOrMore>
</element>
</define>
<define name="form-textarea-attlist">
<ref name="form-control-attlist"/>
<ref name="common-current-value-attlist"/>
<ref name="common-disabled-attlist"/>
<ref name="common-maxlength-attlist"/>
<ref name="common-printable-attlist"/>
<ref name="common-readonly-attlist"/>
<ref name="common-tab-attlist"/>
<ref name="common-title-attlist"/>
<ref name="common-value-attlist"/>
<ref name="common-convert-empty-attlist"/>
<ref name="common-data-field-attlist"/>
</define>
С элементом <form:textarea>
могут быть связаны следующие атрибуты:
- имя и имя службы (для получения более подробной информации об этих атрибутах см. раздел 11.4);
- идентификатор элемента управления, текущее значение, запрещен, максимальная длина, возможность печати, индекс табуляции, остановка табуляции, заголовок и значение (для получения подробной информации об этих атрибутах см. раздел 11.5);
- преобразование пустого значения и поле данных (для получения подробной информации об этих атрибутах см. раздел 11.5.22).
Элемент <form:password>
определяет элемент управления, который скрывает вводимый пользователем текст, используя специальный символ, например, звездочка. Этот тип элемента управления обычно используется для ввода важной информации, такой как пароль.
<define name="controls" combine="choice">
<element name="form:password">
<ref name="form-password-attlist"/>
<ref name="common-form-control-content"/>
</element>
</define>
<define name="form-password-attlist" combine="interleave">
<ref name="form-control-attlist"/>
<ref name="common-disabled-attlist"/>
<ref name="common-maxlength-attlist"/>
<ref name="common-printable-attlist"/>
<ref name="common-tab-attlist"/>
<ref name="common-title-attlist"/>
<ref name="common-value-attlist"/>
<ref name="common-convert-empty-attlist"/>
</define>
С элементом <form:password>
могут быть связаны следующие атрибуты:
- имя и имя службы (для получения подробной информации об этих атрибутах см. раздел 11.4);
- идентификатор элемента управления, запрещен, максимальная длина, возможность печати, индекс табуляции, остановка табуляции, заголовок и значение (для получения подробной информации об этих атрибутах см. раздел 11.5);
- отображаемый символ.
Атрибут form:echo-char
определяет символ, используемый формой для маскировки текста, который вводит пользователь в элемент управления типа пароль.
<define name="form-password-attlist" combine="interleave">
<optional>
<attribute name="form:echo-char" a:defaultValue="*">
<ref name="character"/>
</attribute>
</optional>
</define>
Элемент <form:file>
определяет элемент управления для выбора файла.
<define name="controls" combine="choice">
<element name="form:file">
<ref name="form-file-attlist"/>
<ref name="common-form-control-content"/>
</element>
</define>
<define name="form-file-attlist" combine="interleave">
<ref name="form-control-attlist"/>
<ref name="common-current-value-attlist"/>
<ref name="common-disabled-attlist"/>
<ref name="common-maxlength-attlist"/>
<ref name="common-printable-attlist"/>
<ref name="common-readonly-attlist"/>
<ref name="common-tab-attlist"/>
<ref name="common-title-attlist"/>
<ref name="common-value-attlist"/>
</define>
С элементом <form:file>
могут быть связаны следующие атрибуты:
- имя и имя службы (для получения более подробной информации об этих атрибутах см. раздел 11.4);
- идентификатор элемента управления, текущее значение, запрещен, возможность печати, только для чтения, индекс табуляции, остановка табуляции, заголовок и значение (для получения подробной информации об этих атрибутах см. раздел 11.5).
11.3.5 Форматированный текст
править
Элемент <form:formatted-text>
определяет элемент управления для ввода форматированного текста, который позволяет осуществлять форматирование и для отображения, и для редактирования.
<define name="column-controls" combine="choice">
<element name="form:formatted-text">
<ref name="form-formatted-text-attlist"/>
<ref name="common-form-control-content"/>
</element>
</define>
<define name="form-formatted-text-attlist" combine="interleave">
<ref name="form-control-attlist"/>
<ref name="common-current-value-attlist"/>
<ref name="common-disabled-attlist"/>
<ref name="common-maxlength-attlist"/>
<ref name="common-printable-attlist"/>
<ref name="common-readonly-attlist"/>
<ref name="common-tab-attlist"/>
<ref name="common-title-attlist"/>
<ref name="common-value-attlist"/>
<ref name="common-convert-empty-attlist"/>
<ref name="common-data-field-attlist"/>
</define>
С элементом <form:formatted-text>
могут быть связаны следующие атрибуты:
- имя и имя службы (для получения подробной информации об этих атрибутах см. раздел 11.4);
- идентификатор элемента управления, текущее значение, запрещен, максимальная длина, возможность печати, только для чтения, индекс табуляции, остановка табуляции, заголовок и значение (для получения подробной информации об этих атрибутах см. раздел 11.5);
- преобразование пустого значения и поле данных (для получения подробной информации об этих атрибутах см. раздел 11.5.22);
- максимальное значение;
- минимальное значение;
- проверка.
Атрибут form:max-value
определяет максимальное значение, которое может ввести пользователь.
<define name="form-formatted-text-attlist" combine="interleave">
<optional>
<attribute name="form:max-value">
<ref name="string"/>
</attribute>
</optional>
</define>
Атрибут form:min-value
определяет минимальное значение, которое может ввести пользователь.
<define name="form-formatted-text-attlist" combine="interleave">
<optional>
<attribute name="form:min-value">
<ref name="string"/>
</attribute>
</optional>
</define>
Атрибут form:validation
определяет, будет ли текст, вводимый пользователем, проверяться во время ввода.
<define name="form-formatted-text-attlist" combine="interleave">
<optional>
<attribute name="form:validation" a:defaultValue="false">
<ref name="boolean"/>
</attribute>
</optional>
</define>
Элемент <form:number>
описывает элемент управления, который позволяет пользователю вводить числа с плавающей запятой. Атрибуты, которые могут быть связаны с этим элементом управления, схожи с атрибутами элемента <form:formatted-text>
за исключением того, что могут использоваться только числовые типы данных.
<define name="column-controls" combine="choice">
<element name="form:number">
<ref name="form-number-attlist"/>
<ref name="common-numeric-control-attlist"/>
<ref name="common-form-control-content"/>
</element>
</define>
<define name="common-numeric-control-attlist">
<ref name="form-control-attlist"/>
<ref name="common-disabled-attlist"/>
<ref name="common-maxlength-attlist"/>
<ref name="common-printable-attlist"/>
<ref name="common-readonly-attlist"/>
<ref name="common-tab-attlist"/>
<ref name="common-title-attlist"/>
<ref name="common-convert-empty-attlist"/>
<ref name="common-data-field-attlist"/>
</define>
С элементом <form:number>
могут быть связаны следующие атрибуты:
- имя и имя службы (для получения подробной информации об этих атрибутах см. раздел 11.4);
- идентификатор элемента управления, запрещен, максимальная длина, возможность печати, только для чтения, индекс табуляции, остановка табуляции, заголовок и значение (для получения подробной информации об этих атрибутах см. раздел 11.5);
- преобразование пустого значения и поле данных (для получения подробной информации об этих атрибутах см. раздел 11.5.22);
- значение и текущее значение;
- минимальное и максимальное значение.
Атрибуты для значения и текущего значения общие, схожи для всех полей, за исключением того, что они могут использоваться только с данными с плавающей точкой.
<define name="form-number-attlist" combine="interleave">
<optional>
<attribute name="form:value">
<ref name="double"/>
</attribute>
</optional>
</define>
<define name="form-number-attlist" combine="interleave">
<optional>
<attribute name="form:current-value">
<ref name="double"/>
</attribute>
</optional>
</define>
Атрибуты для минимального и максимального значения определяют наименьшее и наибольшее числовое значения, которые применимы для данного элемента управления.
<define name="form-number-attlist" combine="interleave">
<optional>
<attribute name="form:min-value">
<ref name="double"/>
</attribute>
</optional>
</define>
<define name="form-number-attlist" combine="interleave">
<optional>
<attribute name="form:max-value">
<ref name="double"/>
</attribute>
</optional>
</define>
Элементы управления для даты и времени схожи с числовыми, за исключением того, что в них используются значения даты и времени соответственно. Они поддерживают те же атрибуты, что и числовые поля, за исключением атрибутов, отвечающих за разные типы данных.
<define name="column-controls" combine="choice">
<element name="form:date">
<ref name="form-date-attlist"/>
<ref name="common-numeric-control-attlist"/>
<ref name="common-form-control-content"/>
</element>
</define>
<define name="controls" combine="choice">
<element name="form:time">
<ref name="form-time-attlist"/>
<ref name="common-numeric-control-attlist"/>
<ref name="common-form-control-content"/>
</element>
</define>
С элементами <form:date>
и <form:time>
могут быть связаны следующие атрибуты:
- имя и имя службы (для получения подробной информации об этих атрибутах см. раздел 11.4);
- идентификатор элемента управления, запрещен, максимальная длина, возможность печати, только для чтения, индекс табуляции, остановка табуляции, заголовок и значение (для получения подробной информации об этих атрибутах см. раздел 11.5);
- преобразование пустого значения и поле данных (для получения подробной информации об этих атрибутах см. раздел 11.5.22);
- значение и текущее значение;
- минимальное и максимальное значения.
Атрибуты для значения и текущего значения схожи с атрибутами для <form:number>
, за исключением того, что они могут содержать только дату или время соответственно.
<define name="form-date-attlist" combine="interleave">
<optional>
<attribute name="form:value">
<ref name="date"/>
</attribute>
</optional>
</define>
<define name="form-time-attlist" combine="interleave">
<optional>
<attribute name="form:value">
<ref name="time"/>
</attribute>
</optional>
</define>
<define name="form-date-attlist" combine="interleave">
<optional>
<attribute name="form:current-value">
<ref name="date"/>
</attribute>
</optional>
</define>
<define name="form-time-attlist" combine="interleave">
<optional>
<attribute name="form:current-value">
<ref name="time"/>
</attribute>
</optional>
</define>
Атрибуты для минимального и максимального значения определяют наименьшую и наибольшую дату (или время), которые применимы для данного элемента управления.
<define name="form-date-attlist" combine="interleave">
<optional>
<attribute name="form:min-value">
<ref name="date"/>
</attribute>
</optional>
</define>
<define name="form-time-attlist" combine="interleave">
<optional>
<attribute name="form:min-value">
<ref name="time"/>
</attribute>
</optional>
</define>
<define name="form-date-attlist" combine="interleave">
<optional>
<attribute name="form:max-value">
<ref name="date"/>
</attribute>
</optional>
</define>
<define name="form-time-attlist" combine="interleave">
<optional>
<attribute name="form:max-value">
<ref name="time"/>
</attribute>
</optional>
</define>
Элемент <form:fixed-text>
описывает элемент управления, который устанавливает дополнительную информацию для элементов управления или только передают информацию в приложение. Связь между метками и отмеченными элементами управления может быть установлена определением атрибута form:for
для метки. Только одна метка может быть связана с данным элементом управления.
<define name="controls" combine="choice">
<element name="form:fixed-text">
<ref name="form-fixed-text-attlist"/>
<ref name="common-form-control-content"/>
</element>
</define>
<define name="form-fixed-text-attlist" combine="interleave">
<ref name="form-control-attlist"/>
<ref name="for"/>
<ref name="common-disabled-attlist"/>
<ref name="label"/>
<ref name="common-printable-attlist"/>
<ref name="common-title-attlist"/>
</define>
С элементом <form:fixed-text>
могут быть связаны следующие атрибуты:
- имя и имя службы (для получения подробной информации об этих атрибутах см. раздел 11.4);
- идентификатор элемента управления, запрещен, для, метка, возможность печати, заголовок (для получения подробной информации об этих атрибутах см. раздел 11.5);
- многострочность.
Атрибут form:multi-line
определяет, отображается ли текстовая метка в несколько строк.
<define name="form-fixed-text-attlist" combine="interleave">
<optional>
<attribute name="form:multi-line" a:defaultValue="false">
<ref name="boolean"/>
</attribute>
</optional>
</define>
Элемент <form:combobox>
описывает элемент управления, который позволяет отображать и редактировать текст, а также содержит список возможных значений текста.
<define name="column-controls" combine="choice">
<element name="form:combobox">
<ref name="form-combobox-attlist"/>
<ref name="common-form-control-content"/>
<zeroOrMore>
<ref name="form-item"/>
</zeroOrMore>
</element>
</define>
<define name="form-combobox-attlist" combine="interleave">
<ref name="form-control-attlist"/>
<ref name="common-current-value-attlist"/>
<ref name="common-disabled-attlist"/>
<ref name="dropdown"/>
<ref name="common-maxlength-attlist"/>
<ref name="common-printable-attlist"/>
<ref name="common-readonly-attlist"/>
<ref name="size"/>
<ref name="common-tab-attlist"/>
<ref name="common-title-attlist"/>
<ref name="common-value-attlist"/>
<ref name="common-convert-empty-attlist"/>
<ref name="common-data-field-attlist"/>
<ref name="list-source"/>
<ref name="list-source-type"/>
</define>
С элементом <form:combobox>
могут быть связаны следующие атрибуты:
- имя и имя службы (для получения подробной информации об этих атрибутах см. раздел 11.4);
- идентификатор элемента управления, текущее значение, запрещен, выпадающий список, максимальная длина, возможность печати, только для чтения, размер, индекс табуляции, остановка табуляции, заголовок и значение (для получения подробной информации об этих атрибутах см. раздел 11.5);
- преобразование пустого значения, поле данных, список-источник, тип списка-источника (для получения подробной информации об этих атрибутах см. раздел 11.5.22);
- автоматическое дополнение.
Атрибут form:auto-complete
определяет, будет ли автоматически дополняться текст из списка во время набора пользователем при совпадении начальных символов.
<define name="form-combobox-attlist" combine="interleave">
<optional>
<attribute name="form:auto-complete">
<ref name="boolean"/>
</attribute>
</optional>
</define>
Элемент <form:item>
описывает пункт списка для элемента управления поле со списком.
<define name="form-item">
<element name="form:item">
<ref name="form-item-attlist"/>
<text/>
</element>
</define>
<define name="form-item-attlist" combine="interleave">
<ref name="label"/>
</define>
С элементом <form:item>
может быть связан следующий атрибут:
- метка (для получения подробной информации об этом атрибуте см. раздел 11.5).
Элемент <form:listbox>
описывает элемент управления ввода, который позволяет пользователю выбирать один или несколько элементов из списка. Это альтернативное представление группы радиокнопок.
<define name="column-controls" combine="choice">
<element name="form:listbox">
<ref name="form-listbox-attlist"/>
<ref name="common-form-control-content"/>
<zeroOrMore>
<ref name="form-option"/>
</zeroOrMore>
</element>
</define>
<define name="form-listbox-attlist" combine="interleave">
<ref name="form-control-attlist"/>
<ref name="common-disabled-attlist"/>
<ref name="dropdown"/>
<ref name="common-printable-attlist"/>
<ref name="size"/>
<ref name="common-tab-attlist"/>
<ref name="common-title-attlist"/>
<ref name="bound-column"/>
<ref name="common-data-field-attlist"/>
<ref name="list-source"/>
<ref name="list-source-type"/>
</define>
С элементом <form:listbox>
могут быть связаны следующие атрибуты:
- имя и имя службы (для получения подробной информации об этих атрибутах см. раздел 11.4);
- идентификатор элемента управления, запрещен, выпадающий список, возможность печати, только для чтения, размер, индекс табуляции, остановка табуляции, заголовок (для получения подробной информации об этих атрибутах см. раздел 11.5);
- колонка обрамления, поле данных, список-источник, тип списка-источника (для получения подробной информации об этих атрибутах см. раздел 11.5.22);
- несколько пунктов;
- источник XForms.
Атрибут form:multiple
определяет, имеет ли пользователь возможность выбрать несколько пунктов в блоке списка.
<define name="form-listbox-attlist" combine="interleave">
<optional>
<attribute name="form:multiple" a:defaultValue="false">
<ref name="boolean"/>
</attribute>
</optional>
</define>
Атрибут form:xforms-list-source
позволяет динамически создавать список для выбора путем связывания содержимого блока списка с XForms (см. раздел 11.2, [XForms]). Атрибут ссылается на элемент <xforms:bind>
и создает объект списка для каждой записи в наборе данных, определенном этим атрибутом.
<define name="form-listbox-attlist" combine="interleave">
<optional>
<attribute name="form:xforms-list-source">
<ref name="string"/>
</attribute>
</optional>
</define>
Элемент <form:option>
представляет пункты для списка. Один из пунктов может быть выбран заранее и содержать связанное значение.
<define name="form-option">
<element name="form:option">
<ref name="form-option-attlist"/>
<text/>
</element>
</define>
<define name="form-option-attlist" combine="interleave">
<ref name="current-selected"/>
<ref name="selected"/>
<ref name="label"/>
<ref name="common-value-attlist"/>
</define>
С элементом <form:option>
могут быть связаны следующие атрибуты:
- текущий выделенный пункт, выделение, метка, значение (для получения подробной информации об этих атрибутах см. раздел 11.5).
Элемент <form:button>
определяет кнопку. Обычно нажатие кнопки вызывает некоторое действие.
<define name="controls" combine="choice">
<element name="form:button">
<ref name="form-button-attlist"/>
<ref name="common-form-control-content"/>
</element>
</define>
<define name="form-button-attlist" combine="interleave">
<ref name="form-control-attlist"/>
<ref name="button-type"/>
<ref name="common-disabled-attlist"/>
<ref name="label"/>
<ref name="image-data"/>
<ref name="common-printable-attlist"/>
<ref name="common-tab-attlist"/>
<ref name="target-frame"/>
<ref name="target-location"/>
<ref name="common-title-attlist"/>
<ref name="common-value-attlist"/>
<ref name="common-form-relative-image-position-attlist"/>
</define>
С элементом <form:button>
могут быть связаны следующие атрибуты:
- имя и имя службы (для получения подробной информации об этих атрибутах см. раздел 11.4);
- тип кнопки, идентификатор элемента управления, запрещен, изображение, возможность печати, индекс табуляции, остановка табуляции, целевой фрейм, целевой адрес, заголовок, значение, относительное расположение изображения (для получения подробной информации об этих атрибутах см. раздел 11.5);
- кнопка по умолчанию;
- переключение;
- фокусировать по щелчку;
- отправка XForms.
Атрибут form:default-button
определяет, является ли кнопка кнопкой формы по умолчанию. Если пользователь щелкает на кнопке по умолчанию или нажимает «Ввод» в то время, как элемент управления находится в фокусе, приложение выполняет одинаковые действия.
Если форма содержит более одной кнопки по умолчанию, то поведение приложения не определяется.
<define name="form-button-attlist" combine="interleave">
<optional>
<attribute name="form:default-button" a:defaultValue="false">
<ref name="boolean"/>
</attribute>
</optional>
</define>
Атрибут form:toggle
определяет, переключается ли кнопка между состояниями «нажата» и «не нажата» при воздействии на нее (посредством мыши или клавиатуры). Если этот атрибут установлен в false
, элемент управления кнопка ведет себя подобно обыкновенной кнопке.
<define name="form-button-attlist" combine="interleave">
<optional>
<attribute name="form:toggle" a:default-value="false">
<ref name="boolean"/>
</attribute>
</optional>
</define>
Атрибут form:focus-on-click
определяет, должен ли элемент управления кнопка при щелчке мышью на нем захватывать фокус ввода.
<define name="form-button-attlist" combine="interleave">
<optional>
<attribute name="form:focus-on-click">
<ref name="boolean"/>
</attribute>
</optional>
</define>
Кнопки могут использоваться для отправки XForms посредством добавления атрибута form:xforms-submission
. Если такая кнопка инициируется, выполняется определенная ранее отправка XForms с заданным именем.
<define name="form-button-attlist" combine="interleave">
<optional>
<attribute name="form:xforms-submission">
<ref name="string"/>
</attribute>
</optional>
</define>
Элемент <form:image>
определяет графический элемент управления «кнопка». Этот элемент соответствует элементу ввода типа «изображение» в HTML 4.01. Обратите внимание: HTML 4.01 позволяет типу кнопки быть только типом отправки для кнопки-изображения. В формате файлов офисных приложений кнопка-изображение может быть любого типа.
<define name="controls" combine="choice">
<element name="form:image">
<ref name="form-image-attlist"/>
<ref name="common-form-control-content"/>
</element>
</define>
<define name="form-image-attlist" combine="interleave">
<ref name="form-control-attlist"/>
<ref name="button-type"/>
<ref name="common-disabled-attlist"/>
<ref name="image-data"/>
<ref name="common-printable-attlist"/>
<ref name="common-tab-attlist"/>
<ref name="target-frame"/>
<ref name="target-location"/>
<ref name="common-title-attlist"/>
<ref name="common-value-attlist"/>
</define>
С элементом <form:image>
могут быть связаны следующие атрибуты:
- имя и имя службы (см. раздел 11.4 для получения информации об этих атрибутах);
- тип кнопки, идентификатор управляющего элемента, изображение, индекс табуляции, остановка табуляции, возможность печати, целевой фрейм, целевой адрес, заголовок, значение (для получения подробной информации об этих атрибутах см. раздел 11.5).
Элемент <form:checkbox>
определяет элемент управления, который может переключаться пользователем. Элемент управления находится во включенном состоянии, когда атрибут form:current-state
, связанный с элементом управления, имеет значение checked
. Когда пользователь отправляет форму, в качестве выбранных рассматриваются только элементы управления, имеющее состояние checked
.
<define name="column-controls" combine="choice">
<element name="form:checkbox">
<ref name="form-checkbox-attlist"/>
<ref name="common-form-control-content"/>
</element>
</define>
<define name="form-checkbox-attlist" combine="interleave">
<ref name="form-control-attlist"/>
<ref name="common-disabled-attlist"/>
<ref name="label"/>
<ref name="common-printable-attlist"/>
<ref name="common-tab-attlist"/>
<ref name="common-title-attlist"/>
<ref name="common-value-attlist"/>
<ref name="common-data-field-attlist"/>
<ref name="common-form-visual-effect-attlist"/>
<ref name="common-form-relative-image-position-attlist"/>
</define>
С элементом <form:checkbox>
могут быть связаны следующие атрибуты:
- имя и имя службы (см. раздел 11.4 для получения информации об этих атрибутах);
- идентификатор управляющего элемента, запрещен, метка, вывод на печать, индекс табуляции, остановка табуляции, заголовок, значение, визуальный эффект и относительное размещение изображения (для получения подробной информации об этих атрибутах см. раздел 11.5).
- поле данных (для получения информации об этом атрибуте см. раздел 11.5.22);.
- текущее состояние;
- с тремя состояниями;
- состояние.
Атрибут form:current-state
определяет текущее состояние элемента управления флажок.
Атрибут может принимать одно из следующих значений:
unchecked
— флажок не установлен;
checked
— флажок установлен, значение элемента управления передается с формой;
unknown
— это значение доступно только в том случае, когда элемент управления находится в режиме с тремя состояниями (см. атрибут «С тремя состояниями»), это значение может использоваться, например, при соединении с полем базы данных для обозначения значения NULL.
<define name="states">
<choice>
<value>unchecked</value>
<value>checked</value>
<value>unknown</value>
</choice>
</define>
<define name="form-checkbox-attlist" combine="interleave">
<optional>
<attribute name="form:current-state">
<ref name="states"/>
</attribute>
</optional>
</define>
Атрибут form:is-tristate
определяет, что флажок может иметь три состояния вместо обычных двух.
<define name="form-checkbox-attlist" combine="interleave">
<optional>
<attribute name="form:is-tristate" a:defaultValue="false">
<ref name="boolean"/>
</attribute>
</optional>
</define>
Атрибут form:state
определяет состояние элемента управления флажок по умолчанию. Это состоянии используется при инициализации объекта управления.
<define name="form-checkbox-attlist" combine="interleave">
<optional>
<attribute name="form:state" a:defaultValue="unchecked">
<ref name="states"/>
</attribute>
</optional>
</define>
Элемент <form:radio>
определяет элемент управления, который функционирует подобно флажку за исключением того, что когда несколько радиокнопок разделяют одно имя элемента управления, они являются взаимно исключающими. Если одна радиокнопка включена, то все остальные радиокнопки с таким же именем выключены. Если в исходном состоянии нет включенных радиокнопок, то способ выбора приложением радиокнопки, включенной в исходном состоянии, не определяется.
Если группа радикнопок связана с одним полем базы данных, соответствующие значения радиокнопок записываются в поле базы данных.
<define name="controls" combine="choice">
<element name="form:radio">
<ref name="form-radio-attlist"/>
<ref name="common-form-control-content"/>
</element>
</define>
<define name="form-radio-attlist" combine="interleave">
<ref name="form-control-attlist"/>
<ref name="current-selected"/>
<ref name="common-disabled-attlist"/>
<ref name="label"/>
<ref name="common-printable-attlist"/>
<ref name="selected"/>
<ref name="common-tab-attlist"/>
<ref name="common-title-attlist"/>
<ref name="common-value-attlist"/>
<ref name="common-data-field-attlist"/>
<ref name="common-form-visual-effect-attlist"/>
<ref name="common-form-relative-image-position-attlist"/>
</define>
С элементом <form:radio>
могут быть связаны следующие атрибуты:
- имя и имя службы (см. раздел 11.4 для получения информации об этих атрибутах);
- идентификатор управляющего элемента, текущий выбор, запрещен, метка, вывод на печать, выбор, индекс табуляции, остановка табуляции, заголовок, значение, визуальный эффект, относительное расположение изображения (для получения подробной информации об этих атрибутах см. раздел 11.5);
- поле данных (для получения информации об этом атрибуте см. раздел 11.5.22).
Элемент <form:frame>
определяет фрейм, который может использоваться для визуального расположения элементов управления. Этот элемент не имеет значения и не обеспечивает ввода информации пользователем.
<define name="controls" combine="choice">
<element name="form:frame">
<ref name="form-frame-attlist"/>
<ref name="common-form-control-content"/>
</element>
</define>
<define name="form-frame-attlist" combine="interleave">
<ref name="form-control-attlist"/>
<ref name="common-disabled-attlist"/>
<ref name="for"/>
<ref name="label"/>
<ref name="common-printable-attlist"/>
<ref name="common-title-attlist"/>
</define>
С элементом <form:frame>
могут быть связаны следующие атрибуты:
- имя и имя службы (см. раздел 11.4 для получения информации об этих атрибутах);
- идентификатор управляющего элемента, запрещен, для, метка, вывод на печать, заголовок (для получения подробной информации об этих атрибутах см. раздел 11.5).
Элемент <form:image-frame>
определяет графический элемент управления. Элемент управления отображает изображение, расположение которого указано в элементе управления.
<define name="controls" combine="choice">
<element name="form:image-frame">
<ref name="form-image-frame-attlist"/>
<ref name="common-form-control-content"/>
</element>
</define>
<define name="form-image-frame-attlist" combine="interleave">
<ref name="form-control-attlist"/>
<ref name="common-disabled-attlist"/>
<ref name="image-data"/>
<ref name="common-printable-attlist"/>
<ref name="common-readonly-attlist"/>
<ref name="common-title-attlist"/>
<ref name="common-data-field-attlist"/>
</define>
С элементом <form:image-frame>
могут быть связаны следующие атрибуты:
- имя и имя службы (см. раздел 11.4 для получения информации об этих атрибутах);
- идентификатор управляющего элемента, запрещен, изображение, вывод на печать, только для чтения, заголовок (для получения подробной информации об этих атрибутах см. раздел 11.5);
- поле данных (для получения информации об этом атрибуте см. раздел 11.5.22).
Элемент <form:hidden>
определяет элемент управления, не имеющий визуального представления. Этот элемент обычно используется как контейнер для информации.
<define name="controls" combine="choice">
<element name="form:hidden">
<ref name="form-hidden-attlist"/>
<ref name="common-form-control-content"/>
</element>
</define>
<define name="form-hidden-attlist" combine="interleave">
<ref name="form-control-attlist"/>
<ref name="common-value-attlist"/>
</define>
С элементом <form:hidden>
могут быть связаны следующие атрибуты:
- имя и имя службы (см. раздел 11.4 для получения информации об этих атрибутах);
- значение (для получения подробной информации об этом атрибуте см. раздел 11.5).
Элемент <form:grid>
определяет элемент управления, отображающий табличные данные. Этот элемент управления хранит информацию о данных и является обязательным для форм, получающих данные из источников данных. Текущие данные для отображения в элементе управления «сетка» определяются родительской формой, которая хранит информацию о данных в виде набора некоторого количества строк.
Каждый столбец в сетке определяется элементом <form:column>
. Каждый столбец связан с полем набора строк формы.
<define name="controls" combine="choice">
<element name="form:grid">
<ref name="form-grid-attlist"/>
<ref name="common-form-control-content"/>
<zeroOrMore>
<ref name="form-column"/>
</zeroOrMore>
</element>
</define>
<define name="form-grid-attlist" combine="interleave">
<ref name="form-control-attlist"/>
<ref name="common-disabled-attlist"/>
<ref name="common-printable-attlist"/>
<ref name="common-tab-attlist"/>
<ref name="common-title-attlist"/>
</define>
С элементом <form:grid>
могут быть связаны следующие атрибуты:
- имя и имя службы (см. раздел 11.4 для получения информации об этих атрибутах);
- идентификатор управляющего элемента, запрещен, вывод на печать, индекс табуляции, остановка табуляции, заголовок (для получения подробной информации об этих атрибутах см. раздел 11.5).
Элемент <form:column>
определяет столбец элемента управления сетка. Столбец содержит элемент управления, отображающий данные сетки в столбце.
<define name="form-column">
<element name="form:column">
<ref name="form-column-attlist"/>
<oneOrMore>
<ref name="column-controls"/>
</oneOrMore>
</element>
</define>
<define name="form-column-attlist" combine="interleave">
<ref name="common-form-control-attlist"/>
<ref name="label"/>
<ref name="text-style-name"/>
</define>
С элементом <form:column>
могут быть связаны следующие атрибуты:
- имя и имя службы (см. раздел 11.4 для получения информации об этих атрибутах);
- легенда (для получения подробной информации об этом атрибуте см. раздел 11.5);
- стиль столбца.
Атрибут form:text-style-name
определяет стиль абзаца, применяемый ко всем элементам управления в столбце (см. также раздел 9.2.12). В отличие от других стилей абзацев этот стиль может ссылаться на стиль данных.
<define name="text-style-name">
<optional>
<attribute name="form:text-style-name">
<ref name="styleNameRef"/>
</attribute>
</optional>
</define>
Новый элемент <form:value-range>
определяет элемент управления, позволяющий пользователю выбирать значение из последовательного диапазона чисел. Возможные представления включают полосы прокрутки и счетчики.
<define name="controls" combine="choice">
<element name="form:value-range">
<ref name="form-value-range-attlist"/>
<ref name="common-form-control-content"/>
</element>
</define>
<define name="form-value-range-attlist" combine="interleave">
<ref name="form-control-attlist"/>
<ref name="common-disabled-attlist"/>
<ref name="common-printable-attlist"/>
<ref name="common-tab-attlist"/>
<ref name="common-title-attlist"/>
<ref name="common-value-attlist"/>
</define>
С элементом <form:value-range>
могут быть связаны следующие атрибуты:
- имя и имя службы (см. раздел 11.4 для получения информации об этих атрибутах);
- идентификатор управляющего элемента, текущее значение, запрещен, вывод на печать, только для чтения, индекс табуляции, остановка табуляции, заголовок, значение (для получения подробной информации об этих атрибутах см. раздел 11.5);
- максимальное значение;
- минимальное значение;
- размер шага;
- размер страничного шага;
- задержка повтора;
- ориентация.
Атрибут form:max-value
определяет максимальное значение, которое может ввести пользователь.
<define name="form-value-range-attlist" combine="interleave">
<optional>
<attribute name="form:max-value">
<ref name="string"/>
</attribute>
</optional>
</define>
Атрибут form:min-value
определяет минимальное значение, которое может ввести пользователь.
<define name="form-value-range-attlist" combine="interleave">
<optional>
<attribute name="form:min-value">
<ref name="string"/>
</attribute>
</optional>
</define>
Атрибут form:step-size
определяет величину шага, которая будет использоваться элементом управления, представляющим значение.
<define name="form-value-range-attlist" combine="interleave">
<optional>
<attribute name="form:step-size" a:defaultName="1">
<ref name="positiveInteger"/>
</attribute>
</optional>
</define>
Атрибут form:page-step-size
определяет величину шага второго уровня, который будет использоваться элементом управления, представляющим значение. В пользовательском интерфейсе он обычно связывается с нажатием пользователем клавиш «Page Up» или «Page Down».
<define name="form-value-range-attlist" combine="interleave">
<optional>
<attribute name="form:page-step-size">
<ref name="positiveInteger"/>
</attribute>
</optional>
</define>
Атрибут form:delay-for-repeat
определяет интервал времени, по истечению которого удерживание нажатой кнопки мыши приведет к повторению действия.
<define name="form-value-range-attlist" combine="interleave">
<optional>
<attribute name="form:delay-for-repeat">
<ref name="duration"/>
</attribute>
</optional>
</define>
Атрибут form:orientation
определяет ориентацию элемента управления, которая может быть горизонтальной или вертикальной.
<define name="form-value-range-attlist" combine="interleave">
<optional>
<attribute name="form:orientation">
<choice>
<value>horizontal</value>
<value>vertical</value>
</choice>
</attribute>
</optional>
</define>
11.3.20 Базовый элемент управления
править
Элемент <form:generic-control>
определяет наполнение базового элемента управления. Базовый элемент управления может содержать любые свойства и любые события. Приложение определяет тип элемента управления и устанавливает соответствующий элемент управления.
<define name="controls" combine="choice">
<element name="form:generic-control">
<ref name="form-generic-control-attlist"/>
<ref name="common-form-control-content"/>
</element>
</define>
<define name="form-generic-control-attlist" combine="interleave">
<ref name="form-control-attlist"/>
</define>
С элементом <form:generic-control>
могут быть связаны следующие атрибуты:
- имя и имя службы (см. раздел 11.4 для получения информации об этих атрибутах).
11.4 Общие атрибуты элементов управления и форм
править
Атрибут form:name
определяет имя формы или элемента управления. Он может использоваться для получения идентификатора формы или элемента управления, что важно для обработки скриптами и для отправки содержимого элементам управления.
<define name="common-form-control-attlist" combine="interleave">
<optional>
<attribute name="form:name">
<ref name="string"/>
</attribute>
</optional>
</define>
11.4.2 Реализация элемента управления
править
Элемент управления может быть задан атрибутом типа элемент управления, определяющим, какую конкретную обработку или реализацию должен поддерживать агент пользователя. Для простоты расширяемости значение этого атрибута является токен с пространством имен, т. е. это токен, использующий префикс пространства имен, более похожий на атрибуты в XML.
<define name="common-form-control-attlist" combine="interleave">
<optional>
<attribute name="form:control-implementation">
<ref name="namespacedToken"/>
</attribute>
</optional>
</define>
Любой элемент управления может быть связан с XForms формой (см. раздел 11.2, а также [XForms]) атрибутом xforms:bind
. Для кнопок атрибут привязки ссылается на элемент <xforms:submission>
с заданным идентификатором. Нажатие кнопки приводит к выполнению соответствующего действия отправки XForms. Для всех других типов элементов управления атрибут xforms:bind
ссылается на элемент <xforms:bind>
с заданным идентификатором. Такой связанный элемент управления читает и записывает данные, как определено соответствующим элементом привязки.
<define name="xforms-bind-attlist">
<optional>
<attribute name="xforms:bind">
<ref name="string"/>
</attribute>
</optional>
</define>
11.5 Общие атрибуты элементов управления
править
Атрибут form:button-type
определяет тип кнопки. Этот атрибут поддерживается следующими элементами:
<form:button>
<form:image>
Атрибут может принимать следующие значения:
submit
— нажатие кнопки отправляет форму;
reset
— нажатие кнопки сбрасывает все элементы управления формы в их значение по умолчанию;
push
— нажатие кнопки не приводит к выполнению каких-либо действий по умолчанию, используется для возможности назначения кнопке скрипта, при нажатии кнопки запускается выполнение скрипта;
url
— нажатие кнопки приводит к загрузке URL, определенного в атрибуте form:target-url
.
<define name="types">
<choice>
<value>submit</value>
<value>reset</value>
<value>push</value>
<value>url</value>
</choice>
</define>
<define name="button-type">
<optional>
<attribute name="form:button-type" a:defaultValue="push">
<ref name="types"/>
</attribute>
</optional>
</define>
11.5.2 Идентификатор элемента управления
править
Все элементы управления, за исключением скрытых, имеют визуальное представление в родительском документе. Поэтому они нуждаются в определении абсолютного или относительного положения, описывающего их размещение в документе. Положение представляется фигурой, которая содержит ссылку на элемент управления в элементе формы.
Атрибут form:id
используется для однозначной идентификации элемента управления. Каждый нескрытый элемент управления должен иметь такой связанный с ним атрибут, который может быть использован для ссылки на элемент управления.
Этот атрибут поддерживается следующими элементами:
<form:text>
<form:textarea>
<form:password>
<form:file>
<form:formatted-text>
<form:fixed-text>
<form:combobox>
<form:listbox>
<form:button>
<form:image>
<form:checkbox>
<form:radio>
<form:frame>
<form:image-frame>
<form:grid>
<define name="common-control-id-attlist">
<attribute name="form:id">
<ref name="ID"/>
</attribute>
</define>
Атрибут form:current-selected
определяет текущее состояние переключателя или блок списка.
Этот атрибут поддерживается следующими элементами:
<form:option>
<form:radio>
<define name="current-selected">
<optional>
<attribute name="form:current-selected" a:defaultValue="false">
<ref name="boolean"/>
</attribute>
</optional>
</define>
11.5.4 Значение и текущее значение
править
Каждый элемент управления имеет значение по умолчанию и текущее значение. Текущее значение меняется действиями пользователя, значение по умолчанию — нет. Значение по умолчанию определяется атрибутом form:value
.
Значение по умолчанию используется при возникновении специальных событий, таких как сброс формы, которые меняют текущее значение элемента управления на его значение по умолчанию. Если элемент управления не имеет значения по умолчанию, результат сброса формы не определен.
Кроме хранения текущего значения вместе с элементом управления, также возможно связывать элементы управления с другими поставщиками значений, которые работают как приемники и источники данных, как например, поля базы данных (в формах, хранящих информацию о данных) или, например, ячейки в документе электронных таблиц. В этом случае текущее значение хранится не в самом элементе управления, а во внешней связи, которая может хранить или не хранить его вместе с документом. Для получения большей информации о свойствах баз данных см. раздел 11.5.22.
Атрибут form:value
определяет значение элемента управления ввода по умолчанию.
Этот атрибут поддерживается следующими элементами:
<form:text>
<form:textarea>
<form:password>
<form:file>
<form:formatted-text>
<form:combobox>
<form:option>
<form:button>
<form:image>
<form:checkbox>
<form:radio>
<form:hidden>
<define name="common-value-attlist">
<optional>
<attribute name="form:value">
<ref name="string"/>
</attribute>
</optional>
</define>
Атрибут form:current-value
определяет текущее состояние элемента управления ввода. Он перекрывает значение атрибута form:value
, если он представлен.
Этот атрибут поддерживается следующими элементами:
<form:text>
<form:textarea>
<form:file>
<form:formatted-text>
<form:combobox>
<define name="common-current-value-attlist">
<optional>
<attribute name="form:current-value">
<ref name="string"/>
</attribute>
</optional>
</define>
Атрибут form:disabled
определяет, доступен ли элемент управления пользователю для ввода. Этот атрибут поддерживается следующими элементами:
<form:text>
<form:textarea>
<form:password>
<form:file>
<form:formatted-text>
<form:fixed-text>
<form:combobox>
<form:listbox>
<form:button>
<form:image>
<form:checkbox>
<form:radio>
<form:frame>
<form:image-frame>
<form:grid>
Запрещенные элементы управления не включаются в последовательность навигации табуляцией и не могут получать фокус ввода.
<define name="common-disabled-attlist">
<optional>
<attribute name="form:disabled" a:defaultValue="false">
<ref name="boolean"/>
</attribute>
</optional>
</define>
Атрибут form:dropdown
определяет, будет ли список в поле со списком или в списке видимым всегда или видимым, только когда пользователь нажимает на кнопку раскрытия списка.
Этот атрибут поддерживается следующими элементами:
<form:combobox>
<form:listbox>
Если его значение true
, список всегда видим. Если значение false
, список виден только когда пользователь нажимает кнопку раскрытия списка.
<define name="dropdown">
<optional>
<attribute name="form:dropdown" a:defaultValue="false">
<ref name="boolean"/>
</attribute>
</optional>
</define>
Атрибут form:for
определяет идентификаторы элементов управления, с которыми связан данный элемент управления.
Этот атрибут поддерживается следующими элементами:
<form:fixed-text>
<form:frame>
Атрибут использует запятую в качестве разделителя в списке идентификаторов элементов управления.
<define name="for">
<optional>
<attribute name="form:for">
<ref name="string"/>
</attribute>
</optional>
</define>
Атрибут form:image-data
связывает элемент управления с внешним файлом, содержащим изображение.
Этот атрибут поддерживается следующими элементами:
<form:button>
<form:image>
<form:image-frame>
<define name="image-data">
<optional>
<attribute name="form:image-data">
<ref name="anyURI"/>
</attribute>
</optional>
</define>
Атрибут form:label
содержит метку для таких элементов управления как кнопка переключателя или флажка.
Этот атрибут поддерживается следующими элементами:
<form:fixed-text>
<form:item>
<form:option>
<form:checkbox>
<form:radio>
<form:frame>
<form:column>
<define name="label">
<optional>
<attribute name="form:label">
<ref name="string"/>
</attribute>
</optional>
</define>
Атрибут form:max-length
определяет максимальное число символов, которые пользователь может ввести в элементы управления, предназначенные для ввода.
Этот атрибут поддерживается следующими элементами:
<form:text>
<form:textarea>
<form:password>
<form:formatted-text>
<form:combobox>
Значение по умолчанию данного атрибута неограниченно, что позволяет пользователю вводить неограниченное число символов.
<define name="common-maxlength-attlist">
<optional>
<attribute name="form:max-length">
<ref name="nonNegativeInteger"/>
</attribute>
</optional>
</define>
Атрибут form:printable
определяет, возможно ли распечатать элемент управления, когда пользователь печатает документ, содержащий элемент управления.
Этот атрибут поддерживается следующими элементами:
<form:text>
<form:textarea>
<form:password>
<form:file>
<form:formatted-text>
<form:fixed-text>
<form:combobox>
<form:listbox>
<form:button>
<form:image>
<form:checkbox>
<form:radio>
<form:frame>
<form:image-frame>
<form:grid>
<define name="common-printable-attlist">
<optional>
<attribute name="form:printable" a:defaultValue="true">
<ref name="boolean"/>
</attribute>
</optional>
</define>
Атрибут form:readonly
определяет, может ли пользователь изменять значение элемента управления.
Этот атрибут поддерживается следующими элементами:
<form:text>
<form:textarea>
<form:file>
<form:formatted-text>
<form:combobox>
<form:listbox>
<form:image-frame>
Элементы управления только для чтения включены в последовательность навигации по клавише TAB.
<define name="common-readonly-attlist">
<optional>
<attribute name="form:readonly" a:defaultValue="false">
<ref name="boolean"/>
</attribute>
</optional>
</define>
Атрибут form:selected
определяет состояние по умолчанию для кнопок переключения или опций. Когда элемент управления инициализирован, он находится в состоянии по умолчанию, определенном его атрибутом.
Этот атрибут поддерживается следующими элементами:
<form:option>
<form:radio>
В группе переключателей с одинаковыми именами только один переключатель может иметь этот атрибут, установленный в значение true
.
<define name="selected">
<optional>
<attribute name="form:selected" a:defaultValue="false">
<ref name="boolean"/>
</attribute>
</optional>
</define>
Атрибут form:size
определяет число строк, которые одновременно видны в поле со списком или в списке.
Этот атрибут поддерживается следующими элементами:
<form:combobox>
<form:listbox>
<define name="size">
<optional>
<attribute name="form:size">
<ref name="nonNegativeInteger"/>
</attribute>
</optional>
</define>
Атрибут form:tab-index
определяет порядок навигации по клавише TAB между элементами управления формы. Порядок табуляции является порядком, в котором элементы управления получают фокус ввода, когда пользователь нажимает клавишу TAB на клавиатуре. Порядок табуляции может включать элементы, которые содержатся внутри других элементов.
Этот атрибут поддерживается следующими элементами:
<form:text>
<form:textarea>
<form:password>
<form:file>
<form:formatted-text>
<form:combobox>
<form:listbox>
<form:button>
<form:image>
<form:checkbox>
<form:radio>
<form:grid>
Правила табуляции похожи на правила, используемые в HTML 4.0.
Навигация по элементам управления, которые получают фокус ввода, осуществляется в порядке описанном следующими правилами:
- элементы управления, которые имеют положительное значение атрибута
form:tab-index
, получают фокус ввода в первую очередь;
- навигация начинается с элементов управления, имеющих наименьшее значение атрибута
form:tab-index
, и заканчивается на элементе управления с наибольшим значением, значения не обязательно должны быть последовательными или начинаться с особого значения;
- элементы управления, которые имеют одинаковые значения атрибута
form:tab-index
, получают фокус ввода в соответствии с их позицией на форме;
- затем фокус ввода получают элементы управления, которые не содержат атрибут
form:tab-index
или содержат атрибут со значением 0, эти элементы управления получают фокус ввода в соответствии с их позицией в форме;
- элементы управления, которые имеют атрибут
form:disabled
, установленный в значение true
, не включаются в навигацию независимо от значения их атрибута form:tab-index
.
<define name="common-tab-attlist" combine="interleave">
<optional>
<attribute name="form:tab-index" a:defaultValue="0">
<ref name="nonNegativeInteger"/>
</attribute>
</optional>
</define>
11.5.16 Остановка табуляции
править
Атрибут form:tab-stop
определяет, будет ли элемент управления включен в порядок навигации.
Этот атрибут поддерживается следующими элементами:
<form:text>
<form:textarea>
<form:password>
<form:file>
<form:formatted-text>
<form:combobox>
<form:listbox>
<form:button>
<form:image>
<form:checkbox>
<form:radio>
<form:grid>
Если атрибут имеет значение false
, элемент управления не включается в навигацию.
<define name="common-tab-attlist" combine="interleave">
<optional>
<attribute name="form:tab-stop" a:defaultValue="true">
<ref name="boolean"/>
</attribute>
</optional>
</define>
Атрибут office:target-frame
определяет связанный целевой фрейм области.
Этот атрибут поддерживается следующими элементами:
<form:button>
<form:image>
<define name="target-frame">
<optional>
<attribute name="office:target-frame" a:defaultValue="_blank">
<ref name="targetFrameName"/>
</attribute>
</optional>
</define>
Атрибут xlink:href
определяет URL, который загружается при нажатии кнопки.
Этот атрибут поддерживается следующими элементами:
<form:button>
<form:image>
Значение этого атрибута вычисляется, только если значение атрибута form:button-type
является location
.
<define name="target-location">
<optional>
<attribute name="xlink:href">
<ref name="anyURI"/>
</attribute>
</optional>
</define>
Атрибут form:title
содержит дополнительную информацию об элементе управления. Значение атрибута может быть использовано в качестве всплывающей подсказки.
Этот атрибут поддерживается следующими элементами:
<form:text>
<form:textarea>
<form:password>
<form:file>
<form:formatted-text>
<form:fixed-text>
<form:combobox>
<form:listbox>
<form:button>
<form:image>
<form:checkbox>
<form:radio>
<form:image>
<form:image-frame>
<form:grid>
<define name="common-title-attlist">
<optional>
<attribute name="form:title"/>
</optional>
</define>
Атрибут form:visual-effect
определяет визуальный эффект, примененный для элемента управления. Значения атрибута могут быть flat
для плоского визуального эффекта и 3d
для трехмерного эффекта.
Этот атрибут поддерживается следующими элементами:
<form:checkbox>
<form:radio>
<define name="common-form-visual-effect-attlist" combine="interleave">
<optional>
<attribute name="form:visual-effect">
<choice>
<value>flat</value>
<value>3d</value>
</choice>
</attribute>
</optional>
</define>
11.5.21 Относительное расположение изображения
править
Атрибуты form:image-position
и form:image-align
вместе определяют позицию изображения, отображаемого на элементе управления формы, относительно текстовой метки.
Когда атрибут form:image-position
имеет значение center
, изображение, отображаемое на элементе управления, должно быть отцентрировано относительно текста элемента управления.
Когда атрибут form:image-position
имеет одно из следующих значений:
start
, end
, top
, bottom
, изображение располагается до, после, сверху или снизу от текста. В этом случае атрибут form:image-align
определяет, какая граница (start
, end
) или ось (center
) изображения и текста совмещаются. Если атрибут form:image-position
не представлен, то подразумевается значение center
.
Атрибуты form:image-position
и form:image-align
поддерживаются следующими элементами:
<form:button>
<form:checkbox>
<form:radio>
<define name="common-form-relative-image-position-attlist"
combine="interleave">
<choice>
<optional>
<attribute name="form:image-position" a:defaultValue="center">
<value>center</value>
</attribute>
</optional>
<group>
<attribute name="form:image-position">
<choice>
<value>start</value>
<value>end</value>
<value>top</value>
<value>bottom</value>
</choice>
</attribute>
<optional>
<attribute name="form:image-align" a:defaultValue="center">
<choice>
<value>start</value>
<value>center</value>
<value>end</value>
</choice>
</attribute>
</optional>
</group>
</choice>
</define>
11.5.22 Атрибуты связи с базой данных
править
Элемент управления может быть привязан к полям базы данных. В этом случае элементы управления становятся связанными с данными. Элемент управления получает значения из поля базы данных путем просмотра результирующего набора, который предоставляется формой. Каждый раз, когда изменяется строка в форме, значение элемента управления может измениться. Изменения значения сохраняются в связанном поле базы данных.
Атрибут form:bound-column
определяет значение столбца списка источника, который используется для заполнения значений полей базы данных.
Этот атрибут поддерживается элементом <form:listbox>
.
<define name="bound-column">
<optional>
<attribute name="form:bound-column">
<ref name="string"/>
</attribute>
</optional>
</define>
Преобразование пустого значения в Null
править
Атрибут form:convert-empty-to-null
определяет, воспринимать ли пустое текущее значение как NULL. Этот атрибут важен для элементов управления связанных с данными для определения того, какие значения сохранять для связанного поля базы данных.
Атрибут поддерживается следующими элементами:
<form:text>
<form:textarea>
<form:formatted-text>
<form:combobox>
Если значение атрибута равно true
, пустая строка в элементе управления воспринимается как NULL-значение. Если значение атрибута false
, пустая строка в элементе управления воспринимается как пустая строка.
<define name="common-convert-empty-attlist">
<optional>
<attribute name="form:convert-empty-to-null" a:defaultValue="false">
<ref name="boolean"/>
</attribute>
</optional>
</define>
Атрибут form:data-field
определяет название результирующего набора. Результирующий набор определяется формой, к которой принадлежит элемент управления.
Атрибут поддерживается следующими элементами:
<form:text>
<form:textarea>
<form:formatted-text>
<form:combobox>
<form:listbox>
<form:checkbox>
<form:radio>
<form:image-frame>
<define name="common-data-field-attlist">
<optional>
<attribute name="form:data-field">
<ref name="string"/>
</attribute>
</optional>
</define>
Атрибут form:list-source
определяет источник, используемый для наполнения списка в окне списка или в поле со списком. Первый столбец результирующего набора источника наполняет список.
Атрибут поддерживается следующими элементами:
<form:combobox>
<form:listbox>
<define name="list-source">
<optional>
<attribute name="form:list-source">
<ref name="string"/>
</attribute>
</optional>
</define>
Типы источника данных для списков
править
Атрибут form:list-source-type
определяет тип источника данных, которые используются для заполнения списка данных в списках и полях со списком.
Атрибут поддерживается следующими элементами:
<form:combobox>
<form:listbox>
Данный атрибут может принимать одно из следующих значений:
table
— список заполнен с использованием содержимого таблицы базы данных;
query
— список заполнен результатом выполненного запроса;
sql
— список заполнен выполнением выражения SQL;
sql-pass-through
— список заполнен результатом выполнения оператора любого типа, который прошел непосредственно к драйверу базы данных, без интерпретации приложением;
value-list
— список заполнен значениями определенными пользователем с использованием атрибута form:value
в элементе <form:option>
, эти установки применимы только к спискам;
table-fields
— список заполнен с использованием имен полей в таблице базы данных.
<define name="list-source-type">
<optional>
<attribute name="form:list-source-type">
<choice>
<value>table</value>
<value>query</value>
<value>sql</value>
<value>sql-pass-through</value>
<value>value-list</value>
<value>table-fields</value>
</choice>
</attribute>
</optional>
</define>
HTML определяет список стандартных событий для элементов управления. Эти события представлены атрибутами, связанными с элементами управления. В офисных приложениях формата XML эти события и любые дополнительные события, определенные компонентами приложения, хранятся как элементы в элементе <office:event-listeners>
.
Для события отдельного элемента атрибут script:event-name
устанавливает тип события и другие атрибуты, определяющие язык и обработчик события.
11.6.1 События, имеющие эквивалентные типы событий в HTML
править
Следующая таблица описывает события XML, имеющие эквивалентные события в HTML. Их имена содержатся в пространстве имен «http://www.w3.org/2001/xml-events». В этой спецификации используется префикс пространства имен DOM (см. также раздел 12.4.1).
Значение атрибута
script:event-name
|
Эквивалентное событие HTML
|
Описание события
|
dom:change
|
onchange
|
Происходит, когда элемент управления больше не активен, и его значение было изменено после активизации
|
dom:DOMFocusIn
|
onfocus
|
Происходит, когда элемент управления активизируется с использованием мыши или клавиши TAB
|
dom:DOMFocusOut
|
onblur
|
Происходит, когда элемент управления больше не активизируется в результате движения мыши или табуляции. Может использоваться с такими элементами как form:on-focus
|
dom:keydown
|
onkeydown
|
Происходит при нажатии клавиши на элементе управления
|
dom:keyup
|
onkeyup
|
Происходит, когда отпускается клавиша на элементе управления
|
dom:mouseover
|
onmouseover
|
Происходит, когда на элемент управления направляется курсор мыши
|
dom:mousemove
|
onmousemove
|
Происходит, когда на элементе управления двигается курсор мыши
|
dom:mousedown
|
onmousedown
|
Происходит, когда на элементе управления нажимается кнопка мыши
|
dom:mouseup
|
onmouseup
|
Происходит, когда на элементе управления отпускается кнопка мыши
|
on-mouseout
|
onmouseout
|
Происходит, когда курсор мыши сдвигается с элемента управления
|
dom:reset
|
onreset
|
Происходит при восстановлении формы
|
dom:submit
|
onsubmit
|
Происходит при отправке формы
|
В дополнение к типам событий HTML, формат XML для офисных приложений допускает дополнительные события, обрабатываемые во время выполнения.
Значение атрибута
script:event-name
|
Применяется к объекту
|
Описание события
|
form:approveaction
|
Кнопка или изображение
|
Происходит перед событием on-performaction . Позволяет пользователю запретить действие
|
form:performaction
|
Кнопка или изображение
|
Происходит, когда должно быть выполнено управляющее действие. Частая интерпретация этого события — «нажатие на кнопку»
|
form:textchange
|
Все элементы управления, допускающие ввод текста
|
Происходит, когда пользователь изменяет текст в элементе управления
|
form:itemstatechange
|
Флажок или переключатель
|
Происходит при изменении состояния флажка или переключателя
|
form:mousedrag
|
Все элементы управления
|
Происходит, когда пользователь нажимает и держит одну из кнопок мыши, и двигает курсор мыши на элемент управления
|
form:approvereset
|
Те же, что и для события form:on-reset
|
Происходит перед событием on-reset . Позволяет пользователю наложить на него запрет
|
form:approveupdate
|
Все элементы управления, которые могут быть связаны с полем базы данных, то есть содержащие атрибуты поля данных
|
Происходит перед событием on-update . Позволяет пользователю наложить запрет на обновление
|
form:update
|
Все элементы управления, которые могут быть связаны с полем базы данных, то есть содержащие атрибуты поля данных
|
Происходит, когда фиксируется содержимое элемента управления, связанного с полем базы данных
|
form:load
|
Формы
|
Происходит, когда форма устанавливает соединение с источником данных
|
form:startrealod
|
Формы
|
Происходит, когда форма начинает обновлять соединение с источником данных
|
form:reload
|
Формы
|
Происходит, когда форма обновляет соединение с источником данных
|
form:startunload
|
Формы
|
Происходит, когда форма собирается завершить соединение с источником данных
|
form:unload
|
Формы
|
Происходит, когда форма завершает соединение с источником данных
|
form:confirmdelete
|
Формы
|
Происходит, когда пользователь собирается удалить запись
|
form:approverowchange
|
Формы
|
Происходит перед событием on-rowchange . Позволяет пользователю наложить запрет на изменение
|
form:rowchange
|
Формы
|
Происходит после завершения обновлений строк, таких как удаления, изменения и вставки
|
form:approvecursormove
|
Формы
|
Происходит перед сдвигом на следующую строку. Позволяет пользователю наложить запрет на сдвиг
|
form:cursormove
|
Формы
|
Происходит после сдвига на другую строку
|
form:supplyparameter
|
Формы
|
Происходит, когда форме необходимо заполнить параметры для установления связи с источником данных
|
form:error
|
Формы, объекты поле со списком и список
|
Происходит при ошибке, связанной с базой данных
|
form:adjust
|
Диапазон значений
|
Происходит, когда значение элемента диапазона значений было откорректировано
|
Элемент <form:properties>
может быть использован для хранения следующих установок элементов управления и форм:
- параметры, не определенные в формате документа;
- параметры, обеспечиваемые внешними соединениями;
- параметры, специфические для приложения.
Свойства состоят из пары имя/значение. Имя идентифицирует свойство.
Значение может быть базовым типом данных или списком базовых типов данных.
Элемент <form:properties>
содержит элементы свойств. Свойства могут быть закодированы с помощью элемента form:property
, кроме свойств списка, использующих элемент form:list-property
.
<define name="form-properties">
<element name="form:properties">
<oneOrMore>
<ref name="form-property"/>
</oneOrMore>
</element>
</define>
Элемент <form:property>
описывает самостоятельное свойство и содержит его имя, тип и значение.
<define name="form-property" combine="choice">
<element name="form:property">
<ref name="form-property-name"/>
<ref name="form-property-value-and-type-attlist"/>
</element>
</define>
Атрибут form:property-name
устанавливает имя элемента свойства.
<define name="form-property-name" combine="interleave">
<attribute name="form:property-name">
<ref name="string"/>
</attribute>
</define>
Значение и тип свойств формы представляются через общий атрибут office:value-type
и подходящие атрибуты значений. Более подробную информацию об этих атрибутах см. в разделе 6.7.1.
Свойства формы могут принимать значение одного из этих типов или быть пустыми. В последнем случае используется специальное значение типа void
.
Такие свойства не имеют значения атрибута.
<define name="form-property-value-and-type-attlist" combine="interleave">
<choice>
<ref name="common-value-and-type-attlist"/>
<attribute name="office:value-type">
<value>void</value>
</attribute>
</choice>
</define>
Элемент <form:list-property>
устанавливает свойство, содержащее список значений. Атрибут типа значения указывает, какие типы допустимы в элементах списка. Элемент содержит последовательность элементов значений списка, каждый из которых содержит атрибут значения, совместимого с типом из элемента <form:list-property>
. Атрибуты значений сходны с используемыми в спецификации, кроме тех, у которых атрибут типа связан с составным элементом, атрибуты значений которого связаны со значениями из списка. Более подробную информацию об атрибутах значений см. в разделе 6.7.1.
<define name="form-property" combine="choice">
<element name="form:list-property">
<ref name="form-property-name"/>
<ref name="form-property-type-and-value-list"/>
</element>
</define>
Элемент значение списка содержит атрибуты значений для типа значений, заданного в элементе <form:list-property>
.
<define name="form-property-type-and-value-list">
<choice>
<group>
<attribute name="office:value-type">
<value>float</value>
</attribute>
<zeroOrMore>
<element name="form:list-value">
<attribute name="office:value">
<ref name="double"/>
</attribute>
</element>
</zeroOrMore>
</group>
<group>
<attribute name="office:value-type">
<value>percentage</value>
</attribute>
<zeroOrMore>
<element name="form:list-value">
<attribute name="office:value">
<ref name="double"/>
</attribute>
</element>
</zeroOrMore>
</group>
<group>
<attribute name="office:value-type">
<value>currency</value>
</attribute>
<zeroOrMore>
<element name="form:list-value">
<attribute name="office:value">
<ref name="double"/>
</attribute>
<optional>
<attribute name="office:currency">
<ref name="string"/>
</attribute>
</optional>
</element>
</zeroOrMore>
</group>
<group>
<attribute name="office:value-type">
<value>date</value>
</attribute>
<zeroOrMore>
<element name="form:list-value">
<attribute name="office:date-value">
<ref name="dateOrDateTime"/>
</attribute>
</element>
</zeroOrMore>
</group>
<group>
<attribute name="office:value-type">
<value>time</value>
</attribute>
<zeroOrMore>
<element name="form:list-value">
<attribute name="office:time-value">
<ref name="duration"/>
</attribute>
</element>
</zeroOrMore>
</group>
<group>
<attribute name="office:value-type">
<value>boolean</value>
</attribute>
<zeroOrMore>
<element name="form:list-value">
<attribute name="office:boolean-value">
<ref name="boolean"/>
</attribute>
</element>
</zeroOrMore>
</group>
<group>
<attribute name="office:value-type">
<value>string</value>
</attribute>
<zeroOrMore>
<element name="form:list-value">
<attribute name="office:string-value">
<ref name="string"/>
</attribute>
</element>
</zeroOrMore>
</group>
<attribute name="office:value-type">
<value>void</value>
</attribute>
</choice>
</define>
Пример — Свойства формы:
В следующем примере содержится строковое свойство «Name» со значением «Name 1» и список строковых значений «Items», содержащий строки «Item 1», «Item 2», «Item 3».
<form:properties>
<form:property form:property-name="Name"
office:value-type="string"
office:string-value="Name 1">
<form:list-property form:property-name="Items"
office:value-type="string" >
<form:list-value office:string-value="Item 1"/>
<form:list-value office:string-value="Item 2"/>
<form:list-value office:string-value="Item 3"/>
</form:list-property>
</form:properties>
|
Это произведение не охраняется авторским правом. В соответствии со статьёй 1259 Гражданского кодекса Российской Федерации не являются объектами авторских прав официальные документы государственных органов и органов местного самоуправления муниципальных образований, в том числе законы, другие нормативные акты, судебные решения, иные материалы законодательного, административного и судебного характера, официальные документы международных организаций, а также их официальные переводы; государственные символы и знаки (флаги, гербы, ордена, денежные знаки и тому подобное), а также символы и знаки муниципальных образований; произведения народного творчества (фольклор), не имеющие конкретных авторов; сообщения о событиях и фактах, имеющие исключительно информационный характер (сообщения о новостях дня, программы телепередач, расписания движения транспортных средств и тому подобное).
|
|
|