paulb@30 | 1 | <?xml version="1.0" encoding="iso-8859-1"?> |
paulb@30 | 2 | <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" |
paulb@30 | 3 | "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd"> |
paulb@30 | 4 | <html xmlns="http://www.w3.org/1999/xhtml" |
paulb@30 | 5 | xmlns:template="http://www.boddie.org.uk/ns/xmltools/template"> |
paulb@30 | 6 | <head> |
paulb@30 | 7 | <title>System Configurator</title> |
paulb@30 | 8 | <meta name="generator" content="amaya 8.1a, see http://www.w3.org/Amaya/" /> |
paulb@43 | 9 | <link xmlns:xlink="http://www.w3.org/1999/xlink" href="styles/styles.css" rel="stylesheet" type="text/css" /> |
paulb@43 | 10 | <script type="text/javascript" src="scripts/sarissa.js"> </script> |
paulb@43 | 11 | <script type="text/javascript" src="scripts/XSLForms.js"> </script> |
paulb@30 | 12 | </head> |
paulb@30 | 13 | |
paulb@30 | 14 | <body> |
paulb@30 | 15 | <h1>System Configurator</h1> |
paulb@30 | 16 | |
paulb@30 | 17 | <form method="post" action="" template:element="configuration"> |
paulb@30 | 18 | <div id="left"> |
paulb@30 | 19 | <div template:element="details" class="details"> |
paulb@158 | 20 | <h2>Base System</h2> |
paulb@30 | 21 | |
paulb@158 | 22 | <p template:element="base-system">Model |
paulb@158 | 23 | <select template:attribute="value" name="{template:this-attribute()}" onchange="requestUpdate('{$application-url}cpu', '{template:this-attribute()}', '{template:other-elements(../cpu)}', '{template:other-attributes('value', ../cpu)}', '/configuration/details/cpu'); requestUpdate('{$application-url}memory', '{template:this-attribute()}', '{template:other-elements(../../memory)}', '{template:other-attributes('value', ../../memory/memory-unit)}', '/configuration/memory'); requestUpdate('{$application-url}hard-disks', '{template:this-attribute()}', '{template:other-elements(../../hard-disks)}', '{template:other-attributes('value', ../../hard-disks/hard-disk)}', '/configuration/hard-disks')"> |
paulb@158 | 24 | <option template:element="base-system-enum" template:expr="@value-is-set" template:expr-attr="selected" template:value="@value" |
paulb@158 | 25 | value="{@value}"></option> |
paulb@158 | 26 | </select> |
paulb@158 | 27 | </p> |
paulb@30 | 28 | |
paulb@158 | 29 | <h2>Processor</h2> |
paulb@30 | 30 | |
paulb@158 | 31 | <p template:element="cpu" template:id="cpu-node" id="{template:this-element()}">CPU |
paulb@158 | 32 | <select template:attribute="value" name="{template:this-attribute()}"> |
paulb@158 | 33 | <option template:element="cpu-enum" template:expr="@value-is-set" template:expr-attr="selected" template:value="@value" |
paulb@158 | 34 | value="{@value}"></option> |
paulb@158 | 35 | </select> |
paulb@158 | 36 | </p> |
paulb@30 | 37 | </div> |
paulb@30 | 38 | |
paulb@158 | 39 | <div class="memory" template:element="memory"> |
paulb@158 | 40 | <h2>Memory</h2> |
paulb@30 | 41 | |
paulb@158 | 42 | <div template:id="memory-node" id="{template:this-element()}"> |
paulb@158 | 43 | <p template:element="memory-unit">Memory unit |
paulb@158 | 44 | <select template:attribute="value" name="{template:this-attribute()}"> |
paulb@158 | 45 | <option template:element="memory-unit-enum" template:expr="@value-is-set" template:expr-attr="selected" template:value="@value" |
paulb@158 | 46 | value="{@value}"></option> |
paulb@158 | 47 | </select> |
paulb@30 | 48 | |
paulb@158 | 49 | <input type="submit" value="Remove" |
paulb@158 | 50 | name="remove-memory-unit={template:this-element()}" /> |
paulb@158 | 51 | </p> |
paulb@30 | 52 | |
paulb@158 | 53 | <p> |
paulb@158 | 54 | <input type="submit" value="Add memory" |
paulb@158 | 55 | name="add-memory-unit={template:this-element()}" /> |
paulb@158 | 56 | </p> |
paulb@64 | 57 | </div> |
paulb@30 | 58 | </div> |
paulb@30 | 59 | </div> |
paulb@30 | 60 | <div id="right"> |
paulb@158 | 61 | <div class="hard-disks" template:element="hard-disks"> |
paulb@158 | 62 | <h2>Hard Disks</h2> |
paulb@30 | 63 | |
paulb@158 | 64 | <div template:id="hard-disks-node" id="{template:this-element()}"> |
paulb@158 | 65 | <p template:element="hard-disk">Hard disk drive |
paulb@158 | 66 | <select template:attribute="value" name="{template:this-attribute()}"> |
paulb@158 | 67 | <option template:element="hard-disk-enum" template:expr="@value-is-set" template:expr-attr="selected" template:value="@value" |
paulb@158 | 68 | value="{@value}"></option> |
paulb@158 | 69 | </select> |
paulb@30 | 70 | |
paulb@158 | 71 | <input type="submit" value="Remove" |
paulb@158 | 72 | name="remove-hard-disk={template:this-element()}" /> |
paulb@158 | 73 | </p> |
paulb@30 | 74 | |
paulb@158 | 75 | <p> |
paulb@158 | 76 | <input type="submit" value="Add hard disk" |
paulb@158 | 77 | name="add-hard-disk={template:this-element()}" /> |
paulb@158 | 78 | </p> |
paulb@64 | 79 | </div> |
paulb@30 | 80 | </div> |
paulb@30 | 81 | |
paulb@30 | 82 | <div template:element="storage" class="storage"> |
paulb@158 | 83 | <h2>Additional Storage</h2> |
paulb@30 | 84 | |
paulb@158 | 85 | <p template:element="storage-unit">Storage unit |
paulb@158 | 86 | <select template:attribute="value" name="{template:this-attribute()}"> |
paulb@158 | 87 | <option template:element="storage-unit-enum" template:expr="@value-is-set" template:expr-attr="selected" template:value="@value" |
paulb@158 | 88 | value="{@value}"></option> |
paulb@158 | 89 | </select> |
paulb@30 | 90 | |
paulb@158 | 91 | <input type="submit" value="Remove" |
paulb@158 | 92 | name="remove-storage-unit={template:this-element()}" /> |
paulb@158 | 93 | </p> |
paulb@30 | 94 | |
paulb@158 | 95 | <p> |
paulb@158 | 96 | <input type="submit" value="Add storage" |
paulb@158 | 97 | name="add-storage-unit={template:this-element()}" /></p> |
paulb@30 | 98 | </div> |
paulb@30 | 99 | </div> |
paulb@30 | 100 | <div id="bottom"> |
paulb@30 | 101 | <div template:element="peripherals" class="peripherals"> |
paulb@158 | 102 | <h2>Input Devices</h2> |
paulb@30 | 103 | |
paulb@158 | 104 | <p template:element="keyboard">Keyboard |
paulb@158 | 105 | <select template:attribute="value" name="{template:this-attribute()}"> |
paulb@158 | 106 | <option template:element="keyboard-enum" template:expr="@value-is-set" template:expr-attr="selected" template:value="@value" |
paulb@158 | 107 | value="{@value}"></option> |
paulb@158 | 108 | </select> |
paulb@158 | 109 | </p> |
paulb@30 | 110 | |
paulb@158 | 111 | <p template:element="mouse">Mouse |
paulb@158 | 112 | <select template:attribute="value" name="{template:this-attribute()}"> |
paulb@158 | 113 | <option template:element="mouse-enum" template:expr="@value-is-set" template:expr-attr="selected" template:value="@value" |
paulb@158 | 114 | value="{@value}"></option> |
paulb@158 | 115 | </select> |
paulb@158 | 116 | </p> |
paulb@30 | 117 | |
paulb@158 | 118 | <h2>Display</h2> |
paulb@30 | 119 | |
paulb@158 | 120 | <p template:element="screen">Screen |
paulb@158 | 121 | <select template:attribute="value" name="{template:this-attribute()}"> |
paulb@158 | 122 | <option template:element="screen-enum" template:expr="@value-is-set" template:expr-attr="selected" template:value="@value" |
paulb@158 | 123 | value="{@value}"></option> |
paulb@158 | 124 | </select> |
paulb@158 | 125 | </p> |
paulb@30 | 126 | </div> |
paulb@30 | 127 | |
paulb@30 | 128 | <div class="price"> |
paulb@158 | 129 | <h2>Price</h2> |
paulb@30 | 130 | |
paulb@158 | 131 | <p>Total for this configuration: |
paulb@158 | 132 | <span template:value="sum(/configuration//*[@value-is-set]/@price)"></span></p> |
paulb@30 | 133 | |
paulb@158 | 134 | <p> |
paulb@158 | 135 | <input type="submit" value="Update!" name="update" /> |
paulb@158 | 136 | <input type="submit" value="Export!" name="export" /></p> |
paulb@30 | 137 | </div> |
paulb@30 | 138 | </div> |
paulb@30 | 139 | </form> |
paulb@30 | 140 | </body> |
paulb@30 | 141 | </html> |