| <?xml version="1.0" encoding="UTF-8"?> |
| <!-- |
| Licensed to the Apache Software Foundation (ASF) under one |
| or more contributor license agreements. See the NOTICE file |
| distributed with this work for additional information |
| regarding copyright ownership. The ASF licenses this file |
| to you under the Apache License, Version 2.0 (the |
| "License"); you may not use this file except in compliance |
| with the License. You may obtain a copy of the License at |
| |
| http://www.apache.org/licenses/LICENSE-2.0 |
| |
| Unless required by applicable law or agreed to in writing, |
| software distributed under the License is distributed on an |
| "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY |
| KIND, either express or implied. See the License for the |
| specific language governing permissions and limitations |
| under the License. |
| --> |
| <xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" elementFormDefault="qualified"> |
| <xs:include schemaLocation="http://ofbiz.apache.org/dtds/widget-common.xsd" /> |
| |
| <!-- ================== FORMS ==================== --> |
| <xs:element name="forms"> |
| <xs:complexType> |
| <xs:choice maxOccurs="unbounded"> |
| <xs:element ref="form"/> |
| <xs:element ref="grid"/> |
| </xs:choice> |
| </xs:complexType> |
| </xs:element> |
| <xs:element name="form"> |
| <xs:complexType> |
| <xs:sequence> |
| <xs:element minOccurs="0" ref="actions" /> |
| <xs:element minOccurs="0" ref="row-actions" /> |
| <xs:element minOccurs="0" maxOccurs="unbounded" ref="alt-row-style" /> |
| <xs:element minOccurs="0" maxOccurs="unbounded" ref="alt-target" /> |
| <xs:element minOccurs="0" maxOccurs="unbounded" ref="auto-fields-service" /> |
| <xs:element minOccurs="0" maxOccurs="unbounded" ref="auto-fields-entity" /> |
| <xs:element minOccurs="0" maxOccurs="unbounded" ref="field" /> |
| <xs:element minOccurs="0" maxOccurs="unbounded" ref="on-event-update-area" /> |
| <xs:element minOccurs="0" ref="sort-order" /> |
| </xs:sequence> |
| <xs:attribute name="name" type="xs:string" use="required" /> |
| <xs:attribute name="type"> |
| <xs:annotation> |
| <xs:documentation>The form type is always required unless you are extending another form.</xs:documentation> |
| </xs:annotation> |
| <xs:simpleType> |
| <xs:restriction base="xs:token"> |
| <xs:enumeration value="single"> |
| <xs:annotation> |
| <xs:documentation>a single form is a simple single form with values from a single set of values</xs:documentation> |
| </xs:annotation> |
| </xs:enumeration> |
| <xs:enumeration value="list"> |
| <xs:annotation> |
| <xs:documentation>a list form is a list of individual forms in a table (could be called a tabular form), it has a list of sets of values and creates one form for each list element</xs:documentation> |
| </xs:annotation> |
| </xs:enumeration> |
| <xs:enumeration value="multi"> |
| <xs:annotation> |
| <xs:documentation>a multi form is like a list/tabular form, but it creates a single form to submit all list item forms at once; the field names in the resulting form have an appendage attached to make them unique according to the pattern used for the multi-service |
| event handler that will call one service for each list element</xs:documentation> |
| </xs:annotation> |
| </xs:enumeration> |
| <xs:enumeration value="upload"> |
| </xs:enumeration> |
| </xs:restriction> |
| </xs:simpleType> |
| </xs:attribute> |
| <xs:attribute name="target" type="xs:string" /> |
| <xs:attribute name="target-window" type="xs:string" /> |
| <xs:attribute name="target-type" default="intra-app"> |
| <xs:simpleType> |
| <xs:restriction base="xs:token"> |
| <xs:enumeration value="intra-app" /> |
| <xs:enumeration value="inter-app" /> |
| <xs:enumeration value="content" /> |
| <xs:enumeration value="plain" /> |
| </xs:restriction> |
| </xs:simpleType> |
| </xs:attribute> |
| <xs:attribute name="id" type="xs:string" /> |
| <xs:attribute name="style" type="xs:string" /> |
| <xs:attribute name="focus-field-name" type="xs:string" /> |
| <xs:attribute name="title" type="xs:string" /> |
| <xs:attribute name="tooltip" type="xs:string" /> |
| <xs:attribute name="list-name" type="xs:string"> |
| <xs:annotation> |
| <xs:documentation>for list type and other multiple data/form types this is the name of the list in the context to iterate over</xs:documentation> |
| </xs:annotation> |
| </xs:attribute> |
| <xs:attribute name="list-entry-name" type="xs:string"> |
| <xs:annotation> |
| <xs:documentation>if specified each list entry will be put in the context with this name; otherwise the list entry must be a Map and the entries in the Map will be put into the context by name</xs:documentation> |
| </xs:annotation> |
| </xs:attribute> |
| <!-- this is now deprecated, never made sense to separate anyway; use list-name instead <xs:attribute type="xs:string" name="list-iterator-name"/> --> |
| <xs:attribute type="xs:string" name="default-map-name" /> |
| <xs:attribute type="xs:string" name="default-entity-name" /> |
| <xs:attribute type="xs:string" name="default-service-name" /> |
| <xs:attribute type="xs:string" name="form-title-area-style"> |
| <xs:annotation> |
| <xs:documentation>The form-title-area-style specifies the style to use in the header or title area for the form in a multi-form widget with all form fields rendered in one area.</xs:documentation> |
| </xs:annotation> |
| </xs:attribute> |
| <xs:attribute type="xs:string" name="form-widget-area-style"> |
| <xs:annotation> |
| <xs:documentation>The form-widget-area-style specifies the style to use in the main or widget area for the form in a multi-form widget with all form fields rendered in one area.</xs:documentation> |
| </xs:annotation> |
| </xs:attribute> |
| <xs:attribute type="xs:string" name="default-title-area-style" /> |
| <xs:attribute type="xs:string" name="default-widget-area-style" /> |
| <xs:attribute type="xs:string" name="default-title-style" /> |
| <xs:attribute type="xs:string" name="default-widget-style" /> |
| <xs:attribute type="xs:string" name="default-tooltip-style" /> |
| <xs:attribute type="xs:string" name="default-required-field-style" /> |
| <xs:attribute type="xs:string" name="sort-field-parameter-name"> |
| <xs:annotation> |
| <xs:documentation> |
| The name of the request parameter that is used for specifying the sorted column. This is required when you |
| have more than one list on a screen - each list must use its own sort field parameter. Defaults to "sortField". |
| </xs:documentation> |
| </xs:annotation> |
| </xs:attribute> |
| <xs:attribute type="xs:string" name="default-sort-field-style"> |
| <xs:annotation> |
| <xs:documentation>CSS style to used for form sort fields. Defaults to "sort-order".</xs:documentation> |
| </xs:annotation> |
| </xs:attribute> |
| <xs:attribute type="xs:string" name="default-sort-field-asc-style"> |
| <xs:annotation> |
| <xs:documentation>CSS style to used for form sort fields. Defaults to "sort-order-asc".</xs:documentation> |
| </xs:annotation> |
| </xs:attribute> |
| <xs:attribute type="xs:string" name="default-sort-field-desc-style"> |
| <xs:annotation> |
| <xs:documentation>CSS style to used for form sort fields. Defaults to "sort-order-desc".</xs:documentation> |
| </xs:annotation> |
| </xs:attribute> |
| <xs:attribute type="xs:string" name="paginate" default="${paginate}"> |
| <xs:annotation> |
| <xs:documentation>Indicate if this form is paginated or not, true by default.</xs:documentation> |
| </xs:annotation> |
| </xs:attribute> |
| <xs:attribute type="xs:string" name="paginate-target"> |
| <xs:annotation> |
| <xs:documentation>Target location for the [Previous] and [Next] buttons in a form with pagination. Accepts ${} notation.</xs:documentation> |
| </xs:annotation> |
| </xs:attribute> |
| <xs:attribute type="xs:string" name="paginate-target-anchor"> |
| <xs:annotation> |
| <xs:documentation>Target anchor for the [Previous] and [Next] buttons in a form with pagination.</xs:documentation> |
| </xs:annotation> |
| </xs:attribute> |
| <xs:attribute type="xs:string" name="paginate-size-field"> |
| <xs:annotation> |
| <xs:documentation>The name of the parameter that specifies the number of rows to display for each page in a list form with multiple pages. The default is VIEW_SIZE. Accepts ${} notation.</xs:documentation> |
| </xs:annotation> |
| </xs:attribute> |
| <xs:attribute type="xs:string" name="paginate-index-field"> |
| <xs:annotation> |
| <xs:documentation>The name of the parameter that specifies what the current page is in a list form with multiple pages. The default is VIEW_INDEX Accepts ${} notation.</xs:documentation> |
| </xs:annotation> |
| </xs:attribute> |
| <xs:attribute type="xs:string" name="override-list-size"> |
| <xs:annotation> |
| <xs:documentation>The total number of rows in the original list (used for pagination). If not specified, the size of the list will be used. Accepts ${} notation.</xs:documentation> |
| </xs:annotation> |
| </xs:attribute> |
| <xs:attribute type="xs:string" name="paginate-first-label"> |
| <xs:annotation> |
| <xs:documentation>Text to display for the [First] button in a form with pagination. Defaults to the CommonFirst label defined in CommonUiLabels.xml. Accepts ${} notation.</xs:documentation> |
| </xs:annotation> |
| </xs:attribute> |
| <xs:attribute type="xs:string" name="paginate-previous-label"> |
| <xs:annotation> |
| <xs:documentation>Text to display for the [Previous] button in a form with pagination. Defaults to the CommonPrevious label defined in CommonUiLabels.xml. Accepts ${} notation.</xs:documentation> |
| </xs:annotation> |
| </xs:attribute> |
| <xs:attribute type="xs:string" name="paginate-next-label"> |
| <xs:annotation> |
| <xs:documentation>Text to display for the [Next] button in a form with pagination. Defaults to the CommonNext label defined in CommonUiLabels.xml. Accepts ${} notation.</xs:documentation> |
| </xs:annotation> |
| </xs:attribute> |
| <xs:attribute type="xs:string" name="paginate-last-label"> |
| <xs:annotation> |
| <xs:documentation>Text to display for the [Last] button in a form with pagination. Defaults to the CommonLast label defined in CommonUiLabels.xml. Accepts ${} notation.</xs:documentation> |
| </xs:annotation> |
| </xs:attribute> |
| <xs:attribute type="xs:string" name="paginate-style"> |
| <xs:annotation> |
| <xs:documentation>CSS style to use for the whole pager in a form with pagination. Defaults to "nav-pager".</xs:documentation> |
| </xs:annotation> |
| </xs:attribute> |
| <xs:attribute type="xs:string" name="item-index-separator" default="_o_" /> |
| <xs:attribute type="xs:string" name="extends" /> |
| <xs:attribute type="xs:string" name="extends-resource" /> |
| <xs:attribute name="separate-columns" default="false"> |
| <xs:simpleType> |
| <xs:restriction base="xs:token"> |
| <xs:enumeration value="true" /> |
| <xs:enumeration value="false" /> |
| </xs:restriction> |
| </xs:simpleType> |
| </xs:attribute> |
| <xs:attribute name="group-columns" default="true"> |
| <xs:simpleType> |
| <xs:restriction base="xs:token"> |
| <xs:enumeration value="true" /> |
| <xs:enumeration value="false" /> |
| </xs:restriction> |
| </xs:simpleType> |
| </xs:attribute> |
| <xs:attribute type="xs:integer" name="view-size"> |
| <xs:annotation> |
| <xs:documentation>The number of items to display per page</xs:documentation> |
| </xs:annotation> |
| </xs:attribute> |
| <xs:attribute type="xs:string" name="row-count" /> |
| <xs:attribute name="use-row-submit" default="false"> |
| <xs:simpleType> |
| <xs:restriction base="xs:token"> |
| <xs:enumeration value="true" /> |
| <xs:enumeration value="false" /> |
| </xs:restriction> |
| </xs:simpleType> |
| </xs:attribute> |
| <xs:attribute name="skip-start" default="false"> |
| <xs:simpleType> |
| <xs:restriction base="xs:token"> |
| <xs:enumeration value="true" /> |
| <xs:enumeration value="false" /> |
| </xs:restriction> |
| </xs:simpleType> |
| </xs:attribute> |
| <xs:attribute name="skip-end" default="false"> |
| <xs:simpleType> |
| <xs:restriction base="xs:token"> |
| <xs:enumeration value="true" /> |
| <xs:enumeration value="false" /> |
| </xs:restriction> |
| </xs:simpleType> |
| </xs:attribute> |
| <xs:attribute name="hide-header" default="false"> |
| <xs:simpleType> |
| <xs:restriction base="xs:token"> |
| <xs:enumeration value="true" /> |
| <xs:enumeration value="false" /> |
| </xs:restriction> |
| </xs:simpleType> |
| </xs:attribute> |
| <xs:attribute type="xs:string" name="odd-row-style"> |
| <xs:annotation> |
| <xs:documentation>The odd-row-style specifies the style to use in the table content odd rows.</xs:documentation> |
| </xs:annotation> |
| </xs:attribute> |
| <xs:attribute type="xs:string" name="even-row-style"> |
| <xs:annotation> |
| <xs:documentation>The even-row-style specifies the style to use in the table content even rows.</xs:documentation> |
| </xs:annotation> |
| </xs:attribute> |
| <xs:attribute type="xs:string" name="header-row-style"> |
| <xs:annotation> |
| <xs:documentation>The header-row-style specifies the style to use in the header of table.</xs:documentation> |
| </xs:annotation> |
| </xs:attribute> |
| <xs:attribute type="xs:string" name="default-table-style"> |
| <xs:annotation> |
| <xs:documentation>The default-table-style specifies the style to use in the table.</xs:documentation> |
| </xs:annotation> |
| </xs:attribute> |
| <xs:attribute name="client-autocomplete-fields" default="true"> |
| <xs:annotation> |
| <xs:documentation>Tells the browser whether or not to try and autocomplete with values previously entered. Default to true.</xs:documentation> |
| </xs:annotation> |
| <xs:simpleType> |
| <xs:restriction base="xs:token"> |
| <xs:enumeration value="true" /> |
| <xs:enumeration value="false" /> |
| </xs:restriction> |
| </xs:simpleType> |
| </xs:attribute> |
| <!-- |
| not sure this is such a good idea <xs:attribute type="xs:string" name="hidden-values-map-name"> <xs:annotation> <xs:documentation>A map that contains hidden field name/value pairs. The reason for this is to eliminate the need to code custom forms so that auxiliary, passthru data can |
| be sent to the server. By doing it this way, more standard forms can be used. </xs:documentation> </xs:annotation> </xs:attribute> |
| --> |
| </xs:complexType> |
| </xs:element> |
| <xs:element name="grid"> |
| <xs:complexType> |
| <xs:sequence> |
| <xs:element minOccurs="0" ref="actions" /> |
| <xs:element minOccurs="0" ref="row-actions" /> |
| <xs:element minOccurs="0" maxOccurs="unbounded" ref="alt-row-style" /> |
| <xs:element minOccurs="0" maxOccurs="unbounded" ref="alt-target" /> |
| <xs:element minOccurs="0" maxOccurs="unbounded" ref="auto-fields-service" /> |
| <xs:element minOccurs="0" maxOccurs="unbounded" ref="auto-fields-entity" /> |
| <xs:element minOccurs="0" maxOccurs="unbounded" ref="field" /> |
| <xs:element minOccurs="0" maxOccurs="unbounded" ref="on-event-update-area" /> |
| <xs:element minOccurs="0" ref="sort-order" /> |
| </xs:sequence> |
| <xs:attribute name="name" type="xs:string" use="required" /> |
| <xs:attribute name="type"> |
| <xs:annotation> |
| <xs:documentation>The form type is always required unless you are extending another form.</xs:documentation> |
| </xs:annotation> |
| <xs:simpleType> |
| <xs:restriction base="xs:token"> |
| <xs:enumeration value="single"> |
| <xs:annotation> |
| <xs:documentation>a single form is a simple single form with values from a single set of values</xs:documentation> |
| </xs:annotation> |
| </xs:enumeration> |
| <xs:enumeration value="list"> |
| <xs:annotation> |
| <xs:documentation>a list form is a list of individual forms in a table (could be called a tabular form), it has a list of sets of values and creates one form for each list element</xs:documentation> |
| </xs:annotation> |
| </xs:enumeration> |
| <xs:enumeration value="multi"> |
| <xs:annotation> |
| <xs:documentation>a multi form is like a list/tabular form, but it creates a single form to submit all list item forms at once; the field names in the resulting form have an appendage attached to make them unique according to the pattern used for the multi-service |
| event handler that will call one service for each list element</xs:documentation> |
| </xs:annotation> |
| </xs:enumeration> |
| <xs:enumeration value="upload"> |
| </xs:enumeration> |
| </xs:restriction> |
| </xs:simpleType> |
| </xs:attribute> |
| <xs:attribute name="target" type="xs:string" /> |
| <xs:attribute name="target-window" type="xs:string" /> |
| <xs:attribute name="target-type" default="intra-app"> |
| <xs:simpleType> |
| <xs:restriction base="xs:token"> |
| <xs:enumeration value="intra-app" /> |
| <xs:enumeration value="inter-app" /> |
| <xs:enumeration value="content" /> |
| <xs:enumeration value="plain" /> |
| </xs:restriction> |
| </xs:simpleType> |
| </xs:attribute> |
| <xs:attribute name="id" type="xs:string" /> |
| <xs:attribute name="style" type="xs:string" /> |
| <xs:attribute name="focus-field-name" type="xs:string" /> |
| <xs:attribute name="title" type="xs:string" /> |
| <xs:attribute name="tooltip" type="xs:string" /> |
| <xs:attribute name="list-name" type="xs:string"> |
| <xs:annotation> |
| <xs:documentation>for list type and other multiple data/form types this is the name of the list in the context to iterate over</xs:documentation> |
| </xs:annotation> |
| </xs:attribute> |
| <xs:attribute name="list-entry-name" type="xs:string"> |
| <xs:annotation> |
| <xs:documentation>if specified each list entry will be put in the context with this name; otherwise the list entry must be a Map and the entries in the Map will be put into the context by name</xs:documentation> |
| </xs:annotation> |
| </xs:attribute> |
| <!-- this is now deprecated, never made sense to separate anyway; use list-name instead <xs:attribute type="xs:string" name="list-iterator-name"/> --> |
| <xs:attribute type="xs:string" name="default-map-name" /> |
| <xs:attribute type="xs:string" name="default-entity-name" /> |
| <xs:attribute type="xs:string" name="default-service-name" /> |
| <xs:attribute type="xs:string" name="form-title-area-style"> |
| <xs:annotation> |
| <xs:documentation>The form-title-area-style specifies the style to use in the header or title area for the form in a multi-form widget with all form fields rendered in one area.</xs:documentation> |
| </xs:annotation> |
| </xs:attribute> |
| <xs:attribute type="xs:string" name="form-widget-area-style"> |
| <xs:annotation> |
| <xs:documentation>The form-widget-area-style specifies the style to use in the main or widget area for the form in a multi-form widget with all form fields rendered in one area.</xs:documentation> |
| </xs:annotation> |
| </xs:attribute> |
| <xs:attribute type="xs:string" name="default-title-area-style" /> |
| <xs:attribute type="xs:string" name="default-widget-area-style" /> |
| <xs:attribute type="xs:string" name="default-title-style" /> |
| <xs:attribute type="xs:string" name="default-widget-style" /> |
| <xs:attribute type="xs:string" name="default-tooltip-style" /> |
| <xs:attribute type="xs:string" name="default-required-field-style" /> |
| <xs:attribute type="xs:string" name="sort-field-parameter-name"> |
| <xs:annotation> |
| <xs:documentation> |
| The name of the request parameter that is used for specifying the sorted column. This is required when you |
| have more than one list on a screen - each list must use its own sort field parameter. Defaults to "sortField". |
| </xs:documentation> |
| </xs:annotation> |
| </xs:attribute> |
| <xs:attribute type="xs:string" name="default-sort-field-style"> |
| <xs:annotation> |
| <xs:documentation>CSS style to used for form sort fields. Defaults to "sort-order".</xs:documentation> |
| </xs:annotation> |
| </xs:attribute> |
| <xs:attribute type="xs:string" name="default-sort-field-asc-style"> |
| <xs:annotation> |
| <xs:documentation>CSS style to used for form sort fields. Defaults to "sort-order-asc".</xs:documentation> |
| </xs:annotation> |
| </xs:attribute> |
| <xs:attribute type="xs:string" name="default-sort-field-desc-style"> |
| <xs:annotation> |
| <xs:documentation>CSS style to used for form sort fields. Defaults to "sort-order-desc".</xs:documentation> |
| </xs:annotation> |
| </xs:attribute> |
| <xs:attribute type="xs:string" name="paginate" default="${paginate}"> |
| <xs:annotation> |
| <xs:documentation>Indicate if this form is paginated or not, true by default.</xs:documentation> |
| </xs:annotation> |
| </xs:attribute> |
| <xs:attribute type="xs:string" name="paginate-target"> |
| <xs:annotation> |
| <xs:documentation>Target location for the [Previous] and [Next] buttons in a form with pagination. Accepts ${} notation.</xs:documentation> |
| </xs:annotation> |
| </xs:attribute> |
| <xs:attribute type="xs:string" name="paginate-target-anchor"> |
| <xs:annotation> |
| <xs:documentation>Target anchor for the [Previous] and [Next] buttons in a form with pagination.</xs:documentation> |
| </xs:annotation> |
| </xs:attribute> |
| <xs:attribute type="xs:string" name="paginate-size-field"> |
| <xs:annotation> |
| <xs:documentation>The name of the parameter that specifies the number of rows to display for each page in a list form with multiple pages. The default is VIEW_SIZE. Accepts ${} notation.</xs:documentation> |
| </xs:annotation> |
| </xs:attribute> |
| <xs:attribute type="xs:string" name="paginate-index-field"> |
| <xs:annotation> |
| <xs:documentation>The name of the parameter that specifies what the current page is in a list form with multiple pages. The default is VIEW_INDEX Accepts ${} notation.</xs:documentation> |
| </xs:annotation> |
| </xs:attribute> |
| <xs:attribute type="xs:string" name="override-list-size"> |
| <xs:annotation> |
| <xs:documentation>The total number of rows in the original list (used for pagination). If not specified, the size of the list will be used. Accepts ${} notation.</xs:documentation> |
| </xs:annotation> |
| </xs:attribute> |
| <xs:attribute type="xs:string" name="paginate-first-label"> |
| <xs:annotation> |
| <xs:documentation>Text to display for the [First] button in a form with pagination. Defaults to the CommonFirst label defined in CommonUiLabels.xml. Accepts ${} notation.</xs:documentation> |
| </xs:annotation> |
| </xs:attribute> |
| <xs:attribute type="xs:string" name="paginate-previous-label"> |
| <xs:annotation> |
| <xs:documentation>Text to display for the [Previous] button in a form with pagination. Defaults to the CommonPrevious label defined in CommonUiLabels.xml. Accepts ${} notation.</xs:documentation> |
| </xs:annotation> |
| </xs:attribute> |
| <xs:attribute type="xs:string" name="paginate-next-label"> |
| <xs:annotation> |
| <xs:documentation>Text to display for the [Next] button in a form with pagination. Defaults to the CommonNext label defined in CommonUiLabels.xml. Accepts ${} notation.</xs:documentation> |
| </xs:annotation> |
| </xs:attribute> |
| <xs:attribute type="xs:string" name="paginate-last-label"> |
| <xs:annotation> |
| <xs:documentation>Text to display for the [Last] button in a form with pagination. Defaults to the CommonLast label defined in CommonUiLabels.xml. Accepts ${} notation.</xs:documentation> |
| </xs:annotation> |
| </xs:attribute> |
| <xs:attribute type="xs:string" name="paginate-style"> |
| <xs:annotation> |
| <xs:documentation>CSS style to use for the whole pager in a form with pagination. Defaults to "nav-pager".</xs:documentation> |
| </xs:annotation> |
| </xs:attribute> |
| <xs:attribute type="xs:string" name="item-index-separator" default="_o_" /> |
| <xs:attribute type="xs:string" name="extends" /> |
| <xs:attribute type="xs:string" name="extends-resource" /> |
| <xs:attribute name="separate-columns" default="false"> |
| <xs:simpleType> |
| <xs:restriction base="xs:token"> |
| <xs:enumeration value="true" /> |
| <xs:enumeration value="false" /> |
| </xs:restriction> |
| </xs:simpleType> |
| </xs:attribute> |
| <xs:attribute name="group-columns" default="true"> |
| <xs:simpleType> |
| <xs:restriction base="xs:token"> |
| <xs:enumeration value="true" /> |
| <xs:enumeration value="false" /> |
| </xs:restriction> |
| </xs:simpleType> |
| </xs:attribute> |
| <xs:attribute type="xs:integer" name="view-size"> |
| <xs:annotation> |
| <xs:documentation>The number of items to display per page</xs:documentation> |
| </xs:annotation> |
| </xs:attribute> |
| <xs:attribute type="xs:string" name="row-count" /> |
| <xs:attribute name="use-row-submit" default="false"> |
| <xs:simpleType> |
| <xs:restriction base="xs:token"> |
| <xs:enumeration value="true" /> |
| <xs:enumeration value="false" /> |
| </xs:restriction> |
| </xs:simpleType> |
| </xs:attribute> |
| <xs:attribute name="skip-start" default="false"> |
| <xs:simpleType> |
| <xs:restriction base="xs:token"> |
| <xs:enumeration value="true" /> |
| <xs:enumeration value="false" /> |
| </xs:restriction> |
| </xs:simpleType> |
| </xs:attribute> |
| <xs:attribute name="skip-end" default="false"> |
| <xs:simpleType> |
| <xs:restriction base="xs:token"> |
| <xs:enumeration value="true" /> |
| <xs:enumeration value="false" /> |
| </xs:restriction> |
| </xs:simpleType> |
| </xs:attribute> |
| <xs:attribute name="hide-header" default="false"> |
| <xs:simpleType> |
| <xs:restriction base="xs:token"> |
| <xs:enumeration value="true" /> |
| <xs:enumeration value="false" /> |
| </xs:restriction> |
| </xs:simpleType> |
| </xs:attribute> |
| <xs:attribute type="xs:string" name="odd-row-style"> |
| <xs:annotation> |
| <xs:documentation>The odd-row-style specifies the style to use in the table content odd rows.</xs:documentation> |
| </xs:annotation> |
| </xs:attribute> |
| <xs:attribute type="xs:string" name="even-row-style"> |
| <xs:annotation> |
| <xs:documentation>The even-row-style specifies the style to use in the table content even rows.</xs:documentation> |
| </xs:annotation> |
| </xs:attribute> |
| <xs:attribute type="xs:string" name="header-row-style"> |
| <xs:annotation> |
| <xs:documentation>The header-row-style specifies the style to use in the header of table.</xs:documentation> |
| </xs:annotation> |
| </xs:attribute> |
| <xs:attribute type="xs:string" name="default-table-style"> |
| <xs:annotation> |
| <xs:documentation>The default-table-style specifies the style to use in the table.</xs:documentation> |
| </xs:annotation> |
| </xs:attribute> |
| <xs:attribute name="client-autocomplete-fields" default="true"> |
| <xs:annotation> |
| <xs:documentation>Tells the browser whether or not to try and autocomplete with values previously entered. Default to true.</xs:documentation> |
| </xs:annotation> |
| <xs:simpleType> |
| <xs:restriction base="xs:token"> |
| <xs:enumeration value="true" /> |
| <xs:enumeration value="false" /> |
| </xs:restriction> |
| </xs:simpleType> |
| </xs:attribute> |
| <!-- |
| not sure this is such a good idea <xs:attribute type="xs:string" name="hidden-values-map-name"> <xs:annotation> <xs:documentation>A map that contains hidden field name/value pairs. The reason for this is to eliminate the need to code custom forms so that auxiliary, passthru data can |
| be sent to the server. By doing it this way, more standard forms can be used. </xs:documentation> </xs:annotation> </xs:attribute> |
| --> |
| </xs:complexType> |
| </xs:element> |
| <xs:element name="alt-target"> |
| <xs:complexType> |
| <xs:attribute name="use-when" type="xs:string" use="required" /> |
| <xs:attribute name="target" type="xs:string" /> |
| <xs:attribute name="target-type" type="xs:string" /> |
| </xs:complexType> |
| </xs:element> |
| <xs:element name="alt-row-style"> |
| <xs:annotation> |
| <xs:documentation>Active a style on a line if the use-when condition is validate</xs:documentation> |
| </xs:annotation> |
| <xs:complexType> |
| <xs:attribute name="use-when" type="xs:string" use="required"> |
| <xs:annotation> |
| <xs:documentation>Boolean expression tested for active the style on a line.</xs:documentation> |
| </xs:annotation> |
| </xs:attribute> |
| <xs:attribute name="style" type="xs:string" use="required"> |
| <xs:annotation> |
| <xs:documentation>If use-when return true, concat this style to existing style of the line.</xs:documentation> |
| </xs:annotation> |
| </xs:attribute> |
| </xs:complexType> |
| </xs:element> |
| <xs:element name="auto-fields-service"> |
| <xs:complexType> |
| <xs:attribute name="service-name" type="xs:string" use="required" /> |
| <xs:attribute name="map-name" type="xs:string" /> |
| <xs:attribute name="default-field-type" default="edit"> |
| <xs:simpleType> |
| <xs:restriction base="xs:token"> |
| <xs:enumeration value="edit" /> |
| <xs:enumeration value="find" /> |
| <xs:enumeration value="display" /> |
| <xs:enumeration value="hidden" /> |
| </xs:restriction> |
| </xs:simpleType> |
| </xs:attribute> |
| <xs:attribute name="default-position" type="xs:positiveInteger" default="1" /> |
| </xs:complexType> |
| </xs:element> |
| <xs:element name="auto-fields-entity"> |
| <xs:complexType> |
| <xs:attribute name="entity-name" type="xs:string" use="required" /> |
| <xs:attribute name="map-name" type="xs:string" /> |
| <xs:attribute name="default-field-type" default="edit"> |
| <xs:simpleType> |
| <xs:restriction base="xs:token"> |
| <xs:enumeration value="edit" /> |
| <xs:enumeration value="find" /> |
| <xs:enumeration value="display" /> |
| <xs:enumeration value="hidden" /> |
| </xs:restriction> |
| </xs:simpleType> |
| </xs:attribute> |
| <xs:attribute type="xs:positiveInteger" name="default-position" default="1" /> |
| </xs:complexType> |
| </xs:element> |
| <xs:element name="sort-order"> |
| <xs:complexType> |
| <xs:choice minOccurs="0" maxOccurs="unbounded"> |
| <xs:element ref="sort-field" /> |
| <xs:element ref="last-field" /> |
| <xs:element ref="field-group" /> |
| <xs:element ref="banner" /> |
| </xs:choice> |
| <xs:attribute name="type" default="explicit"> |
| <xs:simpleType> |
| <xs:restriction base="xs:token"> |
| <xs:enumeration value="explicit" /> |
| </xs:restriction> |
| </xs:simpleType> |
| </xs:attribute> |
| </xs:complexType> |
| </xs:element> |
| <xs:element name="field-group"> |
| <xs:complexType> |
| <xs:sequence> |
| <xs:element minOccurs="0" maxOccurs="unbounded" ref="sort-field" /> |
| </xs:sequence> |
| <xs:attribute type="xs:string" name="title"> |
| <xs:annotation> |
| <xs:documentation>A unique name for this fields group.</xs:documentation> |
| </xs:annotation> |
| </xs:attribute> |
| <xs:attribute type="xs:string" name="collapsible"> |
| <xs:annotation> |
| <xs:documentation>Indicate in this fields group is collapsible or not, false by default.</xs:documentation> |
| </xs:annotation> |
| </xs:attribute> |
| <xs:attribute type="xs:string" name="initially-collapsed"> |
| <xs:annotation> |
| <xs:documentation>Indicate in this fields group is initially collapsed or not, false by default. If set to true implies collapsible even if not set</xs:documentation> |
| </xs:annotation> |
| </xs:attribute> |
| <xs:attribute type="xs:string" name="id"> |
| <xs:annotation> |
| <xs:documentation>Set an unique CSS identifier to this fields group.</xs:documentation> |
| </xs:annotation> |
| </xs:attribute> |
| <xs:attribute type="xs:string" name="style"> |
| <xs:annotation> |
| <xs:documentation>Set a CSS style to this fields group.</xs:documentation> |
| </xs:annotation> |
| </xs:attribute> |
| </xs:complexType> |
| </xs:element> |
| <xs:element name="banner"> |
| <xs:complexType> |
| <xs:attribute type="xs:string" name="style" /> |
| <xs:attribute type="xs:string" name="text" /> |
| <xs:attribute type="xs:string" name="text-style" /> |
| <xs:attribute type="xs:string" name="left-text" /> |
| <xs:attribute type="xs:string" name="left-text-style" /> |
| <xs:attribute type="xs:string" name="right-text" /> |
| <xs:attribute type="xs:string" name="right-text-style" /> |
| </xs:complexType> |
| </xs:element> |
| <xs:element name="sort-field"> |
| <xs:complexType> |
| <xs:attribute name="name" type="xs:string" use="required" /> |
| <xs:attribute name="position" type="xs:positiveInteger" /> |
| </xs:complexType> |
| </xs:element> |
| <xs:element name="last-field"> |
| <xs:annotation> |
| <xs:documentation>last-field reorder the given field at the end form. This element is propagated to the inherited form</xs:documentation> |
| </xs:annotation> |
| <xs:complexType> |
| <xs:attribute name="name" type="xs:string" use="required" /> |
| </xs:complexType> |
| </xs:element> |
| <!-- ================== Form Events ==================== --> |
| <xs:element name="on-event-update-area"> |
| <xs:annotation> |
| <xs:documentation>Area to be updated when a form event occurs.</xs:documentation> |
| </xs:annotation> |
| <xs:complexType> |
| <xs:sequence> |
| <xs:element minOccurs="0" ref="auto-parameters-service"/> |
| <xs:element minOccurs="0" ref="auto-parameters-entity"/> |
| <xs:element minOccurs="0" maxOccurs="unbounded" ref="parameter" /> |
| </xs:sequence> |
| <xs:attribute name="event-type" use="required"> |
| <xs:simpleType> |
| <xs:restriction base="xs:token"> |
| <xs:enumeration value="paginate" /> |
| <xs:enumeration value="sort-column" /> |
| <xs:enumeration value="submit" /> |
| </xs:restriction> |
| </xs:simpleType> |
| </xs:attribute> |
| <xs:attribute name="area-id" type="xs:string" use="required" /> |
| <xs:attribute name="area-target" type="xs:string" use="required" /> |
| </xs:complexType> |
| </xs:element> |
| |
| <!-- ================== FIELDS ==================== --> |
| <xs:element name="AllFields" abstract="true"/> |
| <xs:element name="field"> |
| <xs:complexType> |
| <xs:sequence> |
| <xs:element minOccurs="0" ref="AllFields" /> |
| <xs:element minOccurs="0" maxOccurs="unbounded" ref="on-field-event-update-area" /> |
| </xs:sequence> |
| <xs:attribute type="xs:string" name="name" use="required"> |
| <xs:annotation> |
| <xs:documentation>A unique name for this field.</xs:documentation> |
| </xs:annotation> |
| </xs:attribute> |
| <xs:attribute type="xs:string" name="map-name"> |
| <xs:annotation> |
| <xs:documentation>The name (or location) of the map that contains the data for this field in the form context.</xs:documentation> |
| </xs:annotation> |
| </xs:attribute> |
| <xs:attribute type="xs:string" name="entity-name"> |
| <xs:annotation> |
| <xs:documentation>Used along with the field-name to look up the entity field definition for any information that might be helpful when rendering the form field.</xs:documentation> |
| </xs:annotation> |
| </xs:attribute> |
| <xs:attribute type="xs:string" name="field-name"> |
| <xs:annotation> |
| <xs:documentation>See the description of entity-name.</xs:documentation> |
| </xs:annotation> |
| </xs:attribute> |
| <xs:attribute type="xs:string" name="service-name"> |
| <xs:annotation> |
| <xs:documentation>Used along with the attribute-name to look up the service attribute definition for any information that might be helpful when rendering the form field.</xs:documentation> |
| </xs:annotation> |
| </xs:attribute> |
| <xs:attribute type="xs:string" name="attribute-name"> |
| <xs:annotation> |
| <xs:documentation>See the description of service-name.</xs:documentation> |
| </xs:annotation> |
| </xs:attribute> |
| <xs:attribute type="xs:string" name="entry-name"> |
| <xs:annotation> |
| <xs:documentation>Defaults to the value of the name attribute; is used to specify the name of the entry in the map that contains the value to populate.</xs:documentation> |
| </xs:annotation> |
| </xs:attribute> |
| <xs:attribute type="xs:string" name="parameter-name"> |
| <xs:annotation> |
| <xs:documentation>Defaults to the value of the name attribute; is the name of the parameter to use for this field (the request parameter in a web application).</xs:documentation> |
| </xs:annotation> |
| </xs:attribute> |
| <xs:attribute type="xs:string" name="title"> |
| <xs:annotation> |
| <xs:documentation>The name of this field that will be shown to the user; can use the ${} and foo.bar (dot) syntax to insert values from the context for parameterization or internationalization.</xs:documentation> |
| </xs:annotation> |
| </xs:attribute> |
| <xs:attribute type="xs:string" name="header-link"> |
| <xs:annotation> |
| <xs:documentation>A link for this field in the header of a list form. Useful for sorting a list form by different columns.</xs:documentation> |
| </xs:annotation> |
| </xs:attribute> |
| <xs:attribute type="xs:string" name="header-link-style"> |
| <xs:annotation> |
| <xs:documentation>The CSS style for a header-link.</xs:documentation> |
| </xs:annotation> |
| </xs:attribute> |
| <xs:attribute type="xs:string" name="tooltip"> |
| <xs:annotation> |
| <xs:documentation>The text to show on mouse over or help for more information; can use the ${} and foo.bar (dot) syntax to insert values from the context for parameterization or internationalization.</xs:documentation> |
| </xs:annotation> |
| </xs:attribute> |
| <xs:attribute type="xs:string" name="title-area-style"> |
| <xs:annotation> |
| <xs:documentation>The name of a style (like a CSS class) to apply to the area around the title of this field.</xs:documentation> |
| </xs:annotation> |
| </xs:attribute> |
| <xs:attribute type="xs:string" name="widget-area-style"> |
| <xs:annotation> |
| <xs:documentation>The name of a style (like a CSS class) to apply to the area around the widget that the user will interact with for this field.</xs:documentation> |
| </xs:annotation> |
| </xs:attribute> |
| <xs:attribute type="xs:string" name="title-style"> |
| <xs:annotation> |
| <xs:documentation>The name of a style (like a CSS class) to apply to the title of this field.</xs:documentation> |
| </xs:annotation> |
| </xs:attribute> |
| <xs:attribute type="xs:string" name="widget-style"> |
| <xs:annotation> |
| <xs:documentation>The name of a style (like a CSS class) to apply to the widget that the user will interact with for this field.</xs:documentation> |
| </xs:annotation> |
| </xs:attribute> |
| <xs:attribute type="xs:string" name="tooltip-style"> |
| <xs:annotation> |
| <xs:documentation>The name of a style (like a CSS class) to apply to the tooltip of this field.</xs:documentation> |
| </xs:annotation> |
| </xs:attribute> |
| <xs:attribute type="xs:positiveInteger" name="position" default="1"> |
| <xs:annotation> |
| <xs:documentation>For row oriented forms (single type) can specify that the field should be put a column other than the first; for column oriented forms (list type) specifies the row the field should be put in.</xs:documentation> |
| </xs:annotation> |
| </xs:attribute> |
| <xs:attribute name="red-when" default="by-name"> |
| <xs:annotation> |
| <xs:documentation>The widget/interaction part will be red if the date value is before-now (for thruDate), after-now (for fromDate), or by-name (if the field's name or entry-name or fromDate or thruDate the corresponding action will be done); only applicable when the field is a |
| timestamp.</xs:documentation> |
| </xs:annotation> |
| <xs:simpleType> |
| <xs:restriction base="xs:token"> |
| <xs:enumeration value="never" /> |
| <xs:enumeration value="before-now" /> |
| <xs:enumeration value="after-now" /> |
| <xs:enumeration value="by-name" /> |
| </xs:restriction> |
| </xs:simpleType> |
| </xs:attribute> |
| <xs:attribute name="use-when" type="xs:string"> |
| <xs:annotation> |
| <xs:documentation> |
| Used to specify a condition that must be true to use this field; the condition should be written using the |
| Java syntax and can operate on values in the form context; conditional fields are evaluated in reverse |
| order so the last field defined that evaluates to true is the one that is rendered. |
| </xs:documentation> |
| </xs:annotation> |
| </xs:attribute> |
| <xs:attribute name="encode-output" default="true"> |
| <xs:annotation> |
| <xs:documentation> |
| This is for textual output only. If true data shown in fields will be encoded so that it does not interfere with markup of the target output. |
| For example, if output is HTML then data presented will be HTML encoded so that all HTML-specific characters are escaped. |
| </xs:documentation> |
| </xs:annotation> |
| <xs:simpleType> |
| <xs:restriction base="xs:token"> |
| <xs:enumeration value="true" /> |
| <xs:enumeration value="false" /> |
| </xs:restriction> |
| </xs:simpleType> |
| </xs:attribute> |
| <xs:attribute type="xs:string" name="event"> |
| <xs:annotation> |
| <xs:documentation>Used to specify a javascript event that may be attached to field.</xs:documentation> |
| </xs:annotation> |
| </xs:attribute> |
| <xs:attribute type="xs:string" name="action"> |
| <xs:annotation> |
| <xs:documentation>Used to specify a javascript action that should be run based on an existing specified event.</xs:documentation> |
| </xs:annotation> |
| </xs:attribute> |
| <xs:attribute type="xs:string" name="id-name" /> |
| <xs:attribute name="separate-column" default="false"> |
| <xs:simpleType> |
| <xs:restriction base="xs:token"> |
| <xs:enumeration value="true" /> |
| <xs:enumeration value="false" /> |
| </xs:restriction> |
| </xs:simpleType> |
| </xs:attribute> |
| <xs:attribute name="required-field"> |
| <xs:simpleType> |
| <xs:restriction base="xs:token"> |
| <xs:enumeration value="true" /> |
| <xs:enumeration value="false" /> |
| </xs:restriction> |
| </xs:simpleType> |
| </xs:attribute> |
| <xs:attribute type="xs:string" name="required-field-style"> |
| <xs:annotation> |
| <xs:documentation>The name of a style (like a CSS class) to apply to the title of this field if required. |
| Will default to form's default-required-field-style. |
| If field is required, but required-field-style is empty, an '*' will be placed to the right of text, |
| textarea and password fields. |
| </xs:documentation> |
| </xs:annotation> |
| </xs:attribute> |
| <xs:attribute name="sort-field" default="false"> |
| <xs:simpleType> |
| <xs:restriction base="xs:token"> |
| <xs:enumeration value="true" /> |
| <xs:enumeration value="false" /> |
| </xs:restriction> |
| </xs:simpleType> |
| </xs:attribute> |
| <xs:attribute type="xs:string" name="sort-field-style"> |
| <xs:annotation> |
| <xs:documentation>The name of a style (like a CSS class) to apply to the sort field link. |
| Will default to form's default-sort-field-style. |
| </xs:documentation> |
| </xs:annotation> |
| </xs:attribute> |
| <xs:attribute type="xs:string" name="sort-field-help-text"> |
| <xs:annotation> |
| <xs:documentation>Help text to be displayed when the mouse hovers over the column heading. |
| </xs:documentation> |
| </xs:annotation> |
| </xs:attribute> |
| <xs:attribute type="xs:string" name="sort-field-asc-style"> |
| <xs:annotation> |
| <xs:documentation>The name of a style (like a CSS class) to apply to the sort field link ordered ascending. |
| Will default to form's default-sort-field-asc-style. |
| </xs:documentation> |
| </xs:annotation> |
| </xs:attribute> |
| <xs:attribute type="xs:string" name="sort-field-desc-style"> |
| <xs:annotation> |
| <xs:documentation>The name of a style (like a CSS class) to apply to the sort field link ordered descending. |
| Will default to form's default-sort-field-desc-style. |
| </xs:documentation> |
| </xs:annotation> |
| </xs:attribute> |
| </xs:complexType> |
| </xs:element> |
| |
| <!-- ================== FIELD TYPES ==================== --> |
| <xs:element name="check" substitutionGroup="AllFields"> |
| <xs:complexType> |
| <xs:choice minOccurs="0" maxOccurs="unbounded"> |
| <xs:element ref="entity-options" /> |
| <xs:element ref="list-options" /> |
| <xs:element ref="option" /> |
| </xs:choice> |
| <xs:attribute name="all-checked"> |
| <xs:simpleType> |
| <xs:restriction base="xs:token"> |
| <xs:enumeration value="true" /> |
| <xs:enumeration value="false" /> |
| </xs:restriction> |
| </xs:simpleType> |
| </xs:attribute> |
| </xs:complexType> |
| </xs:element> |
| <xs:element name="container" substitutionGroup="AllFields"> |
| <xs:complexType /> |
| </xs:element> |
| <xs:element name="date-find" substitutionGroup="AllFields"> |
| <xs:complexType> |
| <xs:attribute name="type" default="timestamp"> |
| <xs:simpleType> |
| <xs:restriction base="xs:token"> |
| <xs:enumeration value="timestamp" /> |
| <xs:enumeration value="date" /> |
| <xs:enumeration value="time" /> |
| </xs:restriction> |
| </xs:simpleType> |
| </xs:attribute> |
| <xs:attribute type="xs:string" name="default-value" /> |
| <xs:attribute name="default-option-from" default="equals"> |
| <xs:simpleType> |
| <xs:restriction base="xs:string"> |
| <xs:enumeration value="equals" /> |
| <xs:enumeration value="sameDay" /> |
| <xs:enumeration value="greaterThanFromDayStart" /> |
| <xs:enumeration value="greaterThan" /> |
| </xs:restriction> |
| </xs:simpleType> |
| </xs:attribute> |
| <xs:attribute name="default-option-thru" default="lessThan"> |
| <xs:simpleType> |
| <xs:restriction base="xs:string"> |
| <xs:enumeration value="lessThan" /> |
| <xs:enumeration value="upToDay" /> |
| <xs:enumeration value="upThruDay" /> |
| <xs:enumeration value="empty" /> |
| </xs:restriction> |
| </xs:simpleType> |
| </xs:attribute> |
| </xs:complexType> |
| </xs:element> |
| <xs:element name="date-time" substitutionGroup="AllFields"> |
| <xs:annotation> |
| <xs:documentation> |
| A special entry for date-time fields; may just have a default size text |
| entry box and some sort of widget to make date entry/selection easier. |
| </xs:documentation> |
| </xs:annotation> |
| <xs:complexType> |
| <xs:attribute name="type" default="timestamp"> |
| <xs:simpleType> |
| <xs:restriction base="xs:token"> |
| <xs:enumeration value="timestamp" /> |
| <xs:enumeration value="date" /> |
| <xs:enumeration value="time" /> |
| </xs:restriction> |
| </xs:simpleType> |
| </xs:attribute> |
| <xs:attribute type="xs:string" name="default-value" /> |
| <xs:attribute name="input-method" default="text"> |
| <xs:simpleType> |
| <xs:restriction base="xs:token"> |
| <xs:enumeration value="text" /> |
| <xs:enumeration value="time-dropdown" /> |
| </xs:restriction> |
| </xs:simpleType> |
| </xs:attribute> |
| <xs:attribute name="clock" default="24"> |
| <xs:simpleType> |
| <xs:restriction base="xs:token"> |
| <xs:enumeration value="12" /> |
| <xs:enumeration value="24" /> |
| </xs:restriction> |
| </xs:simpleType> |
| </xs:attribute> |
| <xs:attribute name="step" default="1"> |
| <xs:simpleType> |
| <xs:restriction base="xs:token"> |
| <xs:enumeration value="1" /> |
| <xs:enumeration value="5" /> |
| <xs:enumeration value="10" /> |
| <xs:enumeration value="15" /> |
| <xs:enumeration value="30" /> |
| </xs:restriction> |
| </xs:simpleType> |
| </xs:attribute> |
| <xs:attribute name="mask" default="N"> |
| <xs:annotation> |
| <xs:documentation>Will use the type value if set to yes, add a masked input</xs:documentation> |
| </xs:annotation> |
| <xs:simpleType> |
| <xs:restriction base="xs:token"> |
| <xs:enumeration value="Y" /> |
| <xs:enumeration value="N" /> |
| </xs:restriction> |
| </xs:simpleType> |
| </xs:attribute> |
| <xs:attribute name="placeholder" type="xs:string"> |
| <xs:annotation> |
| <xs:documentation>Specifies a short hint that describes the expected value of an input field.</xs:documentation> |
| </xs:annotation> |
| </xs:attribute> |
| </xs:complexType> |
| </xs:element> |
| <xs:element name="display" substitutionGroup="AllFields"> |
| <xs:complexType> |
| <xs:sequence> |
| <xs:element ref="in-place-editor" minOccurs="0" maxOccurs="1" /> |
| </xs:sequence> |
| <xs:attribute name="also-hidden" default="true"> |
| <xs:annotation> |
| <xs:documentation>If set to true, an hidden form field is also rendered, with the name of the field and its content.</xs:documentation> |
| </xs:annotation> |
| <xs:simpleType> |
| <xs:restriction base="xs:token"> |
| <xs:enumeration value="true" /> |
| <xs:enumeration value="false" /> |
| </xs:restriction> |
| </xs:simpleType> |
| </xs:attribute> |
| <xs:attribute type="xs:string" name="description"> |
| <xs:annotation> |
| <xs:documentation>Specifies the string to display, can use the ${} syntax to insert context values; if empty the value of the field will be printed for a default.</xs:documentation> |
| </xs:annotation> |
| </xs:attribute> |
| <xs:attribute type="xs:integer" name="size"> |
| <xs:annotation> |
| <xs:documentation>Specifies the size of the field (as a number of characters), when the text to display exceed the given size it is truncated and add the complete text as a hint</xs:documentation> |
| </xs:annotation> |
| </xs:attribute> |
| <xs:attribute name="type" default="text"> |
| <xs:simpleType> |
| <xs:restriction base="xs:token"> |
| <xs:enumeration value="text" /> |
| <xs:enumeration value="currency" /> |
| <xs:enumeration value="date"> |
| <xs:annotation> |
| <xs:documentation>Display only the date part of a timestamp field</xs:documentation> |
| </xs:annotation> |
| </xs:enumeration> |
| <xs:enumeration value="date-time"> |
| <xs:annotation> |
| <xs:documentation>Display only the date and hours:minutes part of a timestamp field</xs:documentation> |
| </xs:annotation> |
| </xs:enumeration> |
| <xs:enumeration value="image"> |
| <xs:annotation> |
| <xs:documentation>Display the image specified in image-location</xs:documentation> |
| </xs:annotation> |
| </xs:enumeration> |
| <xs:enumeration value="accounting-number"> |
| <xs:annotation> |
| <xs:documentation>Display negatives in parentheses (configurable, see arithmetic.properties)</xs:documentation> |
| </xs:annotation> |
| </xs:enumeration> |
| </xs:restriction> |
| </xs:simpleType> |
| </xs:attribute> |
| <xs:attribute type="xs:string" name="currency"> |
| <xs:annotation> |
| <xs:documentation>Specifies the currency uom ID used to format context value, should generally use the ${} syntax to retrieve value.</xs:documentation> |
| </xs:annotation> |
| </xs:attribute> |
| <xs:attribute type="xs:string" name="image-location"> |
| <xs:annotation> |
| <xs:documentation>Specifies the image to display.</xs:documentation> |
| </xs:annotation> |
| </xs:attribute> |
| <xs:attribute type="xs:string" name="default-value"> |
| <xs:annotation> |
| <xs:documentation>Specifies a string to be displayed if the field is empty.</xs:documentation> |
| </xs:annotation> |
| </xs:attribute> |
| </xs:complexType> |
| </xs:element> |
| <xs:element name="display-entity" substitutionGroup="AllFields"> |
| <xs:annotation> |
| <xs:documentation>This is just like display but looks up a description using the Entity Engine; note that if also-hidden is true then it uses the key as the value, not the shown description.</xs:documentation> |
| </xs:annotation> |
| <xs:complexType> |
| <xs:sequence> |
| <xs:element minOccurs="0" ref="sub-hyperlink" /> |
| </xs:sequence> |
| <xs:attribute type="xs:string" name="entity-name" use="required" /> |
| <xs:attribute type="xs:string" name="key-field-name" /> |
| <xs:attribute type="xs:string" name="description" default="${description}" /> |
| <xs:attribute type="xs:integer" name="size"> |
| <xs:annotation> |
| <xs:documentation>Specifies the size of the field (as a number of characters), when the text to display exceed the given size it is truncated and add the complete text as a hint</xs:documentation> |
| </xs:annotation> |
| </xs:attribute> |
| <xs:attribute name="cache" default="true"> |
| <xs:simpleType> |
| <xs:restriction base="xs:token"> |
| <xs:enumeration value="true" /> |
| <xs:enumeration value="false" /> |
| </xs:restriction> |
| </xs:simpleType> |
| </xs:attribute> |
| <xs:attribute name="also-hidden" default="true"> |
| <xs:annotation> |
| <xs:documentation>If set to true, an hidden form field is also rendered, with the name of the field and its content.</xs:documentation> |
| </xs:annotation> |
| <xs:simpleType> |
| <xs:restriction base="xs:token"> |
| <xs:enumeration value="true" /> |
| <xs:enumeration value="false" /> |
| </xs:restriction> |
| </xs:simpleType> |
| </xs:attribute> |
| </xs:complexType> |
| </xs:element> |
| <xs:element name="drop-down" substitutionGroup="AllFields"> |
| <xs:complexType> |
| <xs:sequence> |
| <xs:element ref="auto-complete" minOccurs="0" maxOccurs="1" /> |
| <xs:choice minOccurs="0" maxOccurs="unbounded"> |
| <xs:element ref="entity-options" /> |
| <xs:element ref="list-options" /> |
| <xs:element ref="option" /> |
| </xs:choice> |
| <xs:element minOccurs="0" ref="sub-hyperlink" /> |
| </xs:sequence> |
| <xs:attribute name="allow-empty" default="false"> |
| <xs:simpleType> |
| <xs:restriction base="xs:token"> |
| <xs:enumeration value="true" /> |
| <xs:enumeration value="false" /> |
| </xs:restriction> |
| </xs:simpleType> |
| </xs:attribute> |
| <xs:attribute name="allow-multiple" default="false"> |
| <xs:simpleType> |
| <xs:restriction base="xs:token"> |
| <xs:enumeration value="true" /> |
| <xs:enumeration value="false" /> |
| </xs:restriction> |
| </xs:simpleType> |
| </xs:attribute> |
| <xs:attribute name="current" default="first-in-list"> |
| <xs:simpleType> |
| <xs:restriction base="xs:token"> |
| <xs:enumeration value="first-in-list" /> |
| <xs:enumeration value="selected" /> |
| </xs:restriction> |
| </xs:simpleType> |
| </xs:attribute> |
| <xs:attribute type="xs:string" name="no-current-selected-key"> |
| <xs:annotation> |
| <xs:documentation>The key to mark as selected when there is no current entry value.</xs:documentation> |
| </xs:annotation> |
| </xs:attribute> |
| <xs:attribute type="xs:integer" name="size" default="1" /> |
| <xs:attribute type="xs:string" name="current-description" /> |
| <xs:attribute type="xs:integer" name="other-field-size" default="0"> |
| <xs:annotation> |
| <xs:documentation>If non-zero, a text field will conditionally show |
| next to the select control to implement a crude "combo box". |
| In order for this to work there must be a option in the select as: |
| <option key="_OTHER_" description="Specify other"/> |
| - with '_OTHER_' being required and any 'description' allowed. |
| In order to use this feature, the javascript code contained in the file: |
| images/webapp/images/combobox.js must be included in the page. |
| </xs:documentation> |
| </xs:annotation> |
| </xs:attribute> |
| <xs:attribute type="xs:integer" name="text-size"> |
| <xs:annotation> |
| <xs:documentation>Specifies the size of the field (as a number of characters), when the text to display exceed the given size it is truncated and add the complete text as a hint</xs:documentation> |
| </xs:annotation> |
| </xs:attribute> |
| </xs:complexType> |
| </xs:element> |
| <xs:element name="file" substitutionGroup="AllFields"> |
| <xs:complexType> |
| <xs:sequence> |
| <xs:element minOccurs="0" ref="sub-hyperlink" /> |
| </xs:sequence> |
| <xs:attribute type="xs:positiveInteger" name="size" default="25" /> |
| <xs:attribute type="xs:positiveInteger" name="maxlength" /> |
| <xs:attribute type="xs:string" name="default-value" /> |
| <xs:attribute name="client-autocomplete-field" default="true"> |
| <xs:annotation> |
| <xs:documentation>Tells the browser whether or not to try and autocomplete with values previously entered. Default to true.</xs:documentation> |
| </xs:annotation> |
| <xs:simpleType> |
| <xs:restriction base="xs:token"> |
| <xs:enumeration value="true" /> |
| <xs:enumeration value="false" /> |
| </xs:restriction> |
| </xs:simpleType> |
| </xs:attribute> |
| </xs:complexType> |
| </xs:element> |
| <xs:element name="hidden" substitutionGroup="AllFields"> |
| <xs:complexType> |
| <xs:attribute type="xs:string" name="value" /> |
| </xs:complexType> |
| </xs:element> |
| <xs:complexType name="hyperlink"> |
| <xs:complexContent> |
| <xs:extension base="link"> |
| <xs:attribute type="xs:string" name="description"> |
| <xs:annotation> |
| <xs:documentation>Specifies the string to display, can use the ${} syntax to insert context values; if empty the value of the field will be printed for a default.</xs:documentation> |
| </xs:annotation> |
| </xs:attribute> |
| <xs:attribute name="request-confirmation" default="false"> |
| <xs:annotation> |
| <xs:documentation>If true then the user is presented with a dialog box, if confirmation-message is empty, use default</xs:documentation> |
| </xs:annotation> |
| <xs:simpleType> |
| <xs:restriction base="xs:token"> |
| <xs:enumeration value="true" /> |
| <xs:enumeration value="false" /> |
| </xs:restriction> |
| </xs:simpleType> |
| </xs:attribute> |
| <xs:attribute name="confirmation-message" type="xs:string"> |
| <xs:annotation> |
| <xs:documentation>The message displayed in confirmation box</xs:documentation> |
| </xs:annotation> |
| </xs:attribute> |
| <xs:attribute name="also-hidden" default="true"> |
| <xs:annotation> |
| <xs:documentation>If set to true, an hidden form field is also rendered, with the name of the field and its content.</xs:documentation> |
| </xs:annotation> |
| <xs:simpleType> |
| <xs:restriction base="xs:token"> |
| <xs:enumeration value="true" /> |
| <xs:enumeration value="false" /> |
| </xs:restriction> |
| </xs:simpleType> |
| </xs:attribute> |
| <!-- These attributes have been replaced by the image element --> |
| <xs:attribute type="xs:string" name="alternate"> |
| <xs:annotation> |
| <xs:documentation>Deprecated - use the image element.</xs:documentation> |
| </xs:annotation> |
| </xs:attribute> |
| <xs:attribute type="xs:string" name="image-title"> |
| <xs:annotation> |
| <xs:documentation>Deprecated - use the image element.</xs:documentation> |
| </xs:annotation> |
| </xs:attribute> |
| <xs:attribute type="xs:string" name="image-location"> |
| <xs:annotation> |
| <xs:documentation>Deprecated - use the image element.</xs:documentation> |
| </xs:annotation> |
| </xs:attribute> |
| <xs:attribute name="target-type" default="intra-app"> |
| <xs:annotation> |
| <xs:documentation>Deprecated - use the url-mode attribute.</xs:documentation> |
| </xs:annotation> |
| <xs:simpleType> |
| <xs:restriction base="xs:token"> |
| <xs:enumeration value="intra-app" /> |
| <xs:enumeration value="inter-app" /> |
| <xs:enumeration value="content" /> |
| <xs:enumeration value="plain" /> |
| </xs:restriction> |
| </xs:simpleType> |
| </xs:attribute> |
| </xs:extension> |
| </xs:complexContent> |
| </xs:complexType> |
| <xs:element name="hyperlink" type="hyperlink" substitutionGroup="AllFields"/> |
| <xs:element name="ignored" substitutionGroup="AllFields"> |
| <xs:complexType/> |
| </xs:element> |
| <xs:element name="image" substitutionGroup="AllFields"> |
| <xs:complexType> |
| <xs:sequence> |
| <xs:element minOccurs="0" ref="sub-hyperlink" /> |
| </xs:sequence> |
| <xs:attribute type="xs:string" name="style" /> |
| <xs:attribute type="xs:string" name="value" /> |
| <xs:attribute type="xs:string" name="default-value" /> |
| <xs:attribute type="xs:string" name="description" /> |
| <xs:attribute type="xs:string" name="alternate" /> |
| </xs:complexType> |
| </xs:element> |
| <xs:element name="lookup" substitutionGroup="AllFields"> |
| <xs:complexType> |
| <xs:sequence> |
| <xs:element minOccurs="0" ref="sub-hyperlink" /> |
| </xs:sequence> |
| <xs:attribute type="xs:string" name="target-form-name" use="required" /> |
| <xs:attribute type="xs:nonNegativeInteger" name="size" default="25" /> |
| <xs:attribute type="xs:positiveInteger" name="maxlength" /> |
| <xs:attribute type="xs:string" name="default-value" /> |
| <xs:attribute type="xs:string" name="description-field-name"> |
| <xs:annotation> |
| <xs:documentation> |
| The name of a field whose value is also filled when coming back from lookup selection. |
| </xs:documentation> |
| </xs:annotation> |
| </xs:attribute> |
| <xs:attribute type="xs:string" name="target-parameter"> |
| <xs:annotation> |
| <xs:documentation>The name of a field whose value is passed in as a parameter to the lookup target form. |
| Can be a comma separated list. You need to affect it the value using parameters.parmI |
| (where I is the position number in the list, I must begin at 0) in the related lookup screen. |
| See LookupPreferredContactMech as example |
| </xs:documentation> |
| </xs:annotation> |
| </xs:attribute> |
| <xs:attribute name="client-autocomplete-field" default="true"> |
| <xs:annotation> |
| <xs:documentation> |
| Tells the browser whether or not to try and autocomplete with values previously entered. |
| Default to true. |
| </xs:documentation> |
| </xs:annotation> |
| <xs:simpleType> |
| <xs:restriction base="xs:token"> |
| <xs:enumeration value="true" /> |
| <xs:enumeration value="false" /> |
| </xs:restriction> |
| </xs:simpleType> |
| </xs:attribute> |
| <xs:attribute name="read-only" default="false"> |
| <xs:simpleType> |
| <xs:restriction base="xs:token"> |
| <xs:enumeration value="true" /> |
| <xs:enumeration value="false" /> |
| </xs:restriction> |
| </xs:simpleType> |
| </xs:attribute> |
| <xs:attribute name="presentation" default="layer"> |
| <xs:annotation> |
| <xs:documentation> |
| Shows the lookup as moveable and resizable layer or popup window. |
| Default to layer. |
| </xs:documentation> |
| </xs:annotation> |
| <xs:simpleType> |
| <xs:restriction base="xs:string"> |
| <xs:enumeration value="layer" /> |
| <xs:enumeration value="window" /> |
| </xs:restriction> |
| </xs:simpleType> |
| </xs:attribute> |
| <xs:attribute type="xs:string" name="height"> |
| <xs:annotation> |
| <xs:documentation>Only layer height. I.e. 250px, 12%</xs:documentation> |
| </xs:annotation> |
| </xs:attribute> |
| <xs:attribute type="xs:string" name="width"> |
| <xs:annotation> |
| <xs:documentation>Only layer width. I.e. 250px, 12%</xs:documentation> |
| </xs:annotation> |
| </xs:attribute> |
| <xs:attribute name="position" default="topleft"> |
| <xs:annotation> |
| <xs:documentation>Only for layer positionining. Default to topleft corner.</xs:documentation> |
| </xs:annotation> |
| <xs:simpleType> |
| <xs:restriction base="xs:string"> |
| <xs:enumeration value="center" /> |
| <xs:enumeration value="left" /> |
| <xs:enumeration value="right" /> |
| <xs:enumeration value="topleft" /> |
| <xs:enumeration value="topright" /> |
| <xs:enumeration value="topcenter" /> |
| </xs:restriction> |
| </xs:simpleType> |
| </xs:attribute> |
| <xs:attribute name="fade-background" default="true"> |
| <xs:annotation> |
| <xs:documentation>If true the window background will be faded, default to true.</xs:documentation> |
| </xs:annotation> |
| <xs:simpleType> |
| <xs:restriction base="xs:string"> |
| <xs:enumeration value="true" /> |
| <xs:enumeration value="false" /> |
| </xs:restriction> |
| </xs:simpleType> |
| </xs:attribute> |
| <xs:attribute name="initially-collapsed" default="false"> |
| <xs:annotation> |
| <xs:documentation>If true the search screenlet is collapsed intially, default to false.</xs:documentation> |
| </xs:annotation> |
| <xs:simpleType> |
| <xs:restriction base="xs:string"> |
| <xs:enumeration value="true" /> |
| <xs:enumeration value="false" /> |
| </xs:restriction> |
| </xs:simpleType> |
| </xs:attribute> |
| <xs:attribute name="show-description" type="xs:boolean"> |
| <xs:annotation> |
| <xs:documentation>If true, a special span with css class "tooltip" will be created at right of the lookup button |
| and a description will fill in. |
| If not set then it depends on the "widget.lookup.showDescription" setting. |
| </xs:documentation> |
| </xs:annotation> |
| </xs:attribute> |
| </xs:complexType> |
| </xs:element> |
| <xs:element name="password" substitutionGroup="AllFields"> |
| <xs:complexType> |
| <xs:sequence> |
| <xs:element minOccurs="0" ref="sub-hyperlink" /> |
| </xs:sequence> |
| <xs:attribute type="xs:positiveInteger" name="size" default="25" /> |
| <xs:attribute type="xs:positiveInteger" name="maxlength" /> |
| <xs:attribute type="xs:string" name="default-value" /> |
| <xs:attribute name="client-autocomplete-field" default="true"> |
| <xs:annotation> |
| <xs:documentation>Tells the browser whether or not to try and autocomplete with values previously entered. Default to true.</xs:documentation> |
| </xs:annotation> |
| <xs:simpleType> |
| <xs:restriction base="xs:token"> |
| <xs:enumeration value="true" /> |
| <xs:enumeration value="false" /> |
| </xs:restriction> |
| </xs:simpleType> |
| </xs:attribute> |
| </xs:complexType> |
| </xs:element> |
| <xs:element name="radio" substitutionGroup="AllFields"> |
| <xs:complexType> |
| <xs:choice minOccurs="0" maxOccurs="unbounded"> |
| <xs:element ref="entity-options" /> |
| <xs:element ref="list-options" /> |
| <xs:element ref="option" /> |
| </xs:choice> |
| <xs:attribute type="xs:string" name="no-current-selected-key" /> |
| </xs:complexType> |
| </xs:element> |
| <xs:element name="range-find" substitutionGroup="AllFields"> |
| <xs:complexType> |
| <xs:sequence> |
| <xs:element minOccurs="0" ref="sub-hyperlink" /> |
| </xs:sequence> |
| <xs:attribute type="xs:positiveInteger" name="size" default="25" /> |
| <xs:attribute type="xs:positiveInteger" name="maxlength" /> |
| <xs:attribute type="xs:string" name="default-value" /> |
| <xs:attribute name="client-autocomplete-field" default="true"> |
| <xs:annotation> |
| <xs:documentation>Tells the browser whether or not to try and autocomplete with values previously entered. Default to true.</xs:documentation> |
| </xs:annotation> |
| <xs:simpleType> |
| <xs:restriction base="xs:token"> |
| <xs:enumeration value="true" /> |
| <xs:enumeration value="false" /> |
| </xs:restriction> |
| </xs:simpleType> |
| </xs:attribute> |
| <xs:attribute name="default-option-from" default="greaterThanEqualTo"> |
| <xs:simpleType> |
| <xs:restriction base="xs:string"> |
| <xs:enumeration value="equals" /> |
| <xs:enumeration value="greaterThan" /> |
| <xs:enumeration value="greaterThanEqualTo" /> |
| </xs:restriction> |
| </xs:simpleType> |
| </xs:attribute> |
| <xs:attribute name="default-option-thru" default="lessThanEqualTo"> |
| <xs:simpleType> |
| <xs:restriction base="xs:string"> |
| <xs:enumeration value="lessThan" /> |
| <xs:enumeration value="lessThanEqualTo" /> |
| </xs:restriction> |
| </xs:simpleType> |
| </xs:attribute> |
| </xs:complexType> |
| </xs:element> |
| <xs:element name="reset" substitutionGroup="AllFields"> |
| <xs:complexType/> |
| </xs:element> |
| <xs:element name="submit" substitutionGroup="AllFields"> |
| <xs:complexType> |
| <xs:attribute name="button-type" default="button"> |
| <xs:simpleType> |
| <xs:restriction base="xs:token"> |
| <xs:enumeration value="button" /> |
| <xs:enumeration value="text-link" /> |
| <xs:enumeration value="image" /> |
| </xs:restriction> |
| </xs:simpleType> |
| </xs:attribute> |
| <xs:attribute type="xs:string" name="image-location" /> |
| <xs:attribute type="xs:string" name="background-submit-refresh-target"> |
| <xs:annotation> |
| <xs:documentation>Deprecated. Use the on-event-update-area element |
| instead.</xs:documentation> |
| </xs:annotation> |
| </xs:attribute> |
| <xs:attribute name="request-confirmation" default="false"> |
| <xs:annotation> |
| <xs:documentation>If true then the user is presented with a dialog box, if confirmation-message is empty, use default</xs:documentation> |
| </xs:annotation> |
| <xs:simpleType> |
| <xs:restriction base="xs:token"> |
| <xs:enumeration value="true" /> |
| <xs:enumeration value="false" /> |
| </xs:restriction> |
| </xs:simpleType> |
| </xs:attribute> |
| <xs:attribute name="confirmation-message" type="xs:string"> |
| <xs:annotation> |
| <xs:documentation>The message displayed in confirmation box</xs:documentation> |
| </xs:annotation> |
| </xs:attribute> |
| </xs:complexType> |
| </xs:element> |
| <xs:element name="text" substitutionGroup="AllFields"> |
| <xs:complexType> |
| <xs:sequence> |
| <xs:element minOccurs="0" ref="sub-hyperlink" /> |
| </xs:sequence> |
| <xs:attribute type="xs:positiveInteger" name="size" default="25" /> |
| <xs:attribute type="xs:positiveInteger" name="maxlength" /> |
| <xs:attribute type="xs:string" name="default-value" /> |
| <xs:attribute name="disabled" default="false"> |
| <xs:simpleType> |
| <xs:restriction base="xs:token"> |
| <xs:enumeration value="true" /> |
| <xs:enumeration value="false" /> |
| </xs:restriction> |
| </xs:simpleType> |
| </xs:attribute> |
| <xs:attribute name="client-autocomplete-field" default="true"> |
| <xs:annotation> |
| <xs:documentation>Tells the browser whether or not to try and autocomplete with values previously entered. Default to true.</xs:documentation> |
| </xs:annotation> |
| <xs:simpleType> |
| <xs:restriction base="xs:token"> |
| <xs:enumeration value="true" /> |
| <xs:enumeration value="false" /> |
| </xs:restriction> |
| </xs:simpleType> |
| </xs:attribute> |
| <xs:attribute name="mask" type="xs:string"> |
| <xs:annotation> |
| <xs:documentation>Defines a customized input mask. Use 9 for numeric, a for alpha and * for alphanumeric character.</xs:documentation> |
| </xs:annotation> |
| </xs:attribute> |
| </xs:complexType> |
| </xs:element> |
| <xs:element name="textarea" substitutionGroup="AllFields"> |
| <xs:complexType> |
| <xs:attribute type="xs:positiveInteger" name="cols" default="60" /> |
| <xs:attribute type="xs:positiveInteger" name="rows" default="3" /> |
| <xs:attribute type="xs:string" name="default-value" /> |
| <xs:attribute name="read-only" default="false"> |
| <xs:annotation> |
| <xs:documentation>Makes this textarea read-only (no edits allowed)</xs:documentation> |
| </xs:annotation> |
| <xs:simpleType> |
| <xs:restriction base="xs:token"> |
| <xs:enumeration value="true" /> |
| <xs:enumeration value="false" /> |
| </xs:restriction> |
| </xs:simpleType> |
| </xs:attribute> |
| <xs:attribute name="visual-editor-enable" default="false"> |
| <xs:annotation> |
| <xs:documentation>This will enable the html editor on this text area from www.unverse.net (more info there), only one textarea can be used on one page</xs:documentation> |
| </xs:annotation> |
| <xs:simpleType> |
| <xs:restriction base="xs:token"> |
| <xs:enumeration value="true" /> |
| <xs:enumeration value="false" /> |
| </xs:restriction> |
| </xs:simpleType> |
| </xs:attribute> |
| <xs:attribute type="xs:string" name="visual-editor-buttons"> |
| <xs:annotation> |
| <xs:documentation>In here you can specify which buttons you want to see and in which order separated by blanks. Available buttons are:formatblock fontname fontsize newline bold italic underline left center right number bullet indent outdent undo redo color hilite rule link image |
| table clean html spellcheck |(separator) Default is that all buttons are shown</xs:documentation> |
| </xs:annotation> |
| </xs:attribute> |
| </xs:complexType> |
| </xs:element> |
| <xs:element name="text-find" substitutionGroup="AllFields"> |
| <xs:complexType> |
| <xs:sequence> |
| <xs:element minOccurs="0" ref="sub-hyperlink" /> |
| </xs:sequence> |
| <xs:attribute type="xs:positiveInteger" name="size" default="25" /> |
| <xs:attribute type="xs:positiveInteger" name="maxlength" /> |
| <xs:attribute type="xs:string" name="default-value" /> |
| <xs:attribute name="ignore-case" default="true"> |
| <xs:simpleType> |
| <xs:restriction base="xs:token"> |
| <xs:enumeration value="true" /> |
| <xs:enumeration value="false" /> |
| </xs:restriction> |
| </xs:simpleType> |
| </xs:attribute> |
| <xs:attribute name="default-option" default="contains"> |
| <xs:simpleType> |
| <xs:restriction base="xs:string"> |
| <xs:enumeration value="equals" /> |
| <xs:enumeration value="like" /><!-- this is actually "begins with" --> |
| <xs:enumeration value="contains" /> |
| <xs:enumeration value="empty" /> |
| <xs:enumeration value="notEqual" /> |
| <xs:enumeration value="lessThan" /> |
| <xs:enumeration value="lessThanEqualTo" /> |
| <xs:enumeration value="greaterThan" /> |
| <xs:enumeration value="greaterThanEqualTo" /> |
| </xs:restriction> |
| </xs:simpleType> |
| </xs:attribute> |
| <xs:attribute name="client-autocomplete-field" default="true"> |
| <xs:annotation> |
| <xs:documentation>Tells the browser whether or not to try and autocomplete with values previously entered. Default to true.</xs:documentation> |
| </xs:annotation> |
| <xs:simpleType> |
| <xs:restriction base="xs:token"> |
| <xs:enumeration value="true" /> |
| <xs:enumeration value="false" /> |
| </xs:restriction> |
| </xs:simpleType> |
| </xs:attribute> |
| <xs:attribute name="hide-options" default="false"> |
| <xs:simpleType> |
| <xs:restriction base="xs:token"> |
| <xs:enumeration value="true" /> |
| <xs:enumeration value="false" /> |
| <xs:enumeration value="ignore-case" /> |
| <xs:enumeration value="options" /> |
| </xs:restriction> |
| </xs:simpleType> |
| </xs:attribute> |
| </xs:complexType> |
| </xs:element> |
| |
| <!-- ================== Field Events ==================== --> |
| <xs:element name="on-field-event-update-area"> |
| <xs:annotation> |
| <xs:documentation>Area to be updated when a field event occurs.</xs:documentation> |
| </xs:annotation> |
| <xs:complexType> |
| <xs:attribute name="event-type" use="required"> |
| <xs:simpleType> |
| <xs:restriction base="xs:token"> |
| <xs:enumeration value="change" /> |
| <xs:enumeration value="click" /> |
| </xs:restriction> |
| </xs:simpleType> |
| </xs:attribute> |
| <xs:attribute type="xs:string" name="area-id" use="required" /> |
| <xs:attribute type="xs:string" name="area-target" use="required" /> |
| </xs:complexType> |
| </xs:element> |
| |
| <!-- ================== FIELD SUB-ELEMENTS ==================== --> |
| <xs:element name="auto-complete"> |
| <xs:complexType> |
| <xs:attribute name="auto-select" default="false"> |
| <xs:simpleType> |
| <xs:restriction base="xs:token"> |
| <xs:enumeration value="true" /> |
| <xs:enumeration value="false" /> |
| </xs:restriction> |
| </xs:simpleType> |
| </xs:attribute> |
| <xs:attribute name="frequency" type="xs:double" default="0.4" /> |
| <xs:attribute name="min-chars" type="xs:positiveInteger" default="1" /> |
| <xs:attribute name="choices" type="xs:positiveInteger" default="10" /> |
| <xs:attribute name="partial-search" default="true"> |
| <xs:simpleType> |
| <xs:restriction base="xs:token"> |
| <xs:enumeration value="true" /> |
| <xs:enumeration value="false" /> |
| </xs:restriction> |
| </xs:simpleType> |
| </xs:attribute> |
| <xs:attribute name="partial-chars" type="xs:positiveInteger" default="1" /> |
| <xs:attribute name="ignore-case" default="true"> |
| <xs:simpleType> |
| <xs:restriction base="xs:token"> |
| <xs:enumeration value="true" /> |
| <xs:enumeration value="false" /> |
| </xs:restriction> |
| </xs:simpleType> |
| </xs:attribute> |
| <xs:attribute name="full-search" default="true"> |
| <xs:simpleType> |
| <xs:restriction base="xs:token"> |
| <xs:enumeration value="true" /> |
| <xs:enumeration value="false" /> |
| </xs:restriction> |
| </xs:simpleType> |
| </xs:attribute> |
| </xs:complexType> |
| </xs:element> |
| <xs:element name="entity-constraint"> |
| <xs:complexType> |
| <xs:attribute type="xs:string" name="name" use="required" /> |
| <xs:attribute name="operator" default="equals"> |
| <xs:simpleType> |
| <xs:restriction base="xs:token"> |
| <xs:enumeration value="less" /> |
| <xs:enumeration value="greater" /> |
| <xs:enumeration value="less-equals" /> |
| <xs:enumeration value="greater-equals" /> |
| <xs:enumeration value="equals" /> |
| <xs:enumeration value="not-equals" /> |
| <xs:enumeration value="in" /> |
| <xs:enumeration value="not-in" /> |
| <xs:enumeration value="between" /> |
| <xs:enumeration value="like" /> |
| </xs:restriction> |
| </xs:simpleType> |
| </xs:attribute> |
| <xs:attribute type="xs:string" name="env-name" /> |
| <xs:attribute type="xs:string" name="value" /> |
| <xs:attribute name="ignore-if-null" default="false"> |
| <xs:simpleType> |
| <xs:restriction base="xs:token"> |
| <xs:enumeration value="true" /> |
| <xs:enumeration value="false" /> |
| </xs:restriction> |
| </xs:simpleType> |
| </xs:attribute> |
| <xs:attribute name="ignore-if-empty" default="false"> |
| <xs:simpleType> |
| <xs:restriction base="xs:token"> |
| <xs:enumeration value="true" /> |
| <xs:enumeration value="false" /> |
| </xs:restriction> |
| </xs:simpleType> |
| </xs:attribute> |
| </xs:complexType> |
| </xs:element> |
| <xs:element name="entity-options"> |
| <xs:annotation> |
| <xs:documentation>entity-options will look up options for the field in the given entity</xs:documentation> |
| </xs:annotation> |
| <xs:complexType> |
| <xs:sequence> |
| <xs:element minOccurs="0" maxOccurs="unbounded" ref="entity-constraint" /> |
| <xs:element minOccurs="0" maxOccurs="unbounded" ref="entity-order-by" /> |
| </xs:sequence> |
| <xs:attribute type="xs:string" name="entity-name" use="required" /> |
| <xs:attribute type="xs:string" name="key-field-name"> |
| <xs:annotation> |
| <xs:documentation>The name of the field in the looked up entity that will be used for the key value; if empty defaults to the entry-name of the field this is in.</xs:documentation> |
| </xs:annotation> |
| </xs:attribute> |
| <xs:attribute type="xs:string" name="description" use="required"> |
| <xs:annotation> |
| <xs:documentation>Will be presented to the user with field values substituted using the ${} syntax.</xs:documentation> |
| </xs:annotation> |
| </xs:attribute> |
| <xs:attribute name="cache" default="true"> |
| <xs:simpleType> |
| <xs:restriction base="xs:token"> |
| <xs:enumeration value="true" /> |
| <xs:enumeration value="false" /> |
| </xs:restriction> |
| </xs:simpleType> |
| </xs:attribute> |
| <xs:attribute name="filter-by-date" default="by-name"> |
| <xs:simpleType> |
| <xs:restriction base="xs:token"> |
| <xs:enumeration value="true" /> |
| <xs:enumeration value="false" /> |
| <xs:enumeration value="by-name" /> |
| </xs:restriction> |
| </xs:simpleType> |
| </xs:attribute> |
| </xs:complexType> |
| </xs:element> |
| <xs:element name="entity-order-by"> |
| <xs:complexType> |
| <xs:attribute type="xs:string" name="field-name" use="required" /> |
| </xs:complexType> |
| </xs:element> |
| <xs:element name="in-place-editor"> |
| <xs:annotation> |
| <xs:documentation>Enables in place editon for the display field.</xs:documentation> |
| </xs:annotation> |
| <xs:complexType> |
| <xs:sequence> |
| <xs:choice minOccurs="1" maxOccurs="1"> |
| <xs:element ref="simple-editor" /> |
| </xs:choice> |
| <xs:element ref="field-map" minOccurs="0" maxOccurs="unbounded" /> |
| </xs:sequence> |
| <xs:attribute name="url" type="xs:string" use="required" /> |
| <xs:attribute name="cancel-control"> |
| <xs:simpleType> |
| <xs:restriction base="xs:string"> |
| <xs:enumeration value="link" /> |
| <xs:enumeration value="button" /> |
| <xs:enumeration value="false" /> |
| </xs:restriction> |
| </xs:simpleType> |
| </xs:attribute> |
| <xs:attribute name="cancel-text" type="xs:string" /> |
| <xs:attribute name="click-to-edit-text" type="xs:string" /> |
| <xs:attribute name="field-post-creation"> |
| <xs:simpleType> |
| <xs:restriction base="xs:string"> |
| <xs:enumeration value="activate" /> |
| <xs:enumeration value="focus" /> |
| <xs:enumeration value="false" /> |
| </xs:restriction> |
| </xs:simpleType> |
| </xs:attribute> |
| <xs:attribute name="form-class-name" type="xs:string" /> |
| <xs:attribute name="form-id" type="xs:string" /> |
| <xs:attribute name="highlight-color" type="xs:string" /> |
| <xs:attribute name="highlight-end-color" type="xs:string" /> |
| <xs:attribute name="hover-class-name" type="xs:string" /> |
| <xs:attribute name="html-response" default="false"> |
| <xs:simpleType> |
| <xs:restriction base="xs:token"> |
| <xs:enumeration value="false" /> |
| <xs:enumeration value="true" /> |
| </xs:restriction> |
| </xs:simpleType> |
| </xs:attribute> |
| <xs:attribute name="loading-class-name" type="xs:string" /> |
| <xs:attribute name="loading-text" type="xs:string" /> |
| <xs:attribute name="ok-control"> |
| <xs:simpleType> |
| <xs:restriction base="xs:string"> |
| <xs:enumeration value="link" /> |
| <xs:enumeration value="button" /> |
| <xs:enumeration value="false" /> |
| </xs:restriction> |
| </xs:simpleType> |
| </xs:attribute> |
| <xs:attribute name="ok-text" type="xs:string" /> |
| <xs:attribute name="param-name" type="xs:string" /> |
| <xs:attribute name="saving-class-name" type="xs:string" /> |
| <xs:attribute name="saving-text" type="xs:string" /> |
| <xs:attribute name="submit-on-blur"> |
| <xs:simpleType> |
| <xs:restriction base="xs:token"> |
| <xs:enumeration value="false" /> |
| <xs:enumeration value="true" /> |
| </xs:restriction> |
| </xs:simpleType> |
| </xs:attribute> |
| <xs:attribute name="text-after-controls" type="xs:string" /> |
| <xs:attribute name="text-before-controls" type="xs:string" /> |
| <xs:attribute name="text-between-controls" type="xs:string" /> |
| <xs:attribute name="update-after-request-call" default="true"> |
| <xs:simpleType> |
| <xs:restriction base="xs:token"> |
| <xs:enumeration value="false" /> |
| <xs:enumeration value="true" /> |
| </xs:restriction> |
| </xs:simpleType> |
| </xs:attribute> |
| </xs:complexType> |
| </xs:element> |
| <xs:element name="list-options"> |
| <xs:annotation> |
| <xs:documentation>list-options will create options based on data in a list</xs:documentation> |
| </xs:annotation> |
| <xs:complexType> |
| <xs:attribute type="xs:string" name="list-name" use="required"> |
| <xs:annotation> |
| <xs:documentation>The name of the list to iterate through to get values.</xs:documentation> |
| </xs:annotation> |
| </xs:attribute> |
| <xs:attribute type="xs:string" name="list-entry-name"> |
| <xs:annotation> |
| <xs:documentation> |
| If specified the list entry will be placed in the local |
| context, otherwise each list entry must be a Map that will be expanded |
| into the local context. |
| </xs:documentation> |
| </xs:annotation> |
| </xs:attribute> |
| <xs:attribute type="xs:string" name="key-name" use="required"> |
| <xs:annotation> |
| <xs:documentation> |
| The value of the key-name will be the value passed |
| to the server; this should be the full name of the location of the |
| key value in the context, given the list-entry-name or expanded |
| list-entry Map as the options you would most likely use. |
| </xs:documentation> |
| </xs:annotation> |
| </xs:attribute> |
| <xs:attribute type="xs:string" name="description"> |
| <xs:annotation> |
| <xs:documentation>Will be presented to the user with field values substituted using the ${} syntax.</xs:documentation> |
| </xs:annotation> |
| </xs:attribute> |
| </xs:complexType> |
| </xs:element> |
| <xs:element name="option"> |
| <xs:complexType> |
| <xs:attribute type="xs:string" name="key" use="required" /> |
| <xs:attribute type="xs:string" name="description"> |
| <xs:annotation> |
| <xs:documentation>What the user will see in the widget; defaults to the value of the key attribute.</xs:documentation> |
| </xs:annotation> |
| </xs:attribute> |
| </xs:complexType> |
| </xs:element> |
| <xs:element name="simple-editor"> |
| <xs:complexType> |
| <xs:attribute name="rows" type="xs:positiveInteger" default="1" /> |
| <xs:attribute name="cols" type="xs:positiveInteger" default="40" /> |
| </xs:complexType> |
| </xs:element> |
| <xs:complexType name="sub-hyperlink"> |
| <xs:complexContent> |
| <xs:extension base="link"> |
| <xs:attribute type="xs:string" name="description"> |
| <xs:annotation> |
| <xs:documentation>Specifies the string to display, can use the ${} syntax to insert context values; if empty the value of the field will be printed for a default.</xs:documentation> |
| </xs:annotation> |
| </xs:attribute> |
| <xs:attribute type="xs:string" name="use-when" /> |
| <xs:attribute name="target-type" default="intra-app"> |
| <xs:annotation> |
| <xs:documentation>Deprecated - use the url-mode attribute.</xs:documentation> |
| </xs:annotation> |
| <xs:simpleType> |
| <xs:restriction base="xs:token"> |
| <xs:enumeration value="intra-app" /> |
| <xs:enumeration value="inter-app" /> |
| <xs:enumeration value="content" /> |
| <xs:enumeration value="plain" /> |
| </xs:restriction> |
| </xs:simpleType> |
| </xs:attribute> |
| <xs:attribute name="link-style" type="xs:string"> |
| <xs:annotation> |
| <xs:documentation>Deprecated - use the style attribute.</xs:documentation> |
| </xs:annotation> |
| </xs:attribute> |
| </xs:extension> |
| </xs:complexContent> |
| </xs:complexType> |
| <xs:element name="sub-hyperlink" type="sub-hyperlink"/> |
| |
| <!-- ================== ACTIONS ==================== --> |
| <xs:element name="actions"> |
| <xs:complexType> |
| <xs:sequence> |
| <xs:element minOccurs="0" maxOccurs="unbounded" ref="AllActions"/> |
| </xs:sequence> |
| </xs:complexType> |
| </xs:element> |
| <xs:element name="row-actions"> |
| <xs:complexType> |
| <xs:sequence> |
| <xs:element minOccurs="0" maxOccurs="unbounded" ref="AllActions"/> |
| </xs:sequence> |
| </xs:complexType> |
| </xs:element> |
| <xs:element name="service" substitutionGroup="AllActions"> |
| <xs:complexType> |
| <xs:sequence> |
| <xs:element minOccurs="0" maxOccurs="unbounded" ref="field-map" /> |
| </xs:sequence> |
| <xs:attribute type="xs:string" name="service-name" use="required" /> |
| <xs:attribute type="xs:string" name="result-map" /> |
| <xs:attribute type="xs:string" name="auto-field-map" default="true"> |
| <xs:annotation> |
| <xs:documentation>This can be "true", "false" or the name of a Map in the context to use as the source Map for the service context.</xs:documentation> |
| </xs:annotation> |
| </xs:attribute> |
| <!-- this is deprecated and should not be used; use result-map-list-name instead: <xs:attribute type="xs:string" name="result-map-list-iterator-name"/> --> |
| <xs:attribute type="xs:string" name="result-map-list" /> |
| <xs:attribute name="ignore-error" default="false"> |
| <xs:simpleType> |
| <xs:restriction base="xs:token"> |
| <xs:enumeration value="true" /> |
| <xs:enumeration value="false" /> |
| </xs:restriction> |
| </xs:simpleType> |
| </xs:attribute> |
| </xs:complexType> |
| </xs:element> |
| <xs:element name="call-parent-actions" substitutionGroup="AllActions" /> |
| <xs:element name="entity-and" substitutionGroup="AllActions"> |
| <xs:complexType> |
| <xs:sequence> |
| <xs:element maxOccurs="unbounded" ref="field-map" /> |
| <xs:element minOccurs="0" maxOccurs="unbounded" ref="select-field" /> |
| <xs:element minOccurs="0" maxOccurs="unbounded" ref="order-by" /> |
| <xs:choice minOccurs="0"> |
| <xs:element ref="limit-range" /> |
| <xs:element ref="limit-view" /> |
| <xs:element ref="use-iterator" /> |
| </xs:choice> |
| </xs:sequence> |
| <xs:attribute type="xs:string" name="entity-name" use="required" /> |
| <xs:attribute name="use-cache" default="false"> |
| <xs:simpleType> |
| <xs:restriction base="xs:token"> |
| <xs:enumeration value="true" /> |
| <xs:enumeration value="false" /> |
| </xs:restriction> |
| </xs:simpleType> |
| </xs:attribute> |
| <xs:attribute name="filter-by-date" default="false"> |
| <xs:simpleType> |
| <xs:restriction base="xs:token"> |
| <xs:enumeration value="true" /> |
| <xs:enumeration value="false" /> |
| <xs:enumeration value="by-name" /> |
| </xs:restriction> |
| </xs:simpleType> |
| </xs:attribute> |
| <xs:attribute type="xs:string" name="list" /> |
| <xs:attribute name="result-set-type" default="scroll"> |
| <xs:simpleType> |
| <xs:restriction base="xs:token"> |
| <xs:enumeration value="forward" /> |
| <xs:enumeration value="scroll" /> |
| </xs:restriction> |
| </xs:simpleType> |
| </xs:attribute> |
| </xs:complexType> |
| </xs:element> |
| <xs:element name="entity-condition" substitutionGroup="AllActions"> |
| <xs:complexType> |
| <xs:sequence> |
| <xs:choice minOccurs="0"> |
| <xs:element ref="condition-expr" /> |
| <xs:element ref="condition-list" /> |
| <xs:element ref="condition-object" /> |
| </xs:choice> |
| <xs:element minOccurs="0" ref="having-condition-list" /> |
| <xs:element minOccurs="0" maxOccurs="unbounded" ref="select-field" /> |
| <xs:element minOccurs="0" maxOccurs="unbounded" ref="order-by" /> |
| <xs:choice minOccurs="0"> |
| <xs:element ref="limit-range" /> |
| <xs:element ref="limit-view" /> |
| <xs:element ref="use-iterator" /> |
| </xs:choice> |
| </xs:sequence> |
| <xs:attribute type="xs:string" name="entity-name" use="required" /> |
| <xs:attribute name="use-cache" default="false"> |
| <xs:simpleType> |
| <xs:restriction base="xs:token"> |
| <xs:enumeration value="true" /> |
| <xs:enumeration value="false" /> |
| </xs:restriction> |
| </xs:simpleType> |
| </xs:attribute> |
| <xs:attribute name="filter-by-date" default="false"> |
| <xs:simpleType> |
| <xs:restriction base="xs:token"> |
| <xs:enumeration value="true" /> |
| <xs:enumeration value="false" /> |
| <xs:enumeration value="by-name" /> |
| </xs:restriction> |
| </xs:simpleType> |
| </xs:attribute> |
| <xs:attribute name="distinct" default="false"> |
| <xs:simpleType> |
| <xs:restriction base="xs:token"> |
| <xs:enumeration value="true" /> |
| <xs:enumeration value="false" /> |
| </xs:restriction> |
| </xs:simpleType> |
| </xs:attribute> |
| <xs:attribute type="xs:string" name="delegator-name" /> |
| <xs:attribute type="xs:string" name="list" /> |
| <xs:attribute name="result-set-type" default="scroll"> |
| <xs:simpleType> |
| <xs:restriction base="xs:token"> |
| <xs:enumeration value="forward" /> |
| <xs:enumeration value="scroll" /> |
| </xs:restriction> |
| </xs:simpleType> |
| </xs:attribute> |
| </xs:complexType> |
| </xs:element> |
| </xs:schema> |