Propchange: ofbiz/site/dtds/simple-methods.xsd
------------------------------------------------------------------------------ svn:eol-style = native Propchange: ofbiz/site/dtds/simple-methods.xsd ------------------------------------------------------------------------------ svn:keywords = "Date Rev Author URL Id" Propchange: ofbiz/site/dtds/simple-methods.xsd ------------------------------------------------------------------------------ svn:mime-type = text/xsd Added: ofbiz/site/dtds/site-conf.xsd URL: http://svn.apache.org/viewvc/ofbiz/site/dtds/site-conf.xsd?view=auto&rev=491649 ============================================================================== --- ofbiz/site/dtds/site-conf.xsd (added) +++ ofbiz/site/dtds/site-conf.xsd Mon Jan 1 13:56:13 2007 @@ -0,0 +1,206 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!-- +Copyright 2001-2006 The Apache Software Foundation + +Licensed 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:element name="site-conf"> + <xs:complexType> + <xs:sequence> + <xs:element minOccurs="0" ref="description"/> + <xs:element minOccurs="0" ref="owner"/> + <xs:element ref="errorpage"/> + <xs:element maxOccurs="unbounded" ref="handler"/> + <xs:element minOccurs="0" ref="firstvisit"/> + <xs:element minOccurs="0" ref="preprocessor"/> + <xs:element minOccurs="0" ref="postprocessor"/> + <xs:element minOccurs="0" ref="after-login"/> + <xs:element minOccurs="0" ref="before-logout"/> + <xs:element maxOccurs="unbounded" ref="request-map"/> + <xs:element maxOccurs="unbounded" ref="view-map"/> + </xs:sequence> + </xs:complexType> + </xs:element> + <xs:element name="description" type="xs:string"/> + <xs:element name="owner" type="xs:string"/> + <xs:element name="errorpage" type="xs:string"/> + <xs:element name="handler"> + <xs:complexType> + <xs:attributeGroup ref="attlist.handler"/> + </xs:complexType> + </xs:element> + <xs:attributeGroup name="attlist.handler"> + <xs:attribute type="xs:string" name="name" use="required"/> + <xs:attribute name="type" default="request"> + <xs:simpleType> + <xs:restriction base="xs:token"> + <xs:enumeration value="view"/> + <xs:enumeration value="request"/> + </xs:restriction> + </xs:simpleType> + </xs:attribute> + <xs:attribute type="xs:string" name="class" use="required"/> + </xs:attributeGroup> + <xs:element name="firstvisit"> + <xs:complexType> + <xs:sequence> + <xs:element minOccurs="0" maxOccurs="unbounded" ref="event"/> + </xs:sequence> + </xs:complexType> + </xs:element> + <xs:element name="preprocessor"> + <xs:complexType> + <xs:sequence> + <xs:element minOccurs="0" maxOccurs="unbounded" ref="event"/> + </xs:sequence> + </xs:complexType> + </xs:element> + <xs:element name="postprocessor"> + <xs:complexType> + <xs:sequence> + <xs:element minOccurs="0" maxOccurs="unbounded" ref="event"/> + </xs:sequence> + </xs:complexType> + </xs:element> + <xs:element name="after-login"> + <xs:complexType> + <xs:sequence> + <xs:element minOccurs="0" maxOccurs="unbounded" ref="event"/> + </xs:sequence> + </xs:complexType> + </xs:element> + <xs:element name="before-logout"> + <xs:complexType> + <xs:sequence> + <xs:element minOccurs="0" maxOccurs="unbounded" ref="event"/> + </xs:sequence> + </xs:complexType> + </xs:element> + <xs:element name="request-map"> + <xs:complexType> + <xs:sequence> + <xs:element minOccurs="0" ref="description"/> + <xs:element minOccurs="0" ref="security"/> + <xs:element minOccurs="0" ref="event"/> + <xs:element maxOccurs="unbounded" ref="response"/> + </xs:sequence> + <xs:attributeGroup ref="attlist.request-map"/> + </xs:complexType> + </xs:element> + <xs:attributeGroup name="attlist.request-map"> + <xs:attribute type="xs:string" name="uri" use="required"/> + <xs:attribute name="edit" default="true"> + <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="security"> + <xs:complexType> + <xs:attributeGroup ref="attlist.security"/> + </xs:complexType> + </xs:element> + <xs:attributeGroup name="attlist.security"> + <xs:attribute name="https" 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="auth" 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="external-view" 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="direct-request" default="true"> + <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="event"> + <xs:complexType> + <xs:attributeGroup ref="attlist.event"/> + </xs:complexType> + </xs:element> + <xs:attributeGroup name="attlist.event"> + <xs:attribute type="xs:string" name="type" use="required"/> + <xs:attribute type="xs:string" name="path"/> + <xs:attribute type="xs:string" name="invoke"/> + <xs:attribute name="global-transaction" default="true"> + <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="response"> + <xs:complexType> + <xs:attributeGroup ref="attlist.response"/> + </xs:complexType> + </xs:element> + <xs:attributeGroup name="attlist.response"> + <xs:attribute type="xs:string" name="name" use="required"/> + <xs:attribute name="type" use="required"> + <xs:simpleType> + <xs:restriction base="xs:token"> + <xs:enumeration value="none"/> + <xs:enumeration value="view"/> + <xs:enumeration value="request"/> + <xs:enumeration value="request-redirect"/> + <xs:enumeration value="request-redirect-noparam"/> + <xs:enumeration value="url"/> + </xs:restriction> + </xs:simpleType> + </xs:attribute> + <xs:attribute type="xs:string" name="value"/> + </xs:attributeGroup> + <xs:element name="view-map"> + <xs:complexType> + <xs:sequence> + <xs:element minOccurs="0" ref="description"/> + </xs:sequence> + <xs:attributeGroup ref="attlist.view-map"/> + </xs:complexType> + </xs:element> + <xs:attributeGroup name="attlist.view-map"> + <xs:attribute type="xs:string" name="name" use="required"/> + <xs:attribute type="xs:string" name="page"/> + <xs:attribute type="xs:string" name="type" default="default"/> + <xs:attribute type="xs:string" name="info"/> + <xs:attribute type="xs:string" name="content-type"/> + <xs:attribute type="xs:string" name="encoding"/> + </xs:attributeGroup> +</xs:schema> Propchange: ofbiz/site/dtds/site-conf.xsd ------------------------------------------------------------------------------ svn:eol-style = native Propchange: ofbiz/site/dtds/site-conf.xsd ------------------------------------------------------------------------------ svn:keywords = "Date Rev Author URL Id" Propchange: ofbiz/site/dtds/site-conf.xsd ------------------------------------------------------------------------------ svn:mime-type = text/xsd Added: ofbiz/site/dtds/test-suite.xsd URL: http://svn.apache.org/viewvc/ofbiz/site/dtds/test-suite.xsd?view=auto&rev=491649 ============================================================================== --- ofbiz/site/dtds/test-suite.xsd (added) +++ ofbiz/site/dtds/test-suite.xsd Mon Jan 1 13:56:13 2007 @@ -0,0 +1,88 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!-- + +Copyright 2006-2006 The Apache Software Foundation + +Licensed 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"> +<!-- + ================================================== + ========== The Simple Methods Section ========== + ================================================== + (see further down for the Simple Map Processor Section) +--> + + <!-- Reusable artifacts (abstract elements, groups, attributeGroups --> + <xs:element name="TestCaseTypes" abstract="true"/> + <xs:group name="AllTestCaseTypes"> + <xs:choice> + <xs:element ref="TestCaseTypes"/> + </xs:choice> + </xs:group> + + <!-- ELEMENTS start here --> + <xs:element name="test-suite"> + <xs:complexType> + <xs:sequence> + <xs:element minOccurs="1" maxOccurs="unbounded" ref="test-case"/> + </xs:sequence> + <xs:attributeGroup ref="attlist.test-suite"/> + </xs:complexType> + </xs:element> + <xs:attributeGroup name="attlist.test-suite"> + <xs:attribute type="xs:string" name="suite-name" use="required"/> + <xs:attribute type="xs:string" name="delegator-name" default="test"/> + <xs:attribute type="xs:string" name="dispatcher-name" default="test-dispatcher"/> + </xs:attributeGroup> + <xs:element name="test-case"> + <xs:annotation><xs:documentation></xs:documentation></xs:annotation> + <xs:complexType> + <xs:group minOccurs="1" maxOccurs="1" ref="AllTestCaseTypes"/> + <xs:attributeGroup ref="attlist.test-case"/> + </xs:complexType> + </xs:element> + <xs:attributeGroup name="attlist.test-case"> + <xs:attribute type="xs:string" name="case-name" use="required"/> + </xs:attributeGroup> + + <xs:element name="junit-test-suite" substitutionGroup="TestCaseTypes"> + <xs:annotation><xs:documentation>Used for JUnit test suites written as a Java class.</xs:documentation></xs:annotation> + <xs:complexType> + <xs:attributeGroup ref="attlist.junit-test-suite"/> + </xs:complexType> + </xs:element> + <xs:attributeGroup name="attlist.junit-test-suite"> + <xs:attribute type="xs:string" name="class-name" use="required"> + <xs:annotation><xs:documentation>Should extend the junit.framework.TestCase class.</xs:documentation></xs:annotation> + </xs:attribute> + </xs:attributeGroup> + + <xs:element name="service-test" substitutionGroup="TestCaseTypes"> + <xs:complexType> + <xs:attributeGroup ref="attlist.service-test"/> + </xs:complexType> + </xs:element> + <xs:attributeGroup name="attlist.service-test"> + <xs:attribute type="xs:string" name="service-name" use="required"/> + </xs:attributeGroup> + + <xs:element name="jython-test" substitutionGroup="TestCaseTypes"> + <xs:complexType> + <xs:attributeGroup ref="attlist.jython-test"/> + </xs:complexType> + </xs:element> + <xs:attributeGroup name="attlist.jython-test"> + <xs:attribute type="xs:string" name="script-location" use="required"/> + </xs:attributeGroup> +</xs:schema> Propchange: ofbiz/site/dtds/test-suite.xsd ------------------------------------------------------------------------------ svn:eol-style = native Propchange: ofbiz/site/dtds/test-suite.xsd ------------------------------------------------------------------------------ svn:keywords = "Date Rev Author URL Id" Propchange: ofbiz/site/dtds/test-suite.xsd ------------------------------------------------------------------------------ svn:mime-type = text/xsd Added: ofbiz/site/dtds/widget-form.xsd URL: http://svn.apache.org/viewvc/ofbiz/site/dtds/widget-form.xsd?view=auto&rev=491649 ============================================================================== --- ofbiz/site/dtds/widget-form.xsd (added) +++ ofbiz/site/dtds/widget-form.xsd Mon Jan 1 13:56:13 2007 @@ -0,0 +1,1341 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!-- +Copyright 2001-2006 The Apache Software Foundation + +Licensed 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"> + + <!-- ================== FORMS ==================== --> + <xs:element name="forms"> + <xs:complexType> + <xs:sequence> + <xs:element maxOccurs="unbounded" ref="form"/> + </xs:sequence> + </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-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" ref="sort-order"/> + </xs:sequence> + <xs:attributeGroup ref="attlist.form"/> + </xs:complexType> + </xs:element> + <xs:attributeGroup name="attlist.form"> + <xs:attribute type="xs:string" name="name" use="required"/> + <xs:attribute name="type" use="required"> + <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 type="xs:string" name="target"/> + <xs:attribute type="xs:string" name="target-window"/> + <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 type="xs:string" name="title"/> + <xs:attribute type="xs:string" name="tooltip"/> + <xs:attribute type="xs:string" name="list-name"> + <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 type="xs:string" name="list-entry-name"> + <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 name="paginate" 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: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-previous-label"> + <xs:annotation><xs:documentation>Text to display for the [Previous] button in a form with pagination. Defaults to "Previous". 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 "Next". Accepts ${} notation.</xs:documentation></xs:annotation> + </xs:attribute> + <xs:attribute type="xs:string" name="paginate-previous-style"> + <xs:annotation><xs:documentation>CSS style to use for the [Previous] button in a form with pagination. Defaults to "buttontext".</xs:documentation></xs:annotation> + </xs:attribute> + <xs:attribute type="xs:string" name="paginate-next-style"> + <xs:annotation><xs:documentation>CSS style to use for the [Next] button in a form with pagination. Defaults to "buttontext".</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 type="xs:string" name="view-size"/> + <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> + <!-- 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 name="alt-target"> + <xs:complexType> + <xs:attributeGroup ref="attlist.alt-target"/> + </xs:complexType> + </xs:element> + <xs:attributeGroup name="attlist.alt-target"> + <xs:attribute type="xs:string" name="use-when" use="required"/> + <xs:attribute type="xs:string" name="target"/> + </xs:attributeGroup> + <xs:element name="auto-fields-service"> + <xs:complexType> + <xs:attributeGroup ref="attlist.auto-fields-service"/> + </xs:complexType> + </xs:element> + <xs:attributeGroup name="attlist.auto-fields-service"> + <xs:attribute type="xs:string" name="service-name" use="required"/> + <xs:attribute type="xs:string" name="map-name"/> + <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:attributeGroup> + <xs:element name="auto-fields-entity"> + <xs:complexType> + <xs:attributeGroup ref="attlist.auto-fields-entity"/> + </xs:complexType> + </xs:element> + <xs:attributeGroup name="attlist.auto-fields-entity"> + <xs:attribute type="xs:string" name="entity-name" use="required"/> + <xs:attribute type="xs:string" name="map-name"/> + <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: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:choice> + <xs:attributeGroup ref="attlist.sort-order"/> + </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:sequence> + <xs:attributeGroup ref="attlist.field-group"/> + </xs:complexType> + </xs:element> + <xs:attributeGroup name="attlist.field-group"> + <xs:attribute type="xs:string" name="id"/> + <xs:attribute type="xs:string" name="style"/> + </xs:attributeGroup> + <xs:element name="banner"> + <xs:complexType> + <xs:attributeGroup ref="attlist.banner"/> + </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:complexType> + </xs:element> + <xs:attributeGroup name="attlist.sort-field"> + <xs:attribute type="xs:string" name="name" use="required"/> + </xs:attributeGroup> + + <!-- ================== FIELDS ==================== --> + <xs:element name="AllFields" abstract="true"/> + <xs:element name="field"> + <xs:complexType> + <xs:sequence> + <xs:element minOccurs="0" ref="AllFields"/> + </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 type="xs:string" name="use-when"> + <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; if this is used the field will only be put on the field list, and not in the field map meaning that values for this field cannot be overridden.</xs:documentation></xs:annotation> + </xs:attribute> + <xs:attribute type="xs:string" name="event"> + <xs:annotation><xs:documentation>Used to specify javascript events that should be attached to fields.</xs:documentation></xs:annotation> + </xs:attribute> + <xs:attribute type="xs:string" name="action"> + <xs:annotation><xs:documentation>Used to specify javascript actions that should be run based on events.</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" 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="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:attributeGroup> + <!-- ================== FIELD TYPES ==================== --> + <xs:element name="check" substitutionGroup="AllFields"> + <xs:complexType/> + </xs:element> + <xs:element name="date-find" substitutionGroup="AllFields"> + <xs:complexType> + <xs:attributeGroup ref="attlist.date-find"/> + </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:attributeGroup> + <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:attributeGroup ref="attlist.date-time"/> + </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:attributeGroup> + <xs:element name="display" substitutionGroup="AllFields"> + <xs:complexType> + <xs:attributeGroup ref="attlist.display"/> + </xs:complexType> + </xs:element> + <xs:attributeGroup name="attlist.display"> + <xs:attribute name="also-hidden" 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: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="type" default="text"> + <xs:simpleType> + <xs:restriction base="xs:token"> + <xs:enumeration value="text"/> + <xs:enumeration value="currency"/> + </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: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:complexType> + <xs:sequence> + <xs:element minOccurs="0" ref="sub-hyperlink"/> + </xs:sequence> + <xs:attributeGroup ref="attlist.display-entity"/> + </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 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: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: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:attributeGroup ref="attlist.drop-down"/> + </xs:complexType> + </xs:element> + <xs:attributeGroup name="attlist.drop-down"> + <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="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: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:attributeGroup> + <xs:element name="file" substitutionGroup="AllFields"> + <xs:complexType> + <xs:sequence> + <xs:element minOccurs="0" ref="sub-hyperlink"/> + </xs:sequence> + <xs:attributeGroup ref="attlist.file"/> + </xs:complexType> + </xs:element> + <xs:attributeGroup name="attlist.file"> + <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:attributeGroup> + <xs:element name="hidden" substitutionGroup="AllFields"> + <xs:complexType> + <xs:attributeGroup ref="attlist.hidden"/> + </xs:complexType> + </xs:element> + <xs:attributeGroup name="attlist.hidden"> + <xs:attribute type="xs:string" name="value"/> + </xs:attributeGroup> + <xs:element name="hyperlink" substitutionGroup="AllFields"> + <xs:complexType> + <xs:attributeGroup ref="attlist.hyperlink"/> + </xs:complexType> + </xs:element> + <xs:attributeGroup name="attlist.hyperlink"> + <xs:attribute name="also-hidden" 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="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 type="xs:string" name="target" use="required"> + <xs:annotation><xs:documentation>The target location of the hyperlink; can use the ${} syntax to substitute values from the context.</xs:documentation></xs:annotation> + </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:string" name="target-window"/> + </xs:attributeGroup> + <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:attributeGroup ref="attlist.image"/> + </xs:complexType> + </xs:element> + <xs:attributeGroup name="attlist.image"> + <xs:attribute type="xs:nonNegativeInteger" name="border" default="0"/> + <xs:attribute type="xs:positiveInteger" name="width"/> + <xs:attribute type="xs:positiveInteger" name="height"/> + <xs:attribute type="xs:string" name="value"/> + <xs:attribute type="xs:string" name="default-value"/> + </xs:attributeGroup> + <xs:element name="lookup" substitutionGroup="AllFields"> + <xs:complexType> + <xs:sequence> + <xs:element minOccurs="0" ref="sub-hyperlink"/> + </xs:sequence> + <xs:attributeGroup ref="attlist.lookup"/> + </xs:complexType> + </xs:element> + <xs:attributeGroup name="attlist.lookup"> + <xs:attribute type="xs:string" name="target-form-name" use="required"/> + <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 type="xs:string" name="description-field-name"/> + <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.</xs:documentation></xs:annotation> + </xs:attribute> + </xs:attributeGroup> + <xs:element name="password" substitutionGroup="AllFields"> + <xs:complexType> + <xs:sequence> + <xs:element minOccurs="0" ref="sub-hyperlink"/> + </xs:sequence> + <xs:attributeGroup ref="attlist.password"/> + </xs:complexType> + </xs:element> + <xs:attributeGroup name="attlist.password"> + <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:attributeGroup> + <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:attributeGroup ref="attlist.radio"/> + </xs:complexType> + </xs:element> + <xs:attributeGroup name="attlist.radio"> + <xs:attribute type="xs:string" name="no-current-selected-key"/> + </xs:attributeGroup> + <xs:element name="range-find" substitutionGroup="AllFields"> + <xs:complexType> + <xs:sequence> + <xs:element minOccurs="0" ref="sub-hyperlink"/> + </xs:sequence> + <xs:attributeGroup ref="attlist.range-find"/> + </xs:complexType> + </xs:element> + <xs:attributeGroup name="attlist.range-find"> + <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:attributeGroup> + <xs:element name="reset" substitutionGroup="AllFields"> + <xs:complexType/> + </xs:element> + <xs:element name="submit" substitutionGroup="AllFields"> + <xs:complexType> + <xs:attributeGroup ref="attlist.submit"/> + </xs:complexType> + </xs:element> + <xs:attributeGroup name="attlist.submit"> + <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:attributeGroup> + <xs:element name="text" substitutionGroup="AllFields"> + <xs:complexType> + <xs:sequence> + <xs:element minOccurs="0" ref="sub-hyperlink"/> + </xs:sequence> + <xs:attributeGroup ref="attlist.text"/> + </xs:complexType> + </xs:element> + <xs:attributeGroup name="attlist.text"> + <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:attributeGroup> + <xs:element name="textarea" substitutionGroup="AllFields"> + <xs:complexType> + <xs:attributeGroup ref="attlist.textarea"/> + </xs:complexType> + </xs:element> + <xs:attributeGroup name="attlist.textarea"> + <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="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:attributeGroup> + <xs:element name="text-find" substitutionGroup="AllFields"> + <xs:complexType> + <xs:sequence> + <xs:element minOccurs="0" ref="sub-hyperlink"/> + </xs:sequence> + <xs:attributeGroup ref="attlist.text-find"/> + </xs:complexType> + </xs:element> + <xs:attributeGroup name="attlist.text-find"> + <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="like"> + <xs:simpleType> + <xs:restriction base="xs:string"> + <xs:enumeration value="equals"/> + <xs:enumeration value="like"/> + <xs:enumeration value="contains"/> + <xs:enumeration value="empty"/> + </xs:restriction> + </xs:simpleType> + </xs:attribute> + </xs:attributeGroup> + + <!-- ================== FIELD SUB-ELEMENTS ==================== --> + <xs:element name="entity-constraint"> + <xs:complexType> + <xs:attributeGroup ref="attlist.entity-constraint"/> + </xs:complexType> + </xs:element> + <xs:attributeGroup name="attlist.entity-constraint"> + <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="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:attributeGroup> + <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:attributeGroup ref="attlist.entity-options"/> + </xs:complexType> + </xs:element> + <xs:attributeGroup name="attlist.entity-options"> + <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 |
Free forum by Nabble | Edit this page |