| <?xml version="1.0"?> |
| <!-- |
| 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. |
| --> |
| |
| <!--+ |
| | CForms aggregate sample binding. Represent values of two aggregate |
| | fields as multiple input fields. |
| | |
| | @version $Id$ |
| +--> |
| |
| <page xmlns:ft="http://apache.org/cocoon/forms/1.0#template" |
| xmlns:fi="http://apache.org/cocoon/forms/1.0#instance" |
| xmlns:jx="http://apache.org/cocoon/templates/jx/1.0"> |
| <h4 class="samplesGroup">Aggregate widget</h4> |
| <title>Aggregate Field: Split</title> |
| <content> |
| <p> |
| On this form, you can enter phone and date, each as splitted on several fields. |
| </p> |
| <ft:form-template action="${cocoon.continuation.id}.continue" method="POST"> |
| <table align="center"> |
| <tr> |
| <th style="border-bottom: solid 1px black;">Explanation</th> |
| <th style="border-bottom: solid 1px black;">Form</th> |
| <th style="border-bottom: solid 1px black;">Data Model</th> |
| </tr> |
| <tr> |
| <td> |
| <p> |
| When you click submit, following happens: |
| <ul> |
| <li>Input values are validated</li> |
| <li>Input values are aggregated into one value</li> |
| <li>Each value is validated</li> |
| <li>Each value saved into the backend data model</li> |
| </ul> |
| </p> |
| <p> |
| Switch to another aggregation example: |
| </p> |
| <ft:widget id="switch"/> |
| </td> |
| <td> |
| <fi:group> |
| <fi:styling layout="columns"/> |
| <fi:items> |
| <ft:aggregate-widget id="phone"> |
| <ft:widget id="part1"/> |
| <ft:widget id="part2"/> |
| <ft:widget id="part3"/> |
| <ft:widget id="part4"/> |
| </ft:aggregate-widget> |
| |
| <ft:aggregate-widget id="date"> |
| <ft:widget id="day"/> |
| <ft:widget id="month"/> |
| <ft:widget id="year"/> |
| </ft:aggregate-widget> |
| </fi:items> |
| </fi:group> |
| |
| <input type="submit" value="Submit"/> |
| </td> |
| <td> |
| <table cellpadding="3"> |
| <tr> |
| <td>Phone</td><th>#{phone}</th> |
| </tr> |
| <tr> |
| <td>Date</td><th>#{date}</th> |
| </tr> |
| </table> |
| </td> |
| </tr> |
| </table> |
| </ft:form-template> |
| <p> |
| <a href="../">Back to Forms samples</a> |
| </p> |
| </content> |
| </page> |