annotate xml/test-schema.xsd @ 2336:1111763a695a

Merge branch 'master' of https://github.com/BrechtDeMan/WebAudioEvaluationTool
author www-data <www-data@sucuk.dcs.qmul.ac.uk>
date Tue, 10 May 2016 17:21:03 +0100
parents f1e67258f0b8
children fbc22422d73d
rev   line source
nicholas@2224 1 <?xml version="1.0"?>
nicholas@2224 2 <xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema">
nicholas@2224 3 <!-- define simple elements-->
nicholas@2224 4 <xs:element name="statement" type="xs:string" />
nicholas@2224 5 <xs:element name="metricenable" type="xs:string" />
nicholas@2224 6 <xs:element name="title" type="xs:string" />
nicholas@2224 7
nicholas@2224 8 <!-- define simple attributes-->
nicholas@2224 9 <xs:attribute name="id" type="xs:ID" />
nicholas@2224 10 <xs:attribute name="mandatory" type="xs:boolean" />
nicholas@2224 11 <xs:attribute name="name" type="xs:string" />
nicholas@2224 12 <xs:attribute name="poolSize" type="xs:nonNegativeInteger" default="0" />
nicholas@2224 13 <xs:attribute name="alwaysInclude" type="xs:boolean" default="false" />
nicholas@2224 14
nicholas@2224 15 <xs:attribute name="preSilence">
nicholas@2224 16 <xs:simpleType>
nicholas@2224 17 <xs:restriction base="xs:decimal">
nicholas@2224 18 <xs:minInclusive value="0.0" />
nicholas@2224 19 </xs:restriction>
nicholas@2224 20 </xs:simpleType>
nicholas@2224 21 </xs:attribute>
nicholas@2224 22 <xs:attribute name="postSilence">
nicholas@2224 23 <xs:simpleType>
nicholas@2224 24 <xs:restriction base="xs:decimal">
nicholas@2224 25 <xs:minInclusive value="0.0" />
nicholas@2224 26 </xs:restriction>
nicholas@2224 27 </xs:simpleType>
nicholas@2224 28 </xs:attribute>
nicholas@2224 29
nicholas@2224 30 <!-- define complex elements-->
nicholas@2224 31 <xs:element name="waet">
nicholas@2224 32 <xs:complexType>
nicholas@2224 33 <xs:sequence>
nicholas@2224 34 <xs:element ref="setup" minOccurs="1" maxOccurs="1" />
nicholas@2224 35 <xs:element ref="page" minOccurs="1" maxOccurs="unbounded" />
nicholas@2224 36 </xs:sequence>
nicholas@2224 37 </xs:complexType>
nicholas@2224 38 </xs:element>
nicholas@2224 39
nicholas@2224 40 <xs:element name="setup">
nicholas@2224 41 <xs:complexType>
nicholas@2224 42 <xs:sequence>
nicholas@2224 43 <xs:element name="exitText" type="xs:string" minOccurs="0" maxOccurs="1" />
nicholas@2224 44 <xs:element ref="survey" minOccurs="0" maxOccurs="2" />
nicholas@2224 45 <xs:element ref="metric" maxOccurs="1" />
nicholas@2224 46 <xs:element ref="interface" maxOccurs="1" />
nicholas@2224 47 </xs:sequence>
nicholas@2224 48 <xs:attribute name="interface" type="xs:string" use="required" />
nicholas@2224 49 <xs:attribute name="projectReturn" type="xs:string" use="optional" default="" />
nicholas@2303 50 <xs:attribute name="returnURL" type="xs:string" use="optional" default="" />
nicholas@2224 51 <xs:attribute name="randomiseOrder" type="xs:boolean" default="false" />
nicholas@2224 52 <xs:attribute ref="poolSize" />
nicholas@2224 53 <xs:attribute name="loudness" type="xs:nonPositiveInteger" use="optional" />
nicholas@2224 54 <xs:attribute name="sampleRate" type="xs:positiveInteger" use="optional" />
nicholas@2224 55 <xs:attribute name="calibration" type="xs:boolean" default="false" />
nicholas@2224 56 <xs:attribute name="crossFade" default="0.0">
nicholas@2224 57 <xs:simpleType>
nicholas@2224 58 <xs:restriction base="xs:decimal">
nicholas@2224 59 <xs:minInclusive value="0.0" />
nicholas@2224 60 </xs:restriction>
nicholas@2224 61 </xs:simpleType>
nicholas@2224 62 </xs:attribute>
nicholas@2224 63 <xs:attribute ref="preSilence" />
nicholas@2224 64 <xs:attribute ref="postSilence" />
nicholas@2224 65 </xs:complexType>
nicholas@2224 66 </xs:element>
nicholas@2224 67
nicholas@2224 68 <xs:element name="page">
nicholas@2224 69 <xs:complexType>
nicholas@2224 70 <xs:sequence>
nicholas@2224 71 <xs:element ref="title" minOccurs="0" maxOccurs="1" />
nicholas@2224 72 <xs:element name="commentboxprefix" type="xs:string" minOccurs="0" maxOccurs="1" />
nicholas@2224 73 <xs:element ref="interface" minOccurs="1" maxOccurs="unbounded" />
nicholas@2224 74 <xs:element ref="audioelement" minOccurs="1" maxOccurs="unbounded" />
nicholas@2224 75 <xs:element ref="commentquestion" minOccurs="0" maxOccurs="unbounded" />
nicholas@2224 76 <xs:element ref="survey" minOccurs="0" maxOccurs="2" />
nicholas@2224 77 </xs:sequence>
nicholas@2224 78 <xs:attribute ref="id" use="required" />
nicholas@2224 79 <xs:attribute name="hostURL" type="xs:anyURI" default="" />
nicholas@2224 80 <xs:attribute name="randomiseOrder" type="xs:boolean" default="false" />
nicholas@2224 81 <xs:attribute name="repeatCount" type="xs:nonNegativeInteger" default="0" />
nicholas@2224 82 <xs:attribute name="loop" type="xs:boolean" default="false" />
nicholas@2317 83 <xs:attribute name="synchronous" type="xs:boolean" default="false" />
nicholas@2224 84 <xs:attribute name="showElementComments" type="xs:boolean" default="false" />
nicholas@2224 85 <xs:attribute name="loudness" type="xs:nonPositiveInteger" use="optional" />
nicholas@2224 86 <xs:attribute name="label" use="optional" default="default">
nicholas@2224 87 <xs:simpleType>
nicholas@2224 88 <xs:restriction base="xs:string">
nicholas@2224 89 <xs:enumeration value="default" />
nicholas@2224 90 <xs:enumeration value="none" />
nicholas@2224 91 <xs:enumeration value="number" />
nicholas@2224 92 <xs:enumeration value="letter" />
nicholas@2224 93 <xs:enumeration value="capital" />
nicholas@2224 94 </xs:restriction>
nicholas@2224 95 </xs:simpleType>
nicholas@2224 96 </xs:attribute>
nicholas@2224 97 <xs:attribute ref="poolSize" />
nicholas@2224 98 <xs:attribute ref="alwaysInclude" />
nicholas@2224 99 <xs:attribute ref="preSilence" />
nicholas@2224 100 <xs:attribute ref="postSilence" />
nicholas@2224 101 </xs:complexType>
nicholas@2224 102 </xs:element>
nicholas@2224 103
nicholas@2224 104 <xs:element name="metric">
nicholas@2224 105 <xs:complexType>
nicholas@2224 106 <xs:sequence>
nicholas@2224 107 <xs:element name="metricenable" type="xs:string" minOccurs="0" maxOccurs="unbounded" />
nicholas@2224 108 </xs:sequence>
nicholas@2224 109 </xs:complexType>
nicholas@2224 110 </xs:element>
nicholas@2224 111
nicholas@2224 112 <xs:element name="interface">
nicholas@2224 113 <xs:complexType>
nicholas@2224 114 <xs:sequence>
nicholas@2224 115 <xs:element ref="title" minOccurs="0" maxOccurs="1" />
nicholas@2224 116 <xs:element name="interfaceoption" minOccurs="0" maxOccurs="unbounded">
nicholas@2224 117 <xs:complexType>
nicholas@2224 118 <xs:attribute name="type" use="required">
nicholas@2224 119 <xs:simpleType>
nicholas@2224 120 <xs:restriction base="xs:string">
nicholas@2224 121 <xs:enumeration value="check" />
nicholas@2224 122 <xs:enumeration value="show" />
nicholas@2224 123 <xs:enumeration value="option" />
nicholas@2224 124 </xs:restriction>
nicholas@2224 125 </xs:simpleType>
nicholas@2224 126 </xs:attribute>
nicholas@2224 127 <xs:attribute ref="name" use="required" />
nicholas@2224 128 <xs:attribute name="min" type="xs:decimal" use="optional" />
nicholas@2224 129 <xs:attribute name="max" type="xs:decimal" use="optional" />
nicholas@2224 130 </xs:complexType>
nicholas@2224 131 </xs:element>
nicholas@2224 132 <xs:element name="scales" minOccurs="0" maxOccurs="1">
nicholas@2224 133 <xs:complexType>
nicholas@2224 134 <xs:sequence>
nicholas@2224 135 <xs:element name="scalelabel" minOccurs="0" maxOccurs="unbounded">
nicholas@2224 136 <xs:complexType>
nicholas@2224 137 <xs:simpleContent>
nicholas@2224 138 <xs:extension base="xs:string">
nicholas@2224 139 <xs:attribute name="position" use="required">
nicholas@2224 140 <xs:simpleType>
nicholas@2224 141 <xs:restriction base="xs:nonNegativeInteger">
nicholas@2224 142 <xs:minInclusive value="0" />
nicholas@2224 143 <xs:maxInclusive value="100" />
nicholas@2224 144 </xs:restriction>
nicholas@2224 145 </xs:simpleType>
nicholas@2224 146 </xs:attribute>
nicholas@2224 147 </xs:extension>
nicholas@2224 148 </xs:simpleContent>
nicholas@2224 149 </xs:complexType>
nicholas@2224 150 </xs:element>
nicholas@2224 151 </xs:sequence>
nicholas@2224 152 </xs:complexType>
nicholas@2224 153 </xs:element>
nicholas@2224 154 </xs:sequence>
nicholas@2224 155 <xs:attribute ref="name" use="optional" />
nicholas@2224 156 </xs:complexType>
nicholas@2224 157 </xs:element>
nicholas@2224 158
nicholas@2224 159 <xs:element name="audioelement">
nicholas@2224 160 <xs:complexType>
nicholas@2224 161 <xs:attribute ref="id" use="required" />
nicholas@2224 162 <xs:attribute name="url" type="xs:anyURI" use="required" />
nicholas@2224 163 <xs:attribute name="gain" type="xs:decimal" default="0" />
nicholas@2224 164 <xs:attribute ref="name" />
nicholas@2224 165 <xs:attribute name="type" default="normal">
nicholas@2224 166 <xs:simpleType>
nicholas@2224 167 <xs:restriction base="xs:string">
nicholas@2224 168 <xs:enumeration value="normal" />
nicholas@2224 169 <xs:enumeration value="anchor" />
nicholas@2224 170 <xs:enumeration value="reference" />
nicholas@2224 171 <xs:enumeration value="outside-reference" />
nicholas@2224 172 </xs:restriction>
nicholas@2224 173 </xs:simpleType>
nicholas@2224 174 </xs:attribute>
nicholas@2224 175 <xs:attribute name="marker" use="optional">
nicholas@2224 176 <xs:simpleType>
nicholas@2224 177 <xs:restriction base="xs:nonNegativeInteger">
nicholas@2224 178 <xs:minInclusive value="0" />
nicholas@2224 179 <xs:maxInclusive value="100" />
nicholas@2224 180 </xs:restriction>
nicholas@2224 181 </xs:simpleType>
nicholas@2224 182 </xs:attribute>
nicholas@2224 183 <xs:attribute name="loudness" type="xs:nonPositiveInteger" use="optional" />
nicholas@2224 184 <xs:attribute ref="alwaysInclude" />
nicholas@2224 185 <xs:attribute ref="preSilence" />
nicholas@2224 186 <xs:attribute ref="postSilence" />
nicholas@2224 187 </xs:complexType>
nicholas@2224 188 </xs:element>
nicholas@2224 189
nicholas@2224 190 <xs:element name="commentquestion">
nicholas@2224 191 <xs:complexType>
nicholas@2224 192 <xs:sequence>
nicholas@2224 193 <xs:element ref="statement" minOccurs="0" maxOccurs="1" />
nicholas@2224 194 <xs:element name="option" minOccurs="0" maxOccurs="unbounded">
nicholas@2224 195 <xs:complexType>
nicholas@2224 196 <xs:simpleContent>
nicholas@2224 197 <xs:extension base="xs:string">
nicholas@2224 198 <xs:attribute ref="name" />
nicholas@2224 199 </xs:extension>
nicholas@2224 200 </xs:simpleContent>
nicholas@2224 201 </xs:complexType>
nicholas@2224 202 </xs:element>
nicholas@2224 203 </xs:sequence>
nicholas@2224 204 <xs:attribute ref="id" use="optional" />
nicholas@2224 205 <xs:attribute ref="name" use="optional" />
nicholas@2224 206 <xs:attribute name="type" default="question">
nicholas@2224 207 <xs:simpleType>
nicholas@2224 208 <xs:restriction base="xs:string">
nicholas@2224 209 <xs:enumeration value="question" />
nicholas@2224 210 <xs:enumeration value="radio" />
nicholas@2224 211 <xs:enumeration value="checkbox" />
nicholas@2224 212 </xs:restriction>
nicholas@2224 213 </xs:simpleType>
nicholas@2224 214 </xs:attribute>
nicholas@2224 215 </xs:complexType>
nicholas@2224 216 </xs:element>
nicholas@2224 217
nicholas@2224 218 <xs:element name="survey">
nicholas@2224 219 <xs:complexType>
nicholas@2224 220 <xs:sequence>
nicholas@2224 221 <xs:element name="surveyentry" minOccurs="0" maxOccurs="unbounded">
nicholas@2224 222 <xs:complexType>
nicholas@2224 223 <xs:sequence>
nicholas@2224 224 <xs:element ref="statement" minOccurs="1" maxOccurs="1" />
nicholas@2224 225 <xs:element name="option" minOccurs="0" maxOccurs="unbounded">
nicholas@2224 226 <xs:complexType>
nicholas@2224 227 <xs:simpleContent>
nicholas@2224 228 <xs:extension base="xs:string">
nicholas@2224 229 <xs:attribute ref="name" />
nicholas@2224 230 </xs:extension>
nicholas@2224 231 </xs:simpleContent>
nicholas@2224 232 </xs:complexType>
nicholas@2224 233 </xs:element>
nicholas@2224 234 </xs:sequence>
nicholas@2224 235 <xs:attribute ref="id" use="required" />
nicholas@2224 236 <xs:attribute ref="name" />
nicholas@2224 237 <xs:attribute ref="mandatory" />
nicholas@2224 238 <xs:attribute name="min" type="xs:decimal" />
nicholas@2224 239 <xs:attribute name="max" type="xs:decimal" />
nicholas@2224 240 <xs:attribute name="type" use="required">
nicholas@2224 241 <xs:simpleType>
nicholas@2224 242 <xs:restriction base="xs:string">
nicholas@2224 243 <xs:enumeration value="statement" />
nicholas@2224 244 <xs:enumeration value="question" />
nicholas@2224 245 <xs:enumeration value="number" />
nicholas@2224 246 <xs:enumeration value="radio" />
nicholas@2224 247 <xs:enumeration value="checkbox" />
nicholas@2224 248 </xs:restriction>
nicholas@2224 249 </xs:simpleType>
nicholas@2224 250 </xs:attribute>
nicholas@2224 251 <xs:attribute name="boxsize" default="normal">
nicholas@2224 252 <xs:simpleType>
nicholas@2224 253 <xs:restriction base="xs:string">
nicholas@2224 254 <xs:enumeration value="normal" />
nicholas@2224 255 <xs:enumeration value="large" />
nicholas@2224 256 <xs:enumeration value="small" />
nicholas@2224 257 <xs:enumeration value="huge" />
nicholas@2224 258 </xs:restriction>
nicholas@2224 259 </xs:simpleType>
nicholas@2224 260 </xs:attribute>
nicholas@2224 261 </xs:complexType>
nicholas@2224 262 </xs:element>
nicholas@2224 263 </xs:sequence>
nicholas@2224 264 <xs:attribute name="location">
nicholas@2224 265 <xs:simpleType>
nicholas@2224 266 <xs:restriction base="xs:string">
nicholas@2224 267 <xs:enumeration value="before" />
nicholas@2224 268 <xs:enumeration value="pre" />
nicholas@2224 269 <xs:enumeration value="after" />
nicholas@2224 270 <xs:enumeration value="post" />
nicholas@2224 271 </xs:restriction>
nicholas@2224 272 </xs:simpleType>
nicholas@2224 273 </xs:attribute>
nicholas@2224 274 </xs:complexType>
nicholas@2224 275 </xs:element>
nicholas@2224 276
nicholas@2224 277 </xs:schema>