Modified: ofbiz/site/dtds/widget-form.xsd
URL: http://svn.apache.org/viewvc/ofbiz/site/dtds/widget-form.xsd?rev=1597281&r1=1597280&r2=1597281&view=diff ============================================================================== --- ofbiz/site/dtds/widget-form.xsd (original) +++ ofbiz/site/dtds/widget-form.xsd Sat May 24 13:14:20 2014 @@ -30,360 +30,417 @@ under the License. <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:attributeGroup ref="attlist.form"/> - </xs:complexType> - </xs:element> - <xs:attributeGroup name="attlist.form"> - <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="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:attributeGroup> + <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:attributeGroup ref="attlist.alt-target"/> + <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:attributeGroup name="attlist.alt-target"> - <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:attributeGroup> <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:annotation> + <xs:documentation>Active a style on a line if the use-when condition is validate</xs:documentation> + </xs:annotation> <xs:complexType> - <xs:attributeGroup ref="attlist.alt-row-style"/> + <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:attributeGroup name="attlist.alt-row-style"> - <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:attributeGroup> <xs:element name="auto-fields-service"> <xs:complexType> - <xs:attributeGroup ref="attlist.auto-fields-service"/> + <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:attributeGroup name="attlist.auto-fields-service"> - <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:attributeGroup> <xs:element name="auto-fields-entity"> <xs:complexType> - <xs:attributeGroup ref="attlist.auto-fields-entity"/> + <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:attributeGroup name="attlist.auto-fields-entity"> - <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:attributeGroup> <xs:element name="sort-order"> <xs:complexType> <xs:choice minOccurs="0" maxOccurs="unbounded"> - <xs:element ref="sort-field"/> - <xs:element ref="field-group"/> - <xs:element ref="banner"/> + <xs:element ref="sort-field" /> + <xs:element ref="last-field" /> + <xs:element ref="field-group" /> + <xs:element ref="banner" /> </xs:choice> - <xs:attributeGroup ref="attlist.sort-order"/> + <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:attributeGroup name="attlist.sort-order"> - <xs:attribute name="type" default="explicit"> - <xs:simpleType> - <xs:restriction base="xs:token"> - <xs:enumeration value="explicit"/> - </xs:restriction> - </xs:simpleType> - </xs:attribute> - </xs:attributeGroup> <xs:element name="field-group"> <xs:complexType> <xs:sequence> - <xs:element minOccurs="0" maxOccurs="unbounded" ref="sort-field"/> + <xs:element minOccurs="0" maxOccurs="unbounded" ref="sort-field" /> </xs:sequence> - <xs:attributeGroup ref="attlist.field-group"/> + <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:attributeGroup name="attlist.field-group"> - <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:attributeGroup> <xs:element name="banner"> <xs:complexType> - <xs:attributeGroup ref="attlist.banner"/> + <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:attributeGroup name="attlist.banner"> - <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:attributeGroup> <xs:element name="sort-field"> <xs:complexType> - <xs:attributeGroup ref="attlist.sort-field"/> - <xs:attribute name="position" type="xs:positiveInteger"/> + <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> - <xs:attributeGroup name="attlist.sort-field"> - <xs:attribute name="name" type="xs:string" use="required"/> - </xs:attributeGroup> <!-- ================== Form Events ==================== --> - <xs:attributeGroup name="attlist.on-form-event-update-area"> - <xs:attribute name="event-type" use="required"> - <xs:simpleType> - <xs:restriction base="xs:token"> - <xs:enumeration value="paginate"/> - <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:attributeGroup> <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" maxOccurs="unbounded" ref="parameter"/> - </xs:sequence> - <xs:attributeGroup ref="attlist.on-form-event-update-area"/> + <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> @@ -392,222 +449,265 @@ under the License. <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:element minOccurs="0" ref="AllFields" /> + <xs:element minOccurs="0" maxOccurs="unbounded" ref="on-field-event-update-area" /> </xs:sequence> - <xs:attributeGroup ref="attlist.field"/> - </xs:complexType> - </xs:element> - <xs:attributeGroup name="attlist.field"> - <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: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: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-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: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-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: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:attributeGroup> + </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:element ref="entity-options" /> + <xs:element ref="list-options" /> + <xs:element ref="option" /> </xs:choice> - <xs:attributeGroup ref="attlist.check"/> + <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:attributeGroup name="attlist.check"> - <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:attributeGroup> <xs:element name="container" substitutionGroup="AllFields"> - <xs:complexType> - </xs:complexType> + <xs:complexType /> </xs:element> <xs:element name="date-find" substitutionGroup="AllFields"> <xs:complexType> - <xs:attributeGroup ref="attlist.date-find"/> + <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:attributeGroup name="attlist.date-find"> - <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:attributeGroup> <xs:element name="date-time" substitutionGroup="AllFields"> <xs:annotation> <xs:documentation> @@ -616,639 +716,772 @@ under the License. </xs:documentation> </xs:annotation> <xs:complexType> - <xs:attributeGroup ref="attlist.date-time"/> + <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:attributeGroup name="attlist.date-time"> - <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:attributeGroup> <xs:element name="display" substitutionGroup="AllFields"> <xs:complexType> <xs:sequence> - <xs:element ref="in-place-editor" minOccurs="0" maxOccurs="1"/> + <xs:element ref="in-place-editor" minOccurs="0" maxOccurs="1" /> </xs:sequence> - <xs:attributeGroup ref="attlist.display"/> + <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:attributeGroup name="attlist.display"> - <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:attributeGroup> <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: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:element minOccurs="0" ref="sub-hyperlink" /> </xs:sequence> - <xs:attributeGroup ref="attlist.display-entity"/> + <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:attributeGroup name="attlist.display-entity"> - <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:attributeGroup> <xs:element name="drop-down" substitutionGroup="AllFields"> <xs:complexType> <xs:sequence> - <xs:element ref="auto-complete" minOccurs="0" maxOccurs="1"/> + <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:element ref="entity-options" /> + <xs:element ref="list-options" /> + <xs:element ref="option" /> </xs:choice> - <xs:element minOccurs="0" ref="sub-hyperlink"/> + <xs:element minOccurs="0" ref="sub-hyperlink" /> </xs:sequence> - <xs:attributeGroup ref="attlist.drop-down"/> + <xs:attribute name="allow-empty" default="false"> + <xs:simpleType> + <xs:restriction base="xs:token"> [... 2254 lines stripped ...] |
Free forum by Nabble | Edit this page |