Added: ofbiz/trunk/framework/minilang/dtd/simple-methods-ns.xsd
URL: http://svn.apache.org/viewvc/ofbiz/trunk/framework/minilang/dtd/simple-methods-ns.xsd?rev=1749938&view=auto ============================================================================== --- ofbiz/trunk/framework/minilang/dtd/simple-methods-ns.xsd (added) +++ ofbiz/trunk/framework/minilang/dtd/simple-methods-ns.xsd Thu Jun 23 16:40:22 2016 @@ -0,0 +1,5171 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!-- +Licensed to the Apache Software Foundation (ASF) under one +or more contributor license agreements. See the NOTICE file +distributed with this work for additional information +regarding copyright ownership. The ASF licenses this file +to you under the Apache License, Version 2.0 (the +"License"); you may not use this file except in compliance +with the License. You may obtain a copy of the License at + +http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, +software distributed under the License is distributed on an +"AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY +KIND, either express or implied. See the License for the +specific language governing permissions and limitations +under the License. +--> +<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" elementFormDefault="qualified" xmlns="http://ofbiz.apache.org/Simple-Method" targetNamespace="http://ofbiz.apache.org/Simple-Method"> +<!-- + ================================================== + ========== The Simple Methods Section ========== + ================================================== + (see further down for the Simple Map Processor Section) +--> + + <!-- Abstract elements and element groups --> + + <xs:element name="CallOperations" abstract="true"/> + <xs:element name="EventOperations" abstract="true"/> + <xs:element name="ServiceOperations" abstract="true"/> + <xs:element name="EnvOperations" abstract="true"/> + <xs:element name="EntityMiscOperations" abstract="true"/> + <xs:element name="EntityFindOperations" abstract="true"/> + <xs:element name="EntityValueOperations" abstract="true"/> + <xs:element name="EntityListOperations" abstract="true"/> + <xs:element name="EntityTxOperations" abstract="true"/> + <xs:element name="ControlOperations" abstract="true"/> + <xs:element name="IfBasicOperations" abstract="true"/> + <xs:element name="IfOtherOperations" abstract="true"/> + <xs:element name="OtherOperations" abstract="true"/> + + <xs:group name="AllOperations"> + <xs:choice> + <xs:element ref="CallOperations"/> + <xs:element ref="EventOperations"/> + <xs:element ref="ServiceOperations"/> + <xs:element ref="EnvOperations"/> + <xs:element ref="EntityMiscOperations"/> + <xs:element ref="EntityFindOperations"/> + <xs:element ref="EntityValueOperations"/> + <xs:element ref="EntityListOperations"/> + <xs:element ref="EntityTxOperations"/> + <xs:element ref="ControlOperations"/> + <xs:element ref="IfBasicOperations"/> + <xs:element ref="IfOtherOperations"/> + <xs:element ref="OtherOperations"/> + </xs:choice> + </xs:group> + + <xs:group name="IfConditions"> + <xs:choice> + <xs:element ref="IfCombineConditions"/> + <xs:element ref="IfBasicOperations"/> + </xs:choice> + </xs:group> + + <xs:element name="IfCombineConditions" abstract="true"/> + + <!-- Reusable types --> + + <xs:simpleType name="booleanConst"> + <xs:restriction base="xs:token"> + <xs:enumeration value="true" /> + <xs:enumeration value="false" /> + </xs:restriction> + </xs:simpleType> + + <xs:simpleType name="booleanExpr"> + <xs:restriction base="xs:string"> + <xs:pattern value="\$\{.+\}|true|false" /> + </xs:restriction> + </xs:simpleType> + + <xs:simpleType name="javaClassName"> + <xs:restriction base="xs:token"> + <xs:pattern value="[a-zA-Z_]{1}[a-zA-Z0-9_$.]+" /> + </xs:restriction> + </xs:simpleType> + + <!-- Reusable attributes and attribute groups --> + + <xs:attribute name="field"> + <xs:annotation> + <xs:documentation> + The name of the field to set. The target of the assignment. + + Required. Attribute type: expression. + </xs:documentation> + </xs:annotation> + <xs:simpleType> + <xs:restriction base="xs:token"> + <xs:minLength value="1" /> + </xs:restriction> + </xs:simpleType> + </xs:attribute> + + <xs:attribute name="error-list-name" type="xs:string"> + <xs:annotation> + <xs:documentation> + The name of the error message list. It will be created if it does not exist. + Defaults to "error_list". + + Optional. Attribute types: constant, ${expression}. + </xs:documentation> + </xs:annotation> + </xs:attribute> + + <xs:attribute name="type" type="javaClassName"> + <xs:annotation> + <xs:documentation> + The Java data type. + + Optional. Attribute type: constant. Attribute must contain a valid Java class name. + </xs:documentation> + </xs:annotation> + </xs:attribute> + + <xs:attributeGroup name="attlist.operatorRequired"> + <xs:attribute name="operator" use="required"> + <xs:annotation> + <xs:documentation> + The comparison operator. The operator describes the l-value compared to the r-value. + + The "contains" operator returns true if the l-value contains the r-value. + This operator does not perform type conversions. + The l-value must be a collection type or a String. A null l-value evaluates to false. + + Required. Attribute type: constant. + </xs:documentation> + </xs:annotation> + <xs:simpleType> + <xs:restriction base="xs:token"> + <xs:enumeration value="equals"/> + <xs:enumeration value="not-equals"/> + <xs:enumeration value="less"/> + <xs:enumeration value="less-equals"/> + <xs:enumeration value="greater"/> + <xs:enumeration value="greater-equals"/> + <xs:enumeration value="contains"/> + </xs:restriction> + </xs:simpleType> + </xs:attribute> + </xs:attributeGroup> + + <xs:attributeGroup name="attlist.operatorOptionalRvalue"> + <xs:attribute name="operator" use="required"> + <xs:annotation> + <xs:documentation> + The comparison operator. The operator describes the l-value compared to the r-value. + + The "contains" operator returns true if the l-value contains the r-value. + This operator does not perform type conversions. + The l-value must be a collection type or a String. A null l-value evaluates to false. + + The "is-null", "is-not-null", and "is-empty" operators + do not require an r-value. Any r-values will be ignored. + + Required. Attribute type: constant. + </xs:documentation> + </xs:annotation> + <xs:simpleType> + <xs:restriction base="xs:token"> + <xs:enumeration value="equals"/> + <xs:enumeration value="not-equals"/> + <xs:enumeration value="less"/> + <xs:enumeration value="less-equals"/> + <xs:enumeration value="greater"/> + <xs:enumeration value="greater-equals"/> + <xs:enumeration value="contains"/> + <xs:enumeration value="is-null"/> + <xs:enumeration value="is-not-null"/> + <xs:enumeration value="is-empty"/> + </xs:restriction> + </xs:simpleType> + </xs:attribute> + </xs:attributeGroup> + + <xs:attributeGroup name="attlist.check-permission"> + <xs:attribute name="permission" type="xs:string" use="required"> + <xs:annotation> + <xs:documentation> + The name of the permission. + The user must belong to a security group that includes this permission. + + Required. Attribute types: constant, ${expression}. + </xs:documentation> + </xs:annotation> + </xs:attribute> + <xs:attribute name="action" type="xs:string"> + <xs:annotation> + <xs:documentation> + If an action is specified the user can have one of two permissions: the permission + "_ADMIN" or permission + action. + Examples of actions include "_CREATE", "_VIEW", etc. + + Optional. Attribute types: constant, ${expression}. + </xs:documentation> + </xs:annotation> + </xs:attribute> + </xs:attributeGroup> + + <xs:attribute name="delegator-name" type="xs:string"> + <xs:annotation> + <xs:documentation> + An alternate delegator name. When specified, the entity operation will use the + alternate delegator instead of the current delegator. + + Optional. Attribute types: constant, ${expression}. + </xs:documentation> + </xs:annotation> + </xs:attribute> + +<!-- + ============================= + ===== The Root Elements ===== + ============================= +--> + + <xs:element name="simple-methods"> + <xs:annotation> + <xs:documentation> + The document-level element of Mini-language files. + </xs:documentation> + </xs:annotation> + <xs:complexType> + <xs:sequence> + <xs:element ref="simple-method" minOccurs="0" maxOccurs="unbounded"/> + </xs:sequence> + </xs:complexType> + </xs:element> + + <xs:element name="simple-method"> + <xs:annotation> + <xs:documentation> + Contains a block of Mini-language code. + + A simple method can be called in either an event context from the Control + Servlet (or another event) or in a service context through the Service + Engine, or any other component that has access to a service + dispatcher. + </xs:documentation> + </xs:annotation> + <xs:complexType> + <xs:group ref="AllOperations" minOccurs="0" maxOccurs="unbounded" /> + <xs:attribute name="method-name" type="javaClassName" use="required"> + <xs:annotation> + <xs:documentation> + A name (preferably a legal Java identifier) for this method. + This name must be unique for the XML file it is in as it will be used to reference this method externally. + + Required. Attribute type: constant. + </xs:documentation> + </xs:annotation> + </xs:attribute> + <xs:attribute name="short-description" type="xs:string"> + <xs:annotation> + <xs:documentation> + A short description of the method - used for documentation. + + Optional. Attribute type: constant. + </xs:documentation> + </xs:annotation> + </xs:attribute> + <xs:attribute name="login-required" type="booleanConst"> + <xs:annotation> + <xs:documentation> + Require a user login to run this method. Defaults to "true". + + Optional. Attribute type: constant. + </xs:documentation> + </xs:annotation> + </xs:attribute> + <xs:attribute name="use-transaction" type="booleanConst"> + <xs:annotation> + <xs:documentation> + Create a transaction if none exists for this thread. Defaults to "true". + + Optional. Attribute type: constant. + </xs:documentation> + </xs:annotation> + </xs:attribute> + <xs:attribute name="default-error-code" type="xs:string"> + <xs:annotation> + <xs:documentation> + The default error return code. Defaults to "error". + + Optional. Attribute type: constant. + </xs:documentation> + </xs:annotation> + </xs:attribute> + <xs:attribute name="default-success-code" type="xs:string"> + <xs:annotation> + <xs:documentation> + The default success return code. Defaults to "success". + + Optional. Attribute type: constant. + </xs:documentation> + </xs:annotation> + </xs:attribute> + <xs:attribute name="event-request-object-name" type="xs:string"> + <xs:annotation> + <xs:documentation> + The name of the field containing the javax.servlet.ServletRequest object. Defaults to "request". + + Used when the simple method is invoked as an event, it is ignored otherwise. + + Optional. Attribute type: constant. + </xs:documentation> + </xs:annotation> + </xs:attribute> + <xs:attribute name="event-response-object-name" type="xs:string"> + <xs:annotation> + <xs:documentation> + The name of the field containing the javax.servlet.ServletResponse object. Defaults to "response". + + Used when the simple method is invoked as an event, it is ignored otherwise. + + Optional. Attribute type: constant. + </xs:documentation> + </xs:annotation> + </xs:attribute> + <xs:attribute name="event-session-object-name" type="xs:string"> + <xs:annotation> + <xs:documentation> + The name of the field containing the javax.servlet.http.HttpSession object. Defaults to "session". + + Used when the simple method is invoked as an event, it is ignored otherwise. + + Optional. Attribute type: constant. + </xs:documentation> + </xs:annotation> + </xs:attribute> + <xs:attribute name="event-response-code-name" type="xs:string"> + <xs:annotation> + <xs:documentation> + The name of the field containing the event response code. Defaults to "_response_code_". + + Used when the simple method is invoked as an event, it is ignored otherwise. + + Optional. Attribute type: constant. + </xs:documentation> + </xs:annotation> + </xs:attribute> + <xs:attribute name="event-error-message-name" type="xs:string"> + <xs:annotation> + <xs:documentation> + The name of the field containing the event error message. Defaults to "_error_message_". + + Used when the simple method is invoked as an event, it is ignored otherwise. + + Optional. Attribute type: constant. + </xs:documentation> + </xs:annotation> + </xs:attribute> + <xs:attribute name="event-error-message-list-name" type="xs:string"> + <xs:annotation> + <xs:documentation> + The name of the field containing the event error message list. Defaults to "_error_message_list_". + + Used when the simple method is invoked as an event, it is ignored otherwise. + + Optional. Attribute type: constant. + </xs:documentation> + </xs:annotation> + </xs:attribute> + <xs:attribute name="event-event-message-name" type="xs:string"> + <xs:annotation> + <xs:documentation> + The name of the field containing the event message. Defaults to "_event_message_". + + Used when the simple method is invoked as an event, it is ignored otherwise. + + Optional. Attribute type: constant. + </xs:documentation> + </xs:annotation> + </xs:attribute> + <xs:attribute name="event-event-message-list-name" type="xs:string"> + <xs:annotation> + <xs:documentation> + The name of the field containing the event message list. Defaults to "_event_message_list_". + + Used when the simple method is invoked as an event, it is ignored otherwise. + + Optional. Attribute type: constant. + </xs:documentation> + </xs:annotation> + </xs:attribute> + <xs:attribute name="service-response-message-name" type="xs:string"> + <xs:annotation> + <xs:documentation> + The name of the field containing the service response message. Defaults to "responseMessage". + + Used when the simple method is invoked as a service, it is ignored otherwise. + + Optional. Attribute type: constant. + </xs:documentation> + </xs:annotation> + </xs:attribute> + <xs:attribute name="service-error-message-name" type="xs:string"> + <xs:annotation> + <xs:documentation> + The name of the field containing the service error message. Defaults to "errorMessage". + + Used when the simple method is invoked as a service, it is ignored otherwise. + + Optional. Attribute type: constant. + </xs:documentation> + </xs:annotation> + </xs:attribute> + <xs:attribute name="service-error-message-list-name" type="xs:string"> + <xs:annotation> + <xs:documentation> + The name of the field containing the service error message list. Defaults to "errorMessageList". + + Used when the simple method is invoked as a service, it is ignored otherwise. + + Optional. Attribute type: constant. + </xs:documentation> + </xs:annotation> + </xs:attribute> + <xs:attribute name="service-error-message-map-name" type="xs:string"> + <xs:annotation> + <xs:documentation> + The name of the field containing the service error message map. Defaults to "errorMessageMap". + + Used when the simple method is invoked as a service, it is ignored otherwise. + + Optional. Attribute type: constant. + </xs:documentation> + </xs:annotation> + </xs:attribute> + <xs:attribute name="service-success-message-name" type="xs:string"> + <xs:annotation> + <xs:documentation> + The name of the field containing the service success message. Defaults to "successMessage". + + Used when the simple method is invoked as a service, it is ignored otherwise. + + Optional. Attribute type: constant. + </xs:documentation> + </xs:annotation> + </xs:attribute> + <xs:attribute name="service-success-message-list-name" type="xs:string"> + <xs:annotation> + <xs:documentation> + The name of the field containing the service success message list. Defaults to "successMessageList". + + Used when the simple method is invoked as a service, it is ignored otherwise. + + Optional. Attribute type: constant. + </xs:documentation> + </xs:annotation> + </xs:attribute> + </xs:complexType> + </xs:element> + +<!-- + ================================= + ===== Assignment Operations ===== + ================================= +--> + + <xs:element name="add-error" substitutionGroup="ControlOperations"> + <xs:annotation> + <xs:documentation> + Adds an error message to an error message list. + </xs:documentation> + </xs:annotation> + <xs:complexType> + <xs:choice> + <xs:element ref="fail-message" /> + <xs:element ref="fail-property" /> + </xs:choice> + <xs:attribute ref="error-list-name"/> + </xs:complexType> + </xs:element> + + <xs:element name="assert" substitutionGroup="EnvOperations"> + <xs:annotation> + <xs:documentation> + Adds an error message to the error message list for each condition that evaluates to false. + </xs:documentation> + </xs:annotation> + <xs:complexType> + <xs:group maxOccurs="unbounded" ref="IfConditions" /> + <xs:attribute type="xs:string" name="title"> + <xs:annotation> + <xs:documentation> + The title of the assert operation. The title is used in test reports. + + Optional. Attribute types: constant, ${expression}. + </xs:documentation> + </xs:annotation> + </xs:attribute> + <xs:attribute ref="error-list-name"/> + </xs:complexType> + </xs:element> + + <xs:element name="check-id" substitutionGroup="EnvOperations"> + <xs:annotation> + <xs:documentation> + Evaluates the specified field, and adds an error message to the error message list if the field's value is not a valid database ID value. + + <![CDATA[Valid IDs can be any sequence of characters or digits but must not contain the following characters: + space [ ], double quote ["], single quote ['], ampersand [&], question mark [?], + less-than sign [<], greater-than sign [>], forward-slash [/], back-slash [\].]]> + </xs:documentation> + </xs:annotation> + <xs:complexType> + <xs:choice minOccurs="0"> + <xs:element ref="fail-message" /> + <xs:element ref="fail-property" /> + </xs:choice> + <xs:attribute type="xs:string" name="field" use="required"> + <xs:annotation> + <xs:documentation> + The name of the field that contains the ID value to check. + + Required. Attribute type: expression. + </xs:documentation> + </xs:annotation> + </xs:attribute> + <xs:attribute ref="error-list-name" /> + </xs:complexType> + </xs:element> + + <xs:element name="check-permission" substitutionGroup="IfOtherOperations"> + <xs:annotation> + <xs:documentation> + Checks to see if the current user has the specified permission. + If the user does not have the specified permission or if there is no user associated with the context + then the failure message from fail-message or fail-property will be added to the + specified error list. + + Note that this element must be followed by the check-errors element for it to do anything meaningful. + </xs:documentation> + </xs:annotation> + <xs:complexType> + <xs:sequence> + <xs:element name="alt-permission" minOccurs="0" maxOccurs="unbounded"> + <xs:annotation> + <xs:documentation> + Declares an alternate permission. Alternate permissions are checked when the primary permission check fails. + </xs:documentation> + </xs:annotation> + <xs:complexType> + <xs:attributeGroup ref="attlist.check-permission" /> + </xs:complexType> + </xs:element> + <xs:choice> + <xs:element ref="fail-message" /> + <xs:element ref="fail-property" /> + </xs:choice> + </xs:sequence> + <xs:attributeGroup ref="attlist.check-permission" /> + <xs:attribute ref="error-list-name" /> + </xs:complexType> + </xs:element> + + <xs:element name="clear-field" substitutionGroup="EnvOperations"> + <xs:annotation> + <xs:documentation> + Sets the value of the specified field to null. + </xs:documentation> + </xs:annotation> + <xs:complexType> + <xs:attribute ref="field" use="required" /> + </xs:complexType> + </xs:element> + + <xs:element name="create-object" substitutionGroup="EnvOperations"> + <xs:annotation> + <xs:documentation> + Creates an instance of the specified class. + The string and field sub-elements are passed to the constructor method as arguments in the order they are specified. + A runtime exception will be thrown if the sub-elements do not match the constructor method arguments. + + Deprecated - use the script element. + </xs:documentation> + </xs:annotation> + <xs:complexType> + <xs:choice minOccurs="0" maxOccurs="unbounded"> + <xs:element ref="field" /> + <xs:element ref="string" /> + </xs:choice> + <xs:attribute ref="field" use="required" /> + <xs:attribute name="class-name" type="javaClassName" use="required"> + <xs:annotation> + <xs:documentation> + The name of the class to construct an instance of. + + Required. Attribute type: constant. + </xs:documentation> + </xs:annotation> + </xs:attribute> + </xs:complexType> + </xs:element> + + <xs:element name="fail-message"> + <xs:annotation> + <xs:documentation> + Declares an error message. + </xs:documentation> + </xs:annotation> + <xs:complexType> + <xs:attribute type="xs:string" name="message" use="required"> + <xs:annotation> + <xs:documentation> + The error message text. + + Required. Attribute type: constant+expr + </xs:documentation> + </xs:annotation> + </xs:attribute> + </xs:complexType> + </xs:element> + + <xs:element name="fail-property"> + <xs:annotation> + <xs:documentation> + Declares an error message found in a properties file. + Typically used for internationalized messages. + </xs:documentation> + </xs:annotation> + <xs:complexType> + <xs:attribute type="xs:string" name="resource" use="required"> + <xs:annotation> + <xs:documentation> + The name of a properties file on the classpath. + + Required. Attribute type: constant + </xs:documentation> + </xs:annotation> + </xs:attribute> + <xs:attribute type="xs:string" name="property" use="required"> + <xs:annotation> + <xs:documentation> + The property key. + + Required. Attribute type: constant + </xs:documentation> + </xs:annotation> + </xs:attribute> + </xs:complexType> + </xs:element> + + <xs:element name="field"> + <xs:annotation> + <xs:documentation> + Declares an environment field to be passed as an argument to an object method call. + </xs:documentation> + </xs:annotation> + <xs:complexType> + <xs:attribute type="xs:string" name="field" use="required"> + <xs:annotation> + <xs:documentation> + The name of the environment field to use. + + Required. Attribute type: expression. + </xs:documentation> + </xs:annotation> + </xs:attribute> + <xs:attribute ref="type"> + <xs:annotation> + <xs:documentation> + The Java class of the argument. Defaults to "java.lang.String". + It should be the type specified in the method signature, not the type of the object being + passed in. + + Optional. Attribute type: constant. + </xs:documentation> + </xs:annotation> + </xs:attribute> + </xs:complexType> + </xs:element> + + <xs:element name="field-to-list" substitutionGroup="EnvOperations"> + <xs:annotation> + <xs:documentation> + Appends an object to the specified list. + + Deprecated - use the set element. + </xs:documentation> + </xs:annotation> + <xs:complexType> + <xs:attribute type="xs:string" name="field" use="required"> + <xs:annotation> + <xs:documentation> + The field name of the object to append. The operation does nothing if the field does not exist. + + Required. Attribute type: expression. + </xs:documentation> + </xs:annotation> + </xs:attribute> + <xs:attribute type="xs:string" name="list" use="required"> + <xs:annotation> + <xs:documentation> + The field name of the list that the object will be appended to. + If the list does not exist, one will be created. + + Required. Attribute type: expression. + </xs:documentation> + </xs:annotation> + </xs:attribute> + </xs:complexType> + </xs:element> + + <xs:element name="field-to-request" substitutionGroup="EventOperations"> + <xs:annotation> + <xs:documentation> + Copies a field to a servlet request attribute. + Valid only when the simple-method is called as an event, it is ignored otherwise. + </xs:documentation> + </xs:annotation> + <xs:complexType> + <xs:attribute type="xs:string" name="field" use="required"> + <xs:annotation> + <xs:documentation> + The name of the field to copy from. The source of the assignment. + The operation does nothing if the field does not exist. + + Required. Attribute type: expression. + </xs:documentation> + </xs:annotation> + </xs:attribute> + <xs:attribute type="xs:string" name="request-name"> + <xs:annotation> + <xs:documentation> + The servlet request attribute name. The target of the assignment. + Defaults to the value of the field attribute. + + Optional. Attribute types: constant, ${expression}. + </xs:documentation> + </xs:annotation> + </xs:attribute> + </xs:complexType> + </xs:element> + + <xs:element name="field-to-result" substitutionGroup="EnvOperations"> + <xs:annotation> + <xs:documentation> + Copies a field to a service OUT attribute. + </xs:documentation> + </xs:annotation> + <xs:complexType> + <xs:attribute type="xs:string" name="field" use="required"> + <xs:annotation> + <xs:documentation> + The name of the field to copy from. The source of the assignment. + The operation does nothing if the field does not exist. + + Required. Attribute type: expression. + </xs:documentation> + </xs:annotation> + </xs:attribute> + <xs:attribute type="xs:string" name="result-name"> + <xs:annotation> + <xs:documentation> + The name of the result field to set. The target of the assignment. + Defaults to the value of the field attribute. + + Optional. Attribute type: expression. + </xs:documentation> + </xs:annotation> + </xs:attribute> + </xs:complexType> + </xs:element> + + <xs:element name="field-to-session" substitutionGroup="EventOperations"> + <xs:annotation> + <xs:documentation> + Copies a field to a servlet session attribute. + Valid only when the simple-method is called as an event, it is ignored otherwise. + </xs:documentation> + </xs:annotation> + <xs:complexType> + <xs:attribute type="xs:string" name="field" use="required"> + <xs:annotation> + <xs:documentation> + The name of the field to copy from. The source of the assignment. + The operation does nothing if the field does not exist. + + Required. Attribute type: expression. + </xs:documentation> + </xs:annotation> + </xs:attribute> + <xs:attribute type="xs:string" name="session-name"> + <xs:annotation> + <xs:documentation> + The servlet session attribute name. The target of the assignment. + Defaults to the value of the field attribute. + + Optional. Attribute types: constant, ${expression}. + </xs:documentation> + </xs:annotation> + </xs:attribute> + </xs:complexType> + </xs:element> + + <xs:element name="first-from-list" substitutionGroup="EnvOperations"> + <xs:annotation> + <xs:documentation> + Assigns the first (lowest order) entry in a list to a field. + If the list does not exist or is empty, assigns null to a field. + + Deprecated - use the set element. + </xs:documentation> + </xs:annotation> + <xs:complexType> + <xs:attribute type="xs:string" name="entry" use="required"> + <xs:annotation> + <xs:documentation> + The name of the field to set. The target of the assignment. + + Required. Attribute type: expression. + </xs:documentation> + </xs:annotation> + </xs:attribute> + <xs:attribute type="xs:string" name="list" use="required"> + <xs:annotation> + <xs:documentation> + The name of the list that contains the object to copy. + + Required. Attribute type: expression. + </xs:documentation> + </xs:annotation> + </xs:attribute> + </xs:complexType> + </xs:element> + + <xs:element name="list-to-list" substitutionGroup="EnvOperations"> + <xs:annotation> + <xs:documentation> + Copy a list to another list. + </xs:documentation> + </xs:annotation> + <xs:complexType> + <xs:attribute type="xs:string" name="list" use="required"> + <xs:annotation> + <xs:documentation> + Name of the list to copy from. The operation does nothing if the list does not exist. + + Required. Attribute type: expression. + </xs:documentation> + </xs:annotation> + </xs:attribute> + <xs:attribute type="xs:string" name="to-list" use="required"> + <xs:annotation> + <xs:documentation> + Name of the list to copy to. If the list does not exist, one will be created. + + Required. Attribute type: expression. + </xs:documentation> + </xs:annotation> + </xs:attribute> + </xs:complexType> + </xs:element> + + <xs:element name="map-to-map" substitutionGroup="EnvOperations"> + <xs:annotation> + <xs:documentation> + Copies a map to another map. + If a target map is not specified, the source map is copied to the current + environment (memory space). + </xs:documentation> + </xs:annotation> + <xs:complexType> + <xs:attribute type="xs:string" name="map" use="required"> + <xs:annotation> + <xs:documentation> + The name of the map to copy from. The operation does nothing if the map does not exist. + + Required. Attribute type: expression. + </xs:documentation> + </xs:annotation> + </xs:attribute> + <xs:attribute type="xs:string" name="to-map"> + <xs:annotation> + <xs:documentation> + The name of the map to copy to. If the target map does not exist, one will be created. + If this attribute is empty, the source map will be copied to the current environment. + + Optional. Attribute type: expression. + </xs:documentation> + </xs:annotation> + </xs:attribute> + </xs:complexType> + </xs:element> + + <xs:element name="now" substitutionGroup="OtherOperations"> + <xs:annotation> + <xs:documentation> + Sets a field to the current system time. + </xs:documentation> + </xs:annotation> + <xs:complexType> + <xs:attribute ref="field" use="required" /> + <xs:attribute name="type"> + <xs:annotation> + <xs:documentation> + The field data type. Defaults to "java.sql.Timestamp". + + Optional. Attribute type: constant. + </xs:documentation> + </xs:annotation> + <xs:simpleType> + <xs:restriction base="xs:token"> + <xs:enumeration value="java.sql.Timestamp"/> + <xs:enumeration value="java.sql.Date" /> + <xs:enumeration value="java.sql.Time" /> + <xs:enumeration value="java.util.Date" /> + <xs:enumeration value="java.lang.Long" /> + </xs:restriction> + </xs:simpleType> + </xs:attribute> + </xs:complexType> + </xs:element> + + <xs:element name="now-date-to-env" substitutionGroup="OtherOperations"> + <xs:annotation> + <xs:documentation> + Sets a field to a java.sql.Date object initialized to the current system time. + Deprecated - use now. + </xs:documentation> + </xs:annotation> + <xs:complexType> + <xs:attribute ref="field" use="required" /> + </xs:complexType> + </xs:element> + + <xs:element name="now-timestamp" substitutionGroup="OtherOperations"> + <xs:annotation> + <xs:documentation> + Sets a field to a java.sql.Timestamp object initialized to the current system time. + Deprecated - use now. + </xs:documentation> + </xs:annotation> + <xs:complexType> + <xs:attribute ref="field" use="required" /> + </xs:complexType> + </xs:element> + + <xs:element name="order-by"> + <xs:annotation> + <xs:documentation> + Declares a field or map key to sort on. + </xs:documentation> + </xs:annotation> + <xs:complexType> + <xs:attribute name="field-name" type="xs:string" use="required"> + <xs:annotation> + <xs:documentation> + The name of the field or map key to sort on. + + Required. Attribute type: expression. + </xs:documentation> + </xs:annotation> + </xs:attribute> + </xs:complexType> + </xs:element> + + <xs:element name="order-map-list" substitutionGroup="EnvOperations"> + <xs:annotation> + <xs:documentation> + Sorts a list of maps. Maps are sorted by the keys specified in the order-by sub-elements. + </xs:documentation> + </xs:annotation> + <xs:complexType> + <xs:sequence> + <xs:element maxOccurs="unbounded" ref="order-by" /> + </xs:sequence> + <xs:attribute type="xs:string" name="list" use="required"> + <xs:annotation> + <xs:documentation> + The name of the field containing the list to be sorted. The operation does nothing if the list is not found. + + Required. Attribute type: expression. + </xs:documentation> + </xs:annotation> + </xs:attribute> + </xs:complexType> + </xs:element> + + <xs:element name="property-to-field" substitutionGroup="OtherOperations"> + <xs:annotation> + <xs:documentation> + Assigns a resource property value to a field. + </xs:documentation> + </xs:annotation> + <xs:complexType> + <xs:attribute ref="field" use="required" /> + <xs:attribute type="xs:string" name="resource" use="required"> + <xs:annotation> + <xs:documentation> + The name of a properties resource. Can be a file on the classpath or + a resource defined in the SystemProperty entity. + + Required. Attribute types: constant, ${expression}. + </xs:documentation> + </xs:annotation> + </xs:attribute> + <xs:attribute type="xs:string" name="property" use="required"> + <xs:annotation> + <xs:documentation> + The property key. + + Required. Attribute types: constant, ${expression}. + </xs:documentation> + </xs:annotation> + </xs:attribute> + <xs:attribute type="xs:string" name="default"> + <xs:annotation> + <xs:documentation> + The default value to use if the specified property value is null or empty. + + Optional. Attribute types: constant, ${expression}. + </xs:documentation> + </xs:annotation> + </xs:attribute> + <xs:attribute type="booleanConst" name="no-locale"> + <xs:annotation> + <xs:documentation> + Suppress property value localization. The user's/system locale will be ignored + when retriving the property value. + Defaults to "false". + + Optional. Attribute type: constant. + </xs:documentation> + </xs:annotation> + </xs:attribute> + <xs:attribute type="xs:string" name="arg-list"> + <xs:annotation> + <xs:documentation> + The name of an argument list to be used with a formatting string. + The argument list is applied to the property value. + The attribute does nothing if the argument list is not found. + See the java.text.MessageFormat class for more information. + + Optional. Attribute type: expression. + </xs:documentation> + </xs:annotation> + </xs:attribute> + <xs:attribute type="xs:string" name="arg-list-name"> + <xs:annotation> + <xs:documentation> + Deprecated - use the arg-list attribute. + </xs:documentation> + </xs:annotation> + </xs:attribute> + </xs:complexType> + </xs:element> + + <xs:element name="request-parameters-to-list" substitutionGroup="EventOperations"> + <xs:annotation> + <xs:documentation> + Appends a servlet request parameter list to a list. + Valid only when the simple-method is called as an event, it is ignored otherwise. + </xs:documentation> + </xs:annotation> + <xs:complexType> + <xs:attribute type="xs:string" name="request-name" use="required"> + <xs:annotation> + <xs:documentation> + The servlet request parameter name. All matching parameter values will be added to the list. + + Required. Attribute types: constant, ${expression}. + </xs:documentation> + </xs:annotation> + </xs:attribute> + <xs:attribute type="xs:string" name="list"> + <xs:annotation> + <xs:documentation> + The name of the field containing the list. If the list does not exist, one will be created. + Defaults to the request-name attribute value. + + Optional. Attribute type: expression. + </xs:documentation> + </xs:annotation> + </xs:attribute> + <xs:attribute type="xs:string" name="list-name"> + <xs:annotation> + <xs:documentation> + Deprecated - use the list attribute. + </xs:documentation> + </xs:annotation> + </xs:attribute> + </xs:complexType> + </xs:element> + + <xs:element name="request-to-field" substitutionGroup="EventOperations"> + <xs:annotation> + <xs:documentation> + Copies a servlet request attribute to a field. + Valid only when the simple-method is called as an event, it is ignored otherwise. + </xs:documentation> + </xs:annotation> + <xs:complexType> + <xs:attribute ref="field" use="required" /> + <xs:attribute type="xs:string" name="request-name"> + <xs:annotation> + <xs:documentation> + The servlet request attribute name. Defaults to the value of field attribute. + + Optional. Attribute types: constant, ${expression}. + </xs:documentation> + </xs:annotation> + </xs:attribute> + <xs:attribute type="xs:string" name="default"> + <xs:annotation> + <xs:documentation> + A default value to use if the request attribute does not exist. + + Optional. Attribute types: constant, ${expression}. + </xs:documentation> + </xs:annotation> + </xs:attribute> + </xs:complexType> + </xs:element> + + <xs:element name="session-to-field" substitutionGroup="EventOperations"> + <xs:annotation> + <xs:documentation> + Copies a servlet session attribute to a field. + Valid only when the simple-method is called as an HTTP event, it is ignored otherwise. + </xs:documentation> + </xs:annotation> + <xs:complexType> + <xs:attribute ref="field" use="required" /> + <xs:attribute type="xs:string" name="session-name"> + <xs:annotation> + <xs:documentation> + The servlet session attribute name. Defaults to the value of the field attribute. + + Optional. Attribute types: constant, ${expression}. + </xs:documentation> + </xs:annotation> + </xs:attribute> + <xs:attribute type="xs:string" name="default"> + <xs:annotation> + <xs:documentation> + A default value to use if the request attribute does not exist. + + Optional. Attribute types: constant, ${expression}. + </xs:documentation> + </xs:annotation> + </xs:attribute> + </xs:complexType> + </xs:element> + + <xs:element name="set" substitutionGroup="EnvOperations"> + <xs:annotation> + <xs:documentation> + Assigns a field from an expression or script, or from a constant value. Also supports a default value and type conversion. + </xs:documentation> + </xs:annotation> + <xs:complexType> + <xs:attribute ref="field" use="required" /> + <xs:attribute type="xs:string" name="from"> + <xs:annotation> + <xs:documentation> + An expression or script that returns an object or null. The source of the assignment. + + A script must be prefixed with the script language followed by a colon (":"). + + Required if the value attribute is empty. Attribute types: expression, script. + </xs:documentation> + </xs:annotation> + </xs:attribute> + <xs:attribute type="xs:string" name="from-field"> + <xs:annotation> + <xs:documentation> + Deprecated - use the from attribute. + </xs:documentation> + </xs:annotation> + </xs:attribute> + <xs:attribute type="xs:string" name="value"> + <xs:annotation> + <xs:documentation> + A constant value, or a constant that includes an expression. The source of the assignment. + + Required if the from attribute is empty. Attribute type: constant+expr. + Defaults to java.lang.String data type. + </xs:documentation> + </xs:annotation> + </xs:attribute> + <xs:attribute type="xs:string" name="default"> + <xs:annotation> + <xs:documentation> + A default value that is used when the from attribute evaluates to null or empty. + + Optional. Attribute types: constant, ${expression}. + </xs:documentation> + </xs:annotation> + </xs:attribute> + <xs:attribute type="xs:string" name="default-value"> + <xs:annotation> + <xs:documentation> + Deprecated - use the default attribute. + </xs:documentation> + </xs:annotation> + </xs:attribute> + <xs:attribute type="javaClassName" name="type"> + <xs:annotation> + <xs:documentation> + The Java data type to convert to. "NewList" will create a new java.util.List, "NewMap" will create a new java.util.Map. + Otherwise, the attribute must contain a valid Java class name. + + Optional. Attribute type: constant. + </xs:documentation> + </xs:annotation> + </xs:attribute> + <xs:attribute type="xs:string" name="format"> + <xs:annotation> + <xs:documentation> + Format to be used for object type conversion. Used when the type attribute is not empty. + + Optional. Attribute types: constant, ${expression}. + </xs:documentation> + </xs:annotation> + </xs:attribute> + <xs:attribute name="set-if-null" type="booleanConst"> + <xs:annotation> + <xs:documentation> + Controls if the target field can be set to null when the from attribute evaluates to null. + Defaults to "false". + + Optional. Attribute type: constant. + </xs:documentation> + </xs:annotation> + </xs:attribute> + <xs:attribute name="set-if-empty" type="booleanConst"> + <xs:annotation> + <xs:documentation> + Controls if the target field can be set to an empty value. The meaning of "empty" depends on the Java data type. + Defaults to "true". + + Optional. Attribute type: constant. + </xs:documentation> + </xs:annotation> + </xs:attribute> + </xs:complexType> + </xs:element> + + <xs:element name="set-calendar" substitutionGroup="EnvOperations"> + <xs:annotation> + <xs:documentation> + Adjusts a Timestamp by a specified time duration. + </xs:documentation> + </xs:annotation> + <xs:complexType> + <xs:attribute ref="field" use="required" /> + <xs:attribute type="xs:string" name="from"> + <xs:annotation> + <xs:documentation> + An expression or script that returns an object or null. The source of the assignment. + + A script must be prefixed with the script language followed by a colon (":"). + + Required if the value attribute is empty. Attribute types: expression, script. + </xs:documentation> + </xs:annotation> + </xs:attribute> + <xs:attribute type="xs:string" name="from-field"> + <xs:annotation> + <xs:documentation> + Deprecated - use the from attribute. + </xs:documentation> + </xs:annotation> + </xs:attribute> + <xs:attribute type="xs:string" name="value"> + <xs:annotation> + <xs:documentation> + A constant value, or a constant that includes an expression. The source of the assignment. + + Required if the from attribute is empty. Attribute type: constant+expr. + Defaults to java.lang.String data type. + </xs:documentation> + </xs:annotation> + </xs:attribute> + <xs:attribute type="xs:string" name="default"> + <xs:annotation> + <xs:documentation> + A default value that is used when the from attribute evaluates to null or empty. + + Optional. Attribute types: constant, ${expression}. + </xs:documentation> + </xs:annotation> + </xs:attribute> + <xs:attribute type="xs:string" name="default-value"> + <xs:annotation> + <xs:documentation> + Deprecated - use the default attribute. + </xs:documentation> + </xs:annotation> + </xs:attribute> + <xs:attribute name="set-if-null" type="booleanConst"> + <xs:annotation> + <xs:documentation> + Controls if the target field can be set to null when the from attribute evaluates to null. + Defaults to "false". + + Optional. Attribute type: constant. + </xs:documentation> + </xs:annotation> + </xs:attribute> + <xs:attribute type="xs:string" name="years"> + <xs:annotation> + <xs:documentation> + Add (optionally using +) or subtract (using -) a number of year(s). + If an expression is used, it should evaluate to an integer. + + Optional. Attribute types: constant, ${expression}. + </xs:documentation> + </xs:annotation> + </xs:attribute> + <xs:attribute type="xs:string" name="months"> + <xs:annotation> + <xs:documentation> + Add (optionally using +) or subtract (using -) a number of month(s). + If an expression is used, it should evaluate to an integer. + + Optional. Attribute types: constant, ${expression}. + </xs:documentation> + </xs:annotation> + </xs:attribute> + <xs:attribute type="xs:string" name="days"> + <xs:annotation> + <xs:documentation> + Add (optionally using +) or subtract (using -) a number of days(s). + If an expression is used, it should evaluate to an integer. + + Optional. Attribute types: constant, ${expression}. + </xs:documentation> + </xs:annotation> + </xs:attribute> + <xs:attribute type="xs:string" name="hours"> + <xs:annotation> + <xs:documentation> + Add (optionally using +) or subtract (using -) a number of hour(s). + If an expression is used, it should evaluate to an integer. + + Optional. Attribute types: constant, ${expression}. + </xs:documentation> + </xs:annotation> + </xs:attribute> + <xs:attribute type="xs:string" name="minutes"> + <xs:annotation> + <xs:documentation> + Add (optionally using +) or subtract (using -) a number of minute(s). + If an expression is used, it should evaluate to an integer. + + Optional. Attribute types: constant, ${expression}. + </xs:documentation> + </xs:annotation> + </xs:attribute> + <xs:attribute type="xs:string" name="seconds"> + <xs:annotation> + <xs:documentation> + Add (optionally using +) or subtract (using -) a number of second(s). + If an expression is used, it should evaluate to an integer. + + Optional. Attribute types: constant, ${expression}. + </xs:documentation> + </xs:annotation> + </xs:attribute> + <xs:attribute type="xs:string" name="millis"> + <xs:annotation> + <xs:documentation> + Add (optionally using +) or subtract (using -) a number of millisecond(s). + If an expression is used, it should evaluate to an integer. + + Optional. Attribute types: constant, ${expression}. + </xs:documentation> + </xs:annotation> + </xs:attribute> + <xs:attribute name="period-align-start"> + <xs:annotation> + <xs:documentation> + Align the adjusted date to the start of a period. + + Optional. Attribute types: constant, ${expression}. + </xs:documentation> + </xs:annotation> + <xs:simpleType> + <xs:restriction base="xs:token"> + <xs:enumeration value="year" /> + <xs:enumeration value="month" /> + <xs:enumeration value="week" /> + <xs:enumeration value="day" /> + </xs:restriction> + </xs:simpleType> + </xs:attribute> + <xs:attribute name="period-align-end"> + <xs:annotation> + <xs:documentation> + Align the adjusted date to the end of a period. + + Optional. Attribute types: constant, ${expression}. + </xs:documentation> + </xs:annotation> + <xs:simpleType> + <xs:restriction base="xs:token"> + <xs:enumeration value="year" /> + <xs:enumeration value="month" /> + <xs:enumeration value="week" /> + <xs:enumeration value="day" /> + </xs:restriction> + </xs:simpleType> + </xs:attribute> + <xs:attribute type="xs:string" name="locale"> + <xs:annotation> + <xs:documentation> + A locale value (eg: en). The locale selects the calendar to be used for the adjustment. + Defaults to the environment locale. + + Optional. Attribute types: constant, ${expression}. + </xs:documentation> + </xs:annotation> + </xs:attribute> + <xs:attribute type="xs:string" name="time-zone"> + <xs:annotation> + <xs:documentation> + A time zone value (eg: GMT). + Defaults to the environment time zone. + + Optional. Attribute types: constant, ${expression}. + </xs:documentation> + </xs:annotation> + </xs:attribute> + </xs:complexType> + </xs:element> + + <xs:element name="set-current-user-login" substitutionGroup="OtherOperations"> + <xs:annotation> + <xs:documentation> + Sets the UserLogin entity value to be used for authentication for the rest of the method. + This is mostly used for calling services, etc. + + This element is deprecated. You can pass an alternate UserLogin + entity value to the called service's IN attributes. + </xs:documentation> + </xs:annotation> + <xs:complexType> + <xs:attribute type="xs:string" name="value-field" use="required"> + <xs:annotation> + <xs:documentation> + The name of the field that contains the UserLogin entity value. + + Required. Attribute type: expression. + </xs:documentation> + </xs:annotation> + </xs:attribute> + </xs:complexType> + </xs:element> + + <xs:element name="set-service-fields" substitutionGroup="CallOperations"> + <xs:annotation> + <xs:documentation> + Copies elements from a source map that match a service's IN or OUT attributes to a target map. + </xs:documentation> + </xs:annotation> + <xs:complexType> + <xs:attribute type="xs:string" name="service-name" use="required"> + <xs:annotation> + <xs:documentation> + The name of the service. + + Required. Attribute types: constant, ${expression}. + </xs:documentation> + </xs:annotation> + </xs:attribute> + <xs:attribute type="xs:string" name="map" use="required"> + <xs:annotation> + <xs:documentation> + The map to copy the matching attributes from. + + Required. Attribute type: expression. + </xs:documentation> + </xs:annotation> + </xs:attribute> + <xs:attribute type="xs:string" name="to-map" use="required"> + <xs:annotation> + <xs:documentation> + The map to copy the matching attributes to. + If the map does not exist, a new one will be created. + + Required. Attribute type: expression. + </xs:documentation> + </xs:annotation> + </xs:attribute> + <xs:attribute name="mode"> + <xs:annotation> + <xs:documentation> + The service attributes mode - IN or OUT. Defaults to "IN". + + Optional. Attribute type: constant. + </xs:documentation> + </xs:annotation> + <xs:simpleType> + <xs:restriction base="xs:token"> + <xs:enumeration value="IN" /> + <xs:enumeration value="OUT" /> + </xs:restriction> + </xs:simpleType> + </xs:attribute> + </xs:complexType> + </xs:element> + + <xs:element name="string"> + <xs:annotation> + <xs:documentation> + Declares a java.lang.String to be passed as an argument to a method call. + The String can be contained in the value attribute and/or in the element body. + The element body text is appended to the value attribute text. + </xs:documentation> + </xs:annotation> + <xs:complexType> + <xs:attribute type="xs:string" name="value"> + <xs:annotation> + <xs:documentation> + The String text. + + Optional. Attribute types: constant, ${expression}. + </xs:documentation> + </xs:annotation> + </xs:attribute> + </xs:complexType> + </xs:element> + + <xs:element name="string-append" substitutionGroup="EnvOperations"> + <xs:annotation> + <xs:documentation> + Performs string concatenation and formatting. The operation starts by applying + an argument list (if found) to the string attribute value, the result is + prepended by the prefix attribute value, and the suffix attribute value is + appended to the result. If the string specified in the field attribute exists, + the final result is appended to it, else the field is set to the final result. + </xs:documentation> + </xs:annotation> + <xs:complexType> + <xs:attribute type="xs:string" name="field" use="required"> + <xs:annotation> + <xs:documentation> + The target of the string concatention. + + Required. Attribute type: expression. + </xs:documentation> + </xs:annotation> + </xs:attribute> + <xs:attribute type="xs:string" name="string" use="required"> + <xs:annotation> + <xs:documentation> + The string to append to the field named in the field attribute. + This can be a formatting string that is used with the argument list + specified in the arg-list attribute. + + Required. Attribute types: constant, ${expression}. + </xs:documentation> + </xs:annotation> + </xs:attribute> + <xs:attribute type="xs:string" name="arg-list"> + <xs:annotation> + <xs:documentation> + The name of an argument list to be used with a formatting string. + The argument list is applied to the string attribute value. + The attribute does nothing if the argument list is not found. + See the java.text.MessageFormat class for more information. + + Optional. Attribute type: expression. + </xs:documentation> + </xs:annotation> + </xs:attribute> + <xs:attribute type="xs:string" name="prefix"> + <xs:annotation> + <xs:documentation> + A string that will be prepended to the string attribute value. + + Optional. Attribute types: constant, ${expression}. + </xs:documentation> + </xs:annotation> + </xs:attribute> + <xs:attribute type="xs:string" name="suffix"> + <xs:annotation> + <xs:documentation> + A string that will be appended to the string attribute value. + + Optional. Attribute types: constant, ${expression}. + </xs:documentation> + </xs:annotation> + </xs:attribute> + </xs:complexType> + </xs:element> + + <xs:element name="string-to-list" substitutionGroup="EnvOperations"> + <xs:annotation> + <xs:documentation> + Adds a string to a list of strings. Deprecated - use the set element. + </xs:documentation> + </xs:annotation> + <xs:complexType> + <xs:attribute type="xs:string" name="string" use="required"> + <xs:annotation> + <xs:documentation> + The string to add to the list specified in the list attribute. + + Required. Attribute types: constant, ${expression}. + </xs:documentation> + </xs:annotation> + </xs:attribute> + <xs:attribute type="xs:string" name="list" use="required"> + <xs:annotation> + <xs:documentation> + List to add the string to. If the list does not exist, one will be created. + + Required. Attribute type: expression. + </xs:documentation> + </xs:annotation> + </xs:attribute> + <xs:attribute type="xs:string" name="arg-list"> + <xs:annotation> + <xs:documentation> + The name of an argument list to be used with a formatting string. + The argument list is applied to the string attribute value. + The attribute does nothing if the argument list is not found. + See the java.text.MessageFormat class for more information. + + Optional. Attribute type: expression. + </xs:documentation> + </xs:annotation> + </xs:attribute> + <xs:attribute type="xs:string" name="message-field"> + <xs:annotation> + <xs:documentation> + Inserts a message above a field (used in conjunction with @fieldErrors FTL macro). + + Optional. Attribute type: constant. + </xs:documentation> + </xs:annotation> + </xs:attribute> + </xs:complexType> + </xs:element> + + <xs:element name="to-string" substitutionGroup="EnvOperations"> + <xs:annotation> + <xs:documentation> + Converts an object to a string. Deprecated - use the set element. + </xs:documentation> + </xs:annotation> + <xs:complexType> + <xs:attribute type="xs:string" name="field" use="required"> + <xs:annotation> + <xs:documentation> + The name of the field containing the object to convert. + The operation does nothing if the object is not found. + + Required. Attribute type: expression. + </xs:documentation> + </xs:annotation> + </xs:attribute> + <xs:attribute type="xs:string" name="format"> + <xs:annotation> + <xs:documentation> + The format to use for the conversion. + + Optional. Attribute type: constant. + </xs:documentation> + </xs:annotation> + </xs:attribute> + <xs:attribute type="xs:string" name="numeric-padding"> + <xs:annotation> + <xs:documentation> + Left-pad the string with the specified number of zeroes. + + Optional. Attribute type: constant. + </xs:documentation> + </xs:annotation> + </xs:attribute> + </xs:complexType> + </xs:element> + + <xs:element name="webapp-property-to-field" substitutionGroup="EventOperations"> + <xs:annotation> + <xs:documentation> + Copies a property value from a properties file in a ServletContext resource to a field. + Valid only when the simple-method is called as an event, it is ignored otherwise. + </xs:documentation> + </xs:annotation> + <xs:complexType> + <xs:attribute ref="field" use="required" /> + <xs:attribute type="xs:string" name="resource" use="required"> + <xs:annotation> + <xs:documentation> + The resource location of the properties file inside the webapp, + and relative to the root of the webapp (can be inside a war file). + An example of this is "/WEB-INF/myprops.properties". + + Required. Attribute types: constant, ${expression}. + </xs:documentation> + </xs:annotation> + </xs:attribute> + <xs:attribute type="xs:string" name="property" use="required"> + <xs:annotation> + <xs:documentation> + The property key. + + Required. Attribute types: constant, ${expression}. + </xs:documentation> + </xs:annotation> + </xs:attribute> + <xs:attribute type="xs:string" name="default"> + <xs:annotation> + <xs:documentation> + A default value to use if the property value is null or empty. + + Optional. Attribute types: constant, ${expression}. + </xs:documentation> + </xs:annotation> + </xs:attribute> + </xs:complexType> + </xs:element> + +<!-- + ========================================== + ===== Conditional/Looping Statements ===== + ========================================== +--> + + <xs:element name="and" substitutionGroup="IfCombineConditions"> + <xs:annotation> + <xs:documentation> + Combines conditional elements using a boolean AND. + Evaluates to true if all sub-elements evaluate to true. + </xs:documentation> + </xs:annotation> + <xs:complexType> + <xs:group maxOccurs="unbounded" ref="IfConditions"/> + </xs:complexType> + </xs:element> + + <xs:element name="break" substitutionGroup="ControlOperations"> + <xs:annotation> + <xs:documentation> + Causes script execution to exit the nearest enclosing loop element. + Throws an exception if there is no enclosing looping element. + </xs:documentation> + </xs:annotation> + </xs:element> + + <xs:element name="check-errors" substitutionGroup="ControlOperations"> + <xs:annotation> + <xs:documentation> + Halts script execution if the error message list contains any messages. + The error message list is returned to the calling process. + </xs:documentation> + </xs:annotation> + <xs:complexType> + <xs:attribute type="xs:string" name="error-code"> + <xs:annotation> + <xs:documentation> + The error code to return to the calling process. + Defaults to value of the containing simple-method default-error-code attribute. + + Optional. Attribute types: constant, ${expression}. + </xs:documentation> + </xs:annotation> + </xs:attribute> + <xs:attribute ref="error-list-name"/> + </xs:complexType> + </xs:element> + + <xs:element name="condition"> + <xs:annotation> + <xs:documentation> + Combines a group of conditional elements into a single logical (true/false) expression. + </xs:documentation> + </xs:annotation> + <xs:complexType> + <xs:group ref="IfConditions"/> + </xs:complexType> + </xs:element> + + <xs:element name="continue" substitutionGroup="ControlOperations"> + <xs:annotation> + <xs:documentation> + Causes script execution to return to the beginning of the nearest enclosing loop element. + Throws an exception if there is no enclosing looping element. + </xs:documentation> + </xs:annotation> + </xs:element> + + <xs:element name="else"> + <xs:annotation> + <xs:documentation> + Contains a block of code to be executed when a condition evaluates to false. + </xs:documentation> + </xs:annotation> + <xs:complexType> + <xs:group minOccurs="0" maxOccurs="unbounded" ref="AllOperations"/> + </xs:complexType> + </xs:element> + + <xs:element name="else-if"> + <xs:annotation> + <xs:documentation> + Contains a condition and a block of code to be evaluated/executed when a parent condition evaluates to false. + This element must contain two sub-elements: condition and then. + If the condition of the parent element evaluates to false, then this element's condition will be evaluated, + and if that condition evaluates to true, then the operations under the then element will be run. + </xs:documentation> + </xs:annotation> + <xs:complexType> + <xs:sequence> + <xs:element ref="condition" /> + <xs:element ref="then" /> + </xs:sequence> + </xs:complexType> + </xs:element> + + <xs:element name="if" substitutionGroup="IfOtherOperations"> + <xs:annotation> + <xs:documentation> + Performs conditional processing on blocks of code. + This operation specifies combinations of conditions, alternate conditions, + and operations to run based on the evaluation of condition expressions. + </xs:documentation> + </xs:annotation> + <xs:complexType> + <xs:sequence> + <xs:element ref="condition" /> + <xs:element ref="then" /> + <xs:element minOccurs="0" maxOccurs="unbounded" ref="else-if" /> + <xs:element minOccurs="0" ref="else" /> + </xs:sequence> + </xs:complexType> + </xs:element> + + <!-- FIXME: We need two versions of this element. --> + <xs:element name="if-compare" substitutionGroup="IfBasicOperations"> + <xs:annotation> + <xs:documentation> + Compares a field to a constant value. + </xs:documentation> + </xs:annotation> + <xs:complexType> + <xs:sequence> + <xs:group minOccurs="0" maxOccurs="unbounded" ref="AllOperations" /> + <xs:element minOccurs="0" ref="else" /> + </xs:sequence> + <xs:attribute type="xs:string" name="field" use="required"> + <xs:annotation> + <xs:documentation> + The name of the field that will be compared. The l-value. + + Required. Attribute type: expression. + </xs:documentation> + </xs:annotation> + </xs:attribute> + <xs:attributeGroup ref="attlist.operatorOptionalRvalue" /> + <xs:attribute type="xs:string" name="value" use="required"> + <xs:annotation> + <xs:documentation> + The value that the field will be compared to. The r-value. + + Ignored when the operator attribute equals "is-null", "is-not-null", or "is-empty" - required otherwise. Attribute type: constant+expr. + </xs:documentation> + </xs:annotation> + </xs:attribute> + <xs:attribute ref="type"> + <xs:annotation> + <xs:documentation> + The Java data type. Both values will be converted to this type before comparison. + Invalid when the operator attribute value is "contains". + + Optional. Attribute type: constant. Attribute must contain a valid Java class name. + </xs:documentation> + </xs:annotation> + </xs:attribute> + <xs:attribute type="xs:string" name="format"> + <xs:annotation> + <xs:documentation> + Format used for type conversions. Valid only when the type attribute is not empty. + + Optional. Attribute types: constant, ${expression}. + </xs:documentation> + </xs:annotation> + </xs:attribute> + </xs:complexType> + </xs:element> + + <!-- FIXME: We need two versions of this element. --> + <xs:element name="if-compare-field" substitutionGroup="IfBasicOperations"> + <xs:annotation> + <xs:documentation> + Compares a field to another field. + </xs:documentation> + </xs:annotation> + <xs:complexType> + <xs:sequence> + <xs:group minOccurs="0" maxOccurs="unbounded" ref="AllOperations" /> + <xs:element minOccurs="0" ref="else" /> + </xs:sequence> + <xs:attribute type="xs:string" name="field" use="required"> + <xs:annotation> + <xs:documentation> + The name of the field that will be compared. The l-value. + + Required. Attribute type: expression. + </xs:documentation> + </xs:annotation> + </xs:attribute> + <xs:attributeGroup ref="attlist.operatorRequired" /> + <xs:attribute type="xs:string" name="to-field" use="required"> + <xs:annotation> + <xs:documentation> + The name of the field that will be compared to the field specified in the field attribute. + The r-value. + + Required. Attribute type: expression. + </xs:documentation> + </xs:annotation> + </xs:attribute> + <xs:attribute ref="type" /> + <xs:attribute type="xs:string" name="format"> + <xs:annotation> + <xs:documentation> + Format used for type conversions. Valid only when the type attribute is not empty. + + Optional. Attribute types: constant, ${expression}. + </xs:documentation> + </xs:annotation> + </xs:attribute> + </xs:complexType> + </xs:element> + + <!-- FIXME: We need two versions of this element. --> + <xs:element name="if-empty" substitutionGroup="IfBasicOperations"> + <xs:annotation> + <xs:documentation> + Tests if a field is null or empty. + </xs:documentation> + </xs:annotation> + <xs:complexType> + <xs:sequence> + <xs:group minOccurs="0" maxOccurs="unbounded" ref="AllOperations" /> + <xs:element minOccurs="0" ref="else" /> [... 3216 lines stripped ...] |
Free forum by Nabble | Edit this page |