# Appendix A. Flow Definition Language 1.0 to 2.0 Mappings

The flow definition language has changed since the 1.0 release.
This is a listing of the language elements in the 1.0 release, and how they map to elements in the 2.0 release.
While most of the changes are semantic, there are a few structural changes.
Please see the upgrade guide for more details about changes between Web Flow 1.0 and 2.0.



**Table A.1. Mappings**

|      SWF 1.0       |       SWF 2.0       |                                 Comments                                 |                        |                                                                          |
|--------------------|---------------------|--------------------------------------------------------------------------|------------------------|--------------------------------------------------------------------------|
|      *action*      |        *\**         |                            use \<evaluate /\>                            |                        |                                                                          |
|                    |        bean         |                                                                          |           \*           |                                                                          |
|                    |        name         |                                                                          |           \*           |                                                                          |
|                    |       method        |                                                                          |           \*           |                                                                          |
|   *action-state*   |   *action-state*    |                                                                          |                        |                                                                          |
|                    |         id          |                                                                          |           id           |                                                                          |
|                    |         \*          |                                                                          |         parent         |                                                                          |
|     *argument*     |        *\**         |           use \<evaluate expression="func(arg1, arg2, ...)"/\>           |                        |                                                                          |
|                    |     expression      |                                                                          |                        |                                                                          |
|                    |   parameter-type    |                                                                          |                        |                                                                          |
|    *attribute*     |     *attribute*     |                                                                          |                        |                                                                          |
|                    |        name         |                                                                          |          name          |                                                                          |
|                    |        type         |                                                                          |          type          |                                                                          |
|                    |        value        |                                                                          |         value          |                                                                          |
| *attribute-mapper* |        *\**         |      input and output elements can be in flows or subflows directly      |                        |                                                                          |
|                    |        bean         |                                                                          |           \*           |         now subflow-attribute-mapper attribute on subflow-state          |
|   *bean-action*    |        *\**         |                            use \<evaluate /\>                            |                        |                                                                          |
|                    |        bean         |                                                                          |           \*           |                                                                          |
|                    |        name         |                                                                          |           \*           |                                                                          |
|                    |       method        |                                                                          |           \*           |                                                                          |
|  *decision-state*  |  *decision-state*   |                                                                          |                        |                                                                          |
|                    |         id          |                                                                          |           id           |                                                                          |
|                    |         \*          |                                                                          |         parent         |                                                                          |
|   *end-actions*    |      *on-end*       |                                                                          |                        |                                                                          |
|    *end-state*     |     *end-state*     |                                                                          |                        |                                                                          |
|                    |         id          |                                                                          |           id           |                                                                          |
|                    |        view         |                                                                          |          view          |                                                                          |
|                    |         \*          |                                                                          |         parent         |                                                                          |
|                    |         \*          |                                                                          |         commit         |                                                                          |
|  *entry-actions*   |     *on-entry*      |                                                                          |                        |                                                                          |
| *evaluate-action*  |     *evaluate*      |                                                                          |                        |                                                                          |
|                    |     expression      |                                                                          |       expression       |                                                                          |
|                    |        name         |                                                                          |           \*           |use \<evaluate ...\> \<attribute name=”name” value="..." /\> \</evaluate\>|
|                    |         \*          |                                                                          |         result         |                                                                          |
|                    |         \*          |                                                                          |      result-type       |                                                                          |
|*evaluation-result* |        *\**         |                     use \<evaluate result="..." /\>                      |                        |                                                                          |
|                    |        name         |                                                                          |           \*           |                                                                          |
|                    |        scope        |                                                                          |           \*           |                                                                          |
|*exception-handler* | *exception-handler* |                                                                          |                        |                                                                          |
|                    |        bean         |                                                                          |          bean          |                                                                          |
|   *exit-actions*   |      *on-exit*      |                                                                          |                        |                                                                          |
|       *flow*       |       *flow*        |                                                                          |                        |                                                                          |
|                    |         \*          |                                                                          |      start-state       |                                                                          |
|                    |         \*          |                                                                          |         parent         |                                                                          |
|                    |         \*          |                                                                          |        abstract        |                                                                          |
|*global-transitions*|*global-transitions* |                                                                          |                        |                                                                          |
|        *if*        |        *if*         |                                                                          |                        |                                                                          |
|                    |        test         |                                                                          |          test          |                                                                          |
|                    |        then         |                                                                          |          then          |                                                                          |
|                    |        else         |                                                                          |          else          |                                                                          |
|      *import*      |    *bean-import*    |                                                                          |                        |                                                                          |
|                    |      resource       |                                                                          |        resource        |                                                                          |
|   *inline-flow*    |        *\**         |                      convert to new top-level flow                       |                        |                                                                          |
|                    |         id          |                                                                          |           \*           |                                                                          |
| *input-attribute*  |       *input*       |                                                                          |                        |                                                                          |
|                    |        name         |                                                                          |          name          |                                                                          |
|                    |        scope        |                                                                          |           \*           |         prefix name with scope \<input name="flowScope.foo" /\>          |
|                    |      required       |                                                                          |        required        |                                                                          |
|                    |         \*          |                                                                          |          type          |                                                                          |
|                    |         \*          |                                                                          |         value          |                                                                          |
|   *input-mapper*   |        *\**         |               inputs can be in flows and subflows directly               |                        |                                                                          |
|     *mapping*      |  *input or output*  |                                                                          |                        |                                                                          |
|                    |       source        |                                                                          |     name or value      |      name when in flow element, value when in subflow-state element      |
|                    |       target        |                                                                          |     name or value      |      value when in flow element, name when in subflow-state element      |
|                    |  target-collection  |                                                                          |           \*           |                           no longer supported                            |
|                    |        from         |                                                                          |           \*           |                          detected automatically                          |
|                    |         to          |                                                                          |          type          |                                                                          |
|                    |      required       |                                                                          |        required        |                                                                          |
| *method-argument*  |        *\**         |           use \<evaluate expression="func(arg1, arg2, ...)"/\>           |                        |                                                                          |
|  *method-result*   |        *\**         |                     use \<evaluate result="..." /\>                      |                        |                                                                          |
|                    |        name         |                                                                          |           \*           |                                                                          |
|                    |        scope        |                                                                          |           \*           |                                                                          |
| *output-attribute* |      *output*       |                                                                          |                        |                                                                          |
|                    |        name         |                                                                          |          name          |                                                                          |
|                    |        scope        |                                                                          |           \*           |         prefix name with scope \<output name="flowScope.foo" /\>         |
|                    |      required       |                                                                          |        required        |                                                                          |
|                    |         \*          |                                                                          |          type          |                                                                          |
|                    |         \*          |                                                                          |         value          |                                                                          |
|  *output-mapper*   |        *\**         |               output can be in flows and subflows directly               |                        |                                                                          |
|  *render-actions*  |     *on-render*     |                                                                          |                        |                                                                          |
|       *set*        |        *set*        |                                                                          |                        |                                                                          |
|                    |      attribute      |                                                                          |          name          |                                                                          |
|                    |        scope        |                                                                          |           \*           |          prefix name with scope \<set name="flowScope.foo" /\>           |
|                    |        value        |                                                                          |         value          |                                                                          |
|                    |        name         |                                                                          |           \*           |     use \<set ...\> \<attribute name=”name” value="..." /\> \</set\>     |
|                    |         \*          |                                                                          |          type          |                                                                          |
|  *start-actions*   |     *on-start*      |                                                                          |                        |                                                                          |
|   *start-state*    |        *\**         |now \<flow start-state="..."\>, or defaults to the first state in the flow|                        |                                                                          |
|                    |        idref        |                                                                          |           \*           |                                                                          |
|  *subflow-state*   |   *subflow-state*   |                                                                          |                        |                                                                          |
|                    |         id          |                                                                          |           id           |                                                                          |
|                    |        flow         |                                                                          |        subflow         |                                                                          |
|                    |         \*          |                                                                          |         parent         |                                                                          |
|                    |         \*          |                                                                          |subflow-attribute-mapper|                                                                          |
|    *transition*    |    *transition*     |                                                                          |                        |                                                                          |
|                    |         on          |                                                                          |           on           |                                                                          |
|                    |    on-exception     |                                                                          |      on-exception      |                                                                          |
|                    |         to          |                                                                          |           to           |                                                                          |
|                    |         \*          |                                                                          |          bind          |                                                                          |
|                    |         \*          |                                                                          |        validate        |                                                                          |
|                    |         \*          |                                                                          |        history         |                                                                          |
|      *value*       |       *value*       |                                                                          |                        |                                                                          |
|       *var*        |        *var*        |                                                                          |                        |                                                                          |
|                    |        name         |                                                                          |          name          |                                                                          |
|                    |        class        |                                                                          |         class          |                                                                          |
|                    |        scope        |                                                                          |           \*           |                            always flow scope                             |
|                    |        bean         |                                                                          |           \*           |                 all Spring beans can be resolved with EL                 |
|    *view-state*    |    *view-state*     |                                                                          |                        |                                                                          |
|                    |         id          |                                                                          |           id           |                                                                          |
|                    |        view         |                                                                          |          view          |                                                                          |
|                    |         \*          |                                                                          |         parent         |                                                                          |
|                    |         \*          |                                                                          |        redirect        |                                                                          |
|                    |         \*          |                                                                          |         popup          |                                                                          |
|                    |         \*          |                                                                          |         model          |                                                                          |
|                    |         \*          |                                                                          |        history         |                                                                          |
|        *\**        |*persistence-context*|                                                                          |                        |                                                                          |
|        *\**        |      *render*       |                                                                          |                        |                                                                          |
|                    |         \*          |                                                                          |       fragments        |                                                                          |
|        *\**        |      *secured*      |                                                                          |                        |                                                                          |
|                    |         \*          |                                                                          |       attributes       |                                                                          |
|                    |         \*          |                                                                          |         match          |                                                                          |
