paulb@106 | 1 | <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> |
paulb@106 | 2 | <html xmlns="http://www.w3.org/1999/xhtml"> |
paulb@106 | 3 | <head> |
paulb@106 | 4 | <meta content="text/html;charset=ISO-8859-1" http-equiv="Content-Type" /> |
paulb@106 | 5 | <title>Creating Applications: An Overview</title> |
paulb@106 | 6 | <meta name="generator" |
paulb@106 | 7 | content="amaya 8.1a, see http://www.w3.org/Amaya/" /> |
paulb@106 | 8 | <link href="styles.css" rel="stylesheet" type="text/css" /> |
paulb@106 | 9 | </head> |
paulb@106 | 10 | <body> |
paulb@106 | 11 | <h1>Creating Applications: An Overview</h1> |
paulb@106 | 12 | <p>The following steps briefly describe how to make a new application:<br /> |
paulb@106 | 13 | </p> |
paulb@106 | 14 | <ol> |
paulb@106 | 15 | <li>Design a template, adding forms and fields. In the beginning, it |
paulb@106 | 16 | is not that important to use the correct names in each of the fields - |
paulb@106 | 17 | these will be added later.</li> |
paulb@106 | 18 | <li>Add structural template attributes such as template:element, |
paulb@106 | 19 | template:attribute and template:value so that the fields sit in |
paulb@106 | 20 | different parts of the input document format being modelled. Replace |
paulb@106 | 21 | the field names with special functions such as template:field-name(). |
paulb@106 | 22 | For buttons which add and remove parts of the input document, employ |
paulb@106 | 23 | selector notation and the template:this-position() function.</li> |
paulb@106 | 24 | <li>Where multiple choice fields are employed, input documents must |
paulb@106 | 25 | be transformed so that the multiple choice options are included in the |
paulb@106 | 26 | output. This can be achieved using documents containing the different |
paulb@106 | 27 | option values and transformations which insert those values into the |
paulb@106 | 28 | input document.</li> |
paulb@106 | 29 | <li>To produce the output document, the template needs preparing |
paulb@106 | 30 | first so that an output stylesheet is produced; then, the output |
paulb@106 | 31 | stylesheet is applied to the processed input document utilising various |
paulb@106 | 32 | extension functions which produce the computed field names in the final |
paulb@106 | 33 | output document.</li> |
paulb@106 | 34 | </ol> |
paulb@106 | 35 | <h2>Recommendations</h2> |
paulb@106 | 36 | <ol> |
paulb@106 | 37 | <li>Where multiple fields exist and can be added and removed, put |
paulb@106 | 38 | them inside a separate element so that the selectors can successfully |
paulb@106 | 39 | identify them. Otherwise, changing element orders can result in the |
paulb@106 | 40 | wrong element being selected.</li> |
paulb@106 | 41 | <li>Make sure that transformations on the input document produce all |
paulb@106 | 42 | the necessary elements for the output document so that the resulting |
paulb@106 | 43 | page gives the user the opportunity to specify data that is missing.</li> |
paulb@106 | 44 | </ol> |
paulb@106 | 45 | </body> |
paulb@106 | 46 | </html> |