From 1418d4ef915032a515cf0d0dbcd278e776251fc7 Mon Sep 17 00:00:00 2001 From: Rossen Stoyanchev Date: Tue, 23 Oct 2012 19:22:37 -0400 Subject: [PATCH] Add 2.4 schemas --- .../faces/config/spring-faces-2.4.xsd | 97 + .../config/spring-webflow-config-2.4.xsd | 490 +++++ .../model/builder/xml/spring-webflow-2.4.xsd | 1584 +++++++++++++++++ 3 files changed, 2171 insertions(+) create mode 100644 spring-faces/src/main/java/org/springframework/faces/config/spring-faces-2.4.xsd create mode 100644 spring-webflow/src/main/java/org/springframework/webflow/config/spring-webflow-config-2.4.xsd create mode 100644 spring-webflow/src/main/java/org/springframework/webflow/engine/model/builder/xml/spring-webflow-2.4.xsd diff --git a/spring-faces/src/main/java/org/springframework/faces/config/spring-faces-2.4.xsd b/spring-faces/src/main/java/org/springframework/faces/config/spring-faces-2.4.xsd new file mode 100644 index 00000000..24fde4b9 --- /dev/null +++ b/spring-faces/src/main/java/org/springframework/faces/config/spring-faces-2.4.xsd @@ -0,0 +1,97 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/spring-webflow/src/main/java/org/springframework/webflow/config/spring-webflow-config-2.4.xsd b/spring-webflow/src/main/java/org/springframework/webflow/config/spring-webflow-config-2.4.xsd new file mode 100644 index 00000000..04fb8040 --- /dev/null +++ b/spring-webflow/src/main/java/org/springframework/webflow/config/spring-webflow-config-2.4.xsd @@ -0,0 +1,490 @@ + + + + + + +A XML-based DSL for configuring the Spring Web Flow 2.0 system. +]]> + + + + + + + + + + +Each flow definition registered in this registry is assigned a unique identifier. By default, +this identifier is the name of the externalized resource minus its file extension. For example, +a registry containing flow definitions built from the files "orderitem-flow.xml" and "shipping-flow.xml" +would index those definitions by "orderitem-flow" and "shipping-flow" by default. +]]> + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/spring-webflow/src/main/java/org/springframework/webflow/engine/model/builder/xml/spring-webflow-2.4.xsd b/spring-webflow/src/main/java/org/springframework/webflow/engine/model/builder/xml/spring-webflow-2.4.xsd new file mode 100644 index 00000000..1d9d7163 --- /dev/null +++ b/spring-webflow/src/main/java/org/springframework/webflow/engine/model/builder/xml/spring-webflow-2.4.xsd @@ -0,0 +1,1584 @@ + + + + + + +This schema defines Spring Web Flow's XML-based flow definition language. +
+The root "flow" element in this document defines exactly one flow definition. +A flow definition is a blueprint for a carrying out a conversation with a single user. +
+A flow is composed of one or more states that form the steps of the flow. +Each state executes a behavior when entered. What behavior is executed is a +function of the state's type. Core state types include view states, +action states, subflow states, decision states, and end states. +
+A flow definition has exactly one start state. +Events that occur within states drive state transitions. +]]> +
+
+ + + + + + + + +A flow may also exhibit the following characteristics: +
    +
  • Be annotated with attributes that define descriptive properties that may affect flow execution. +(See the <attribute/> element) + +
  • Be secured +(See the <secured/> element) + +
  • Be a persistence context for managing persistent objects during the course of flow execution. +(See the <persistence-context/> element) + +
  • Instantiate a set of instance variables when started. +(See the <var/> element) + +
  • Map input provided by callers that start it +(See the <input/> element) + +
  • Return output to callers that end it. +(See the <output/> element) + +
  • Execute actions at start time and end time. +(See the <on-start/> and <on-end/> elements) + +
  • Define transitions shared by all states. +(See the <global-transitions/> element) + +
  • Handle exceptions thrown by during flow execution. +(See the <exception-handler/> element) + +
  • Import one or more local bean definition files defining custom flow artifacts +(such as actions, exception handlers, view factories, transition criteria, etc). +(See the <bean-import/> element) +
+]]> +
+
+ + + + + + + + + + + + + + + + + + + + +The persistence context can be referenced from within this flow by the "entityManager" variable. +]]> + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + . +If inheriting from a state defined in another flow, the flowId prefix is required. +If inheriting from a state defined in this flow, the flowId should not be specified. +For example,
<action-state id="state" parent="myParentFlow#myParentState">
or
<action-state id="state" parent="#myLocalParentState">
+]]> +
+
+
+
+
+ + + + +Once paused, a view-state may be 'refreshed' by the user. +A refresh causes the response to be reissued and then returns control back to the user. +
+A view state may be configured with one or more render-actions using the 'on-render' element. +Render actions are executed immediately before the view is rendered. +
+A view state is a transitionable state. +A view state transition is triggered by a user event. +]]> +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + . +If inheriting from a state defined in another flow, the flowId prefix is required. +If inheriting from a state defined in this flow, the flowId should not be specified. +For example,
<view-state id="state" parent="myParentFlow#myParentState">
or
<view-state id="state" parent="#myLocalParentState">
+]]> +
+
+
+ + + + + priceForm.jsp + +Can also be an evaluatable expression: +
+	${flowScope.myViewExpression}
+
+The externalRedirect: prefix may be used to redirect to an external location, typically to interface with an external system or controller. +External redirect query parameters may be specified using ${expressions} that evaluate against the request context. +The supported formats for an encoded externalRedirect expression are: +
+	externalRedirect:
+	externalRedirect:contextRelative:
+	externalRedirect:serverRelative:
+	externalRedirect:
+
+For example: +
+	externalRedirect:/hotels/index
+	externalRedirect:http://someOtherSystem?orderId=${order.id}&callbackUrl=${flowExecutionUrl}
+
+The flowRedirect: prefix may be used to redirect to another flow: +
+	flowRedirect:myOtherFlow?someData=${flowScope.data}
+
+For exotic usages, you may plug in a custom ViewFactory bean you define: +
+	${myCustomViewFactory}
+
+When this attribute is not specified, the view to render will be determined by convention. +The default convention is to treat the id of this view state as the view identifier. +]]> +
+
+
+ + + + + + + + + + + + + + + + + + + + + +
+
+ + + + +A decision state is a transitionable state. +A decision state transition can be triggered by evaluating a boolean expression against the flow execution request context. +To define transition expressions, use the 'if' element. +
+Examples: +
+A simple boolean expression test, using the convenient 'if' element: +
+    <decision-state id="requiresShipping">
+	    <if test="sale.requiresShipping" then="enterShippingDetails" else="processSale"/>
+    </decision-state>
+
+]]> +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +The form is: +
+	<if test="criteriaExpression" then="trueStateId" else="falseStateId"/>
+
+]]> +
+
+ + + + + + <if test="sale.requiresShipping" then="enterShippingDetails"/> + +]]> + + + + + + + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + + + +
+ + + + + + + + + + + . +If inheriting from a state defined in another flow, the flowId prefix is required. +If inheriting from a state defined in this flow, the flowId should not be specified. +For example,
<decision-state id="state" parent="myParentFlow#myParentState">
or
<decision-state id="state" parent="#myLocalParentState">
+]]> +
+
+
+
+
+ + + + +A subflow state is a transitionable state. +A transition is triggered by the subflow outcome that was reached. +]]> + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + . +If inheriting from a state defined in another flow, the flowId prefix is required. +If inheriting from a state defined in this flow, the flowId should not be specified. +For example,
<subflow-state id="state" parent="myParentFlow#myParentState">
or
<subflow-state id="state" parent="#myLocalParentState">
+]]> +
+
+
+ + + + + + + + + + + + + + +
+
+ + + + +An end state is not transitionable; there are never transitions out of an end state. +When an end-state is entered, an instance of this flow is terminated. +
+When this flow terminates, if it was the "root" flow the entire execution is terminated. +If this flow was a subflow, its parent flow resumes. +]]> +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + . +If inheriting from a state defined in another flow, the flowId prefix is required. +If inheriting from a state defined in this flow, the flowId should not be specified. +For example,
<end-state id="state" parent="myParentFlow#myParentState">
or
<end-state id="state" parent="#myLocalParentState">
+]]> +
+
+
+ + + + + priceForm.jsp + +It can also be an evaluatable expression: +
+	${flowScope.myViewExpression}
+
+The externalRedirect: prefix may be used to request a redirect to an external location, typically to interface with an external system or controller. +External redirect query parameters may be specified using ${expressions} that evaluate against the request context. +The supported formats for an encoded externalRedirect expression are: +
+	externalRedirect:
+	externalRedirect:contextRelative:
+	externalRedirect:serverRelative:
+	externalRedirect:
+
+For example: +
+	externalRedirect:/hotels/index
+	externalRedirect:http://someOtherSystem?orderId=${order.id}
+
+The flowRedirect: prefix may be used to redirect to another flow: +
+	flowRedirect:myOtherFlow?someData=${flowScope.data}
+
+For exotic usages, you may plug in a custom ViewFactory bean you define: +
+	${myCustomViewFactory}
+
+
+When this attribute is not specified, no final response will be issued. +In this case, the caller is expected to handle this flow outcome. +]]> +
+
+
+ + + + + + + +
+
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +For example: +
+    <bean-import resource="orderitem-flow-beans.xml"/>
+
+... would look for 'orderitem-flow-beans.xml' in the same directory as this document. +]]> +
+
+
+
+
+
+ + + + + + + + + + + + + + + + + + + + + +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +Note: Cannot be used in conjunction with an exception based transition. +]]> + + + + + + + + + + <transition on="submit" to="state"/> + +... which reads "on the occurrence of the 'submit' event, transition to 'state'" +
+Sophisticated transitional expressions are also supported when enclosed in a delimited expression: +
+	<transition on="${currentEvent.id == 'submit' &;amp;& flowScope.attribute == 'foo'}" to="state"/>
+
+]]> +
+
+
+ + + + +The value of this attribute must be a fully-qualified java.lang.Exception class name (e.g. example.booking.ItineraryExpiredException). +Superclasses of the configured exception class match by default. Use this attribute or the 'on' attribute, not both. +
+Note: Cannot be used in conjunction with a secured element. +]]> +
+
+
+ + + + +The value of this attribute may be a static state identifier (e.g. to="displayForm") or a dynamic expression (e.g. to="${flowScope.previousViewState}"). +If no value is specified, this transition acts as a simple event handler and will not change the state of the flow. +]]> + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +Note: This element configures a meta-attribute. +For the attribute to be enforced, the flow execution must be observed by a SecurityFlowExecutionListener. +]]> + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
\ No newline at end of file