# HG changeset patch # User paulb # Date 1104372105 0 # Node ID 7fa3ac033da8ca60da5d94d0c29004035820777f # Parent 94cb11486c5a0075eb56a1571818cf7d0c2f66fc [project @ 2004-12-30 02:01:45 by paulb] Added some instructions on creating new applications. diff -r 94cb11486c5a -r 7fa3ac033da8 README.txt --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/README.txt Thu Dec 30 02:01:45 2004 +0000 @@ -0,0 +1,35 @@ +Steps for making a new application: + + 1. Design a template, adding forms and fields. In the beginning, it is not + that important to use the correct names in each of the fields - these + will be added later. + + 2. Add structural template attributes such as template:element, + template:attribute and template:value so that the fields sit in + different parts of the input document format being modelled. Replace + the field names with special functions such as template:field-name(). + For buttons which add and remove parts of the input document, employ + selector notation and the template:this-position() function. + + 3. Where multiple choice fields are employed, input documents must be + transformed so that the multiple choice options are included in the + output. This can be achieved using documents containing the different + option values and transformations which insert those values into the + input document. + + 4. To produce the output document, the template needs preparing first so + that an output stylesheet is produced; then, the output stylesheet is + applied to the processed input document utilising various extension + functions which produce the computed field names in the final output + document. + +Recommendations: + + * Where multiple fields exist and can be added and removed, put them + inside a separate element so that the selectors can successfully + identify them. Otherwise, changing element orders can result in the + wrong element being selected. + + * Make sure that transformations on the input document produce all the + necessary elements for the output document so that the resulting page + gives the user the opportunity to specify data that is missing.