1 <?xml version="1.0" encoding="iso-8859-1"?> 2 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML Basic 1.0//EN" 3 "http://www.w3.org/TR/xhtml-basic/xhtml-basic10.dtd"> 4 <html xmlns="http://www.w3.org/1999/xhtml" 5 xmlns:template="http://www.boddie.org.uk/ns/xmltools/template"> 6 <head> 7 <title>Questionnaire Editor</title> 8 <link xmlns:xlink="http://www.w3.org/1999/xlink" href="styles/styles.css" 9 rel="stylesheet" type="text/css" /> 10 </head> 11 12 <body template:element="questionnaire"> 13 <h1>Questionnaire Editor</h1> 14 15 <form method="POST" action="" enctype="multipart/form-data"> 16 17 <p> 18 Either import a previously generated XML file: 19 <input type="file" name="importfile" /> 20 <input type="submit" value="Import" name="import" /> 21 </p> 22 23 <div class="questionnaire"> 24 25 <p>Or enter questions and possible responses below.</p> 26 27 <table class="questionnaire"> 28 <tbody template:element="question" template:init="no"> 29 <tr> 30 <th class="question"> 31 Question #<span template:value="count(preceding-sibling::question) + 1">n</span><br/> 32 <span class="control"> 33 <input type="submit" value="Move to..." name="..." template:selector-field="move-question" /> 34 <select template:attribute-field="destination"> 35 <option template:select="../question" template:value="position()" value="{position()}"></option> 36 </select> 37 </span> 38 </th> 39 <td class="question"> 40 <textarea cols="40" rows="4" template:attribute-area="question-text,insert" 41 name="...">Question</textarea> 42 </td> 43 <td class="question-options"> 44 <input type="submit" value="Remove question" name="..." template:selector-field="remove-question" /> 45 </td> 46 </tr> 47 <tr> 48 <th class="response">Response</th> 49 <td class="response"> 50 <input type="checkbox" template:attribute-button="choice-response,multiple,checked" 51 name="..." value="choice" /> Allow multiple choices... 52 </td> 53 <td class="response"> 54 <input type="submit" value="Add choice" name="..." template:selector-field="add-choice,choice" /> 55 </td> 56 </tr> 57 <tr template:element="choice" template:init="no"> 58 <td class="choice"> 59 <select template:multiple-choice-field="response-type,value" name="..."> 60 <option template:multiple-choice-value="response-type-enum,value,selected,text()"></option> 61 </select> 62 </td> 63 <td class="choice"> 64 <input type="text" size="40" template:attribute-field="response-choice" 65 name="..." value="..." /> 66 </td> 67 <td class="choice-options"> 68 <input type="submit" value="Remove choice" name="..." template:selector-field="remove-choice" /> 69 </td> 70 </tr> 71 </tbody> 72 </table> 73 74 </div> 75 76 <!-- Repeat the questionnaire in preview mode. --> 77 78 <div class="preview"> 79 80 <p>The preview of your questionnaire is shown here:</p> 81 82 <div class="shadow"> 83 84 <table class="preview"> 85 <tbody template:element="question" template:output="true" template:init="no"> 86 <tr> 87 <th class="question">Question #<span template:value="count(preceding-sibling::question) + 1">n</span></th> 88 <td class="question"> 89 <span template:value="@question-text">Question</span> 90 </td> 91 </tr> 92 <tr> 93 <th class="response">Response</th> 94 <td class="response"> 95 <div template:element="choice" template:init="no"> 96 <p template:if="@response-choice != '' or not(response-type/@value = 'text')" xml:space="preserve"> 97 <input template:if="not(response-type/@value = 'text')" 98 type="{template:choice(../@choice-response = 'multiple', 'checkbox', 'radio')}" 99 name="_unused" value="..." /> 100 <span template:value="@response-choice">Choice</span> 101 </p> 102 <p template:if="response-type/@value and not(response-type/@value = 'choice')"> 103 <input type="text" size="40" name="_unused" /> 104 </p> 105 </div> 106 </td> 107 </tr> 108 </tbody> 109 </table> 110 111 </div> 112 113 </div> 114 115 <div class="operations"> 116 117 <p> 118 <input type="submit" value="Add question" name="add-question" /> to make 119 the questionnaire longer. 120 </p> 121 122 <p> 123 <input type="submit" value="Update" name="update" /> to refresh the preview. 124 </p> 125 126 <p> 127 <input type="submit" value="Export" name="export" /> to produce an XML file 128 containing the questions and responses. 129 </p> 130 131 <p> 132 <input type="submit" value="Finish" name="finish" /> when all the questions 133 and responses are ready. 134 </p> 135 136 </div> 137 138 </form> 139 140 </body> 141 </html>