annotate xml/test-schema.xsd @ 3141:335bc77627e0 tip

fixing discrete interface to allow labels to display
author Dave Moffat <me@davemoffat.com>
date Mon, 26 Jul 2021 12:15:24 +0100
parents 998e05c5769a
children
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
n@2907 15 <xs:attribute name="preSilence" default="0.0">
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>
n@2907 22 <xs:attribute name="postSilence" default="0.0">
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@2538 29
nicholas@2822 30 <xs:attribute name="minNumberPlays" type="xs:nonNegativeInteger" default="0" />
nicholas@2823 31 <xs:attribute name="maxNumberPlays" type="xs:nonNegativeInteger" />
nicholas@2822 32
nicholas@2538 33 <xs:attribute name="playOne" type="xs:boolean" default="false" />
nicholas@2777 34
nicholas@2774 35 <xs:attribute name="minWait" type="xs:nonNegativeInteger" default="0" />
nicholas@2224 36
nicholas@2224 37 <!-- define complex elements-->
nicholas@2224 38 <xs:element name="waet">
nicholas@2224 39 <xs:complexType>
nicholas@2224 40 <xs:sequence>
nicholas@2224 41 <xs:element ref="setup" minOccurs="1" maxOccurs="1" />
nicholas@2224 42 <xs:element ref="page" minOccurs="1" maxOccurs="unbounded" />
nicholas@2224 43 </xs:sequence>
nicholas@2224 44 </xs:complexType>
nicholas@2224 45 </xs:element>
nicholas@2224 46
nicholas@2224 47 <xs:element name="setup">
nicholas@2224 48 <xs:complexType>
nicholas@2224 49 <xs:sequence>
nicholas@2224 50 <xs:element name="exitText" type="xs:string" minOccurs="0" maxOccurs="1" />
nicholas@3100 51 <xs:element ref="calibration" minOccurs="0" maxOccurs="1" />
nicholas@2224 52 <xs:element ref="survey" minOccurs="0" maxOccurs="2" />
nicholas@2224 53 <xs:element ref="metric" maxOccurs="1" />
nicholas@2224 54 <xs:element ref="interface" maxOccurs="1" />
nicholas@2224 55 </xs:sequence>
nicholas@2224 56 <xs:attribute name="interface" type="xs:string" use="required" />
nicholas@2224 57 <xs:attribute name="projectReturn" type="xs:string" use="optional" default="" />
nicholas@2303 58 <xs:attribute name="returnURL" type="xs:string" use="optional" default="" />
nicholas@2224 59 <xs:attribute name="randomiseOrder" type="xs:boolean" default="false" />
nicholas@2224 60 <xs:attribute ref="poolSize" />
nicholas@2224 61 <xs:attribute name="loudness" type="xs:nonPositiveInteger" use="optional" />
nicholas@2224 62 <xs:attribute name="sampleRate" type="xs:positiveInteger" use="optional" />
nicholas@2224 63 <xs:attribute name="crossFade" default="0.0">
nicholas@2224 64 <xs:simpleType>
nicholas@2224 65 <xs:restriction base="xs:decimal">
nicholas@2224 66 <xs:minInclusive value="0.0" />
nicholas@2224 67 </xs:restriction>
nicholas@2224 68 </xs:simpleType>
nicholas@2224 69 </xs:attribute>
nicholas@3061 70 <xs:attribute name="randomiseAxisOrder" type="xs:boolean" default="false" />
nicholas@2224 71 <xs:attribute ref="preSilence" />
nicholas@2224 72 <xs:attribute ref="postSilence" />
n@2426 73 <xs:attribute ref="playOne" />
nicholas@2823 74 <xs:attribute ref="minNumberPlays" use="optional" />
nicholas@2823 75 <xs:attribute ref="maxNumberPlays" use="optional" />
nicholas@2224 76 </xs:complexType>
nicholas@2224 77 </xs:element>
nicholas@2224 78
nicholas@3100 79 <xs:element name="calibration">
nicholas@3100 80 <xs:complexType>
nicholas@3100 81 <xs:attribute name="checkFrequencies" type="xs:boolean" default="false" />
nicholas@3100 82 <xs:attribute name="checkLevels" type="xs:boolean" default="false" />
nicholas@3100 83 <xs:attribute name="checkChannels" type="xs:boolean" default="false" />
nicholas@3100 84 </xs:complexType>
nicholas@3100 85 </xs:element>
nicholas@3100 86
nicholas@2224 87 <xs:element name="page">
nicholas@2224 88 <xs:complexType>
nicholas@2224 89 <xs:sequence>
nicholas@2224 90 <xs:element ref="title" minOccurs="0" maxOccurs="1" />
nicholas@2224 91 <xs:element name="commentboxprefix" type="xs:string" minOccurs="0" maxOccurs="1" />
nicholas@2224 92 <xs:element ref="interface" minOccurs="1" maxOccurs="unbounded" />
nicholas@2224 93 <xs:element ref="audioelement" minOccurs="1" maxOccurs="unbounded" />
n@2579 94 <xs:element ref="commentquestions" minOccurs="0" maxOccurs="1" />
nicholas@2224 95 <xs:element ref="survey" minOccurs="0" maxOccurs="2" />
nicholas@2224 96 </xs:sequence>
nicholas@2224 97 <xs:attribute ref="id" use="required" />
nicholas@2224 98 <xs:attribute name="hostURL" type="xs:anyURI" default="" />
nicholas@2224 99 <xs:attribute name="randomiseOrder" type="xs:boolean" default="false" />
nicholas@2224 100 <xs:attribute name="repeatCount" type="xs:nonNegativeInteger" default="0" />
nicholas@2224 101 <xs:attribute name="loop" type="xs:boolean" default="false" />
nicholas@2317 102 <xs:attribute name="synchronous" type="xs:boolean" default="false" />
nicholas@2224 103 <xs:attribute name="loudness" type="xs:nonPositiveInteger" use="optional" />
nicholas@2224 104 <xs:attribute name="label" use="optional" default="default">
nicholas@2224 105 <xs:simpleType>
nicholas@2224 106 <xs:restriction base="xs:string">
nicholas@2224 107 <xs:enumeration value="default" />
nicholas@2224 108 <xs:enumeration value="none" />
nicholas@2224 109 <xs:enumeration value="number" />
nicholas@2224 110 <xs:enumeration value="letter" />
nicholas@2224 111 <xs:enumeration value="capital" />
me@2554 112 <xs:enumeration value="samediff" />
nicholas@2224 113 </xs:restriction>
nicholas@2224 114 </xs:simpleType>
nicholas@2224 115 </xs:attribute>
nicholas@2607 116 <xs:attribute name="labelStart" type="xs:string" use="optional" default="" />
nicholas@3061 117 <xs:attribute name="randomiseAxisOrder" type="xs:boolean" use="optional" />
nicholas@2224 118 <xs:attribute ref="poolSize" />
nicholas@2224 119 <xs:attribute ref="alwaysInclude" />
nicholas@2674 120 <xs:attribute name="position" use="optional" type="xs:nonNegativeInteger" />
nicholas@2224 121 <xs:attribute ref="preSilence" />
nicholas@2224 122 <xs:attribute ref="postSilence" />
n@2426 123 <xs:attribute ref="playOne" />
nicholas@2623 124 <xs:attribute name="restrictMovement" type="xs:boolean" default="false" use="optional" />
nicholas@2823 125 <xs:attribute ref="minNumberPlays" use="optional" />
nicholas@2823 126 <xs:attribute ref="maxNumberPlays" use="optional" />
nicholas@2224 127 </xs:complexType>
nicholas@2224 128 </xs:element>
nicholas@2224 129
nicholas@2224 130 <xs:element name="metric">
nicholas@2224 131 <xs:complexType>
nicholas@2224 132 <xs:sequence>
nicholas@2224 133 <xs:element name="metricenable" type="xs:string" minOccurs="0" maxOccurs="unbounded" />
nicholas@2224 134 </xs:sequence>
nicholas@2224 135 </xs:complexType>
nicholas@2224 136 </xs:element>
nicholas@2224 137
nicholas@2224 138 <xs:element name="interface">
nicholas@2224 139 <xs:complexType>
nicholas@2224 140 <xs:sequence>
nicholas@2224 141 <xs:element ref="title" minOccurs="0" maxOccurs="1" />
nicholas@2777 142 <xs:element name="image" minOccurs="0" maxOccurs="1">
nicholas@2777 143 <xs:complexType>
nicholas@2777 144 <xs:attribute name="src" type="xs:anyURI" use="required" />
nicholas@2777 145 </xs:complexType>
nicholas@2777 146 </xs:element>
nicholas@2224 147 <xs:element name="interfaceoption" minOccurs="0" maxOccurs="unbounded">
nicholas@2224 148 <xs:complexType>
n@2786 149 <xs:sequence>
n@2786 150 <xs:element name="errormessage" type="xs:string" minOccurs="0" maxOccurs="1" />
n@2786 151 </xs:sequence>
nicholas@2224 152 <xs:attribute name="type" use="required">
nicholas@2224 153 <xs:simpleType>
nicholas@2224 154 <xs:restriction base="xs:string">
nicholas@2224 155 <xs:enumeration value="check" />
nicholas@2224 156 <xs:enumeration value="show" />
nicholas@2224 157 <xs:enumeration value="option" />
nicholas@2224 158 </xs:restriction>
nicholas@2224 159 </xs:simpleType>
nicholas@2224 160 </xs:attribute>
nicholas@2224 161 <xs:attribute ref="name" use="required" />
nicholas@2224 162 <xs:attribute name="min" type="xs:decimal" use="optional" />
nicholas@2224 163 <xs:attribute name="max" type="xs:decimal" use="optional" />
nicholas@2224 164 </xs:complexType>
nicholas@2224 165 </xs:element>
nicholas@2224 166 <xs:element name="scales" minOccurs="0" maxOccurs="1">
nicholas@2224 167 <xs:complexType>
nicholas@2224 168 <xs:sequence>
nicholas@2224 169 <xs:element name="scalelabel" minOccurs="0" maxOccurs="unbounded">
nicholas@2224 170 <xs:complexType>
nicholas@2224 171 <xs:simpleContent>
nicholas@2224 172 <xs:extension base="xs:string">
nicholas@2224 173 <xs:attribute name="position" use="required">
nicholas@2224 174 <xs:simpleType>
nicholas@2224 175 <xs:restriction base="xs:nonNegativeInteger">
nicholas@2224 176 <xs:minInclusive value="0" />
nicholas@2224 177 <xs:maxInclusive value="100" />
nicholas@2224 178 </xs:restriction>
nicholas@2224 179 </xs:simpleType>
nicholas@2224 180 </xs:attribute>
nicholas@2224 181 </xs:extension>
nicholas@2224 182 </xs:simpleContent>
nicholas@2224 183 </xs:complexType>
nicholas@2224 184 </xs:element>
nicholas@2224 185 </xs:sequence>
nicholas@2224 186 </xs:complexType>
nicholas@2224 187 </xs:element>
nicholas@2224 188 </xs:sequence>
nicholas@2224 189 <xs:attribute ref="name" use="optional" />
nicholas@2224 190 </xs:complexType>
nicholas@2224 191 </xs:element>
nicholas@2224 192
nicholas@2224 193 <xs:element name="audioelement">
nicholas@2224 194 <xs:complexType>
nicholas@2612 195 <xs:sequence>
nicholas@2613 196 <xs:element name="alternative" minOccurs="0" maxOccurs="unbounded">
nicholas@2612 197 <xs:complexType>
nicholas@2612 198 <xs:attribute name="url" type="xs:anyURI" use="required" />
nicholas@2612 199 <xs:attribute name="sampleRate" use="optional">
nicholas@2612 200 <xs:simpleType>
nicholas@2612 201 <xs:restriction base="xs:decimal">
nicholas@2612 202 <xs:minInclusive value="1" />
nicholas@2612 203 </xs:restriction>
nicholas@2612 204 </xs:simpleType>
nicholas@2612 205 </xs:attribute>
nicholas@2612 206 </xs:complexType>
nicholas@2612 207 </xs:element>
nicholas@2612 208 </xs:sequence>
nicholas@2224 209 <xs:attribute ref="id" use="required" />
nicholas@2224 210 <xs:attribute name="url" type="xs:anyURI" use="required" />
nicholas@2224 211 <xs:attribute name="gain" type="xs:decimal" default="0" />
nicholas@2663 212 <xs:attribute name="label" type="xs:string" default="" />
nicholas@2224 213 <xs:attribute ref="name" />
nicholas@2224 214 <xs:attribute name="type" default="normal">
nicholas@2224 215 <xs:simpleType>
nicholas@2224 216 <xs:restriction base="xs:string">
nicholas@2224 217 <xs:enumeration value="normal" />
nicholas@2224 218 <xs:enumeration value="anchor" />
nicholas@2224 219 <xs:enumeration value="reference" />
nicholas@2224 220 <xs:enumeration value="outside-reference" />
nicholas@2224 221 </xs:restriction>
nicholas@2224 222 </xs:simpleType>
nicholas@2224 223 </xs:attribute>
nicholas@2224 224 <xs:attribute name="marker" use="optional">
nicholas@2224 225 <xs:simpleType>
nicholas@2224 226 <xs:restriction base="xs:nonNegativeInteger">
nicholas@2224 227 <xs:minInclusive value="0" />
nicholas@2224 228 <xs:maxInclusive value="100" />
nicholas@2224 229 </xs:restriction>
nicholas@2224 230 </xs:simpleType>
nicholas@2224 231 </xs:attribute>
nicholas@2224 232 <xs:attribute name="loudness" type="xs:nonPositiveInteger" use="optional" />
nicholas@2224 233 <xs:attribute ref="alwaysInclude" />
nicholas@2224 234 <xs:attribute ref="preSilence" />
nicholas@2224 235 <xs:attribute ref="postSilence" />
nicholas@2408 236 <xs:attribute name="startTime" use="optional">
nicholas@2408 237 <xs:simpleType>
nicholas@2408 238 <xs:restriction base="xs:decimal">
nicholas@2408 239 <xs:minInclusive value="0" />
nicholas@2408 240 </xs:restriction>
nicholas@2408 241 </xs:simpleType>
nicholas@2408 242 </xs:attribute>
nicholas@2408 243 <xs:attribute name="stopTime" use="optional">
nicholas@2408 244 <xs:simpleType>
nicholas@2408 245 <xs:restriction base="xs:decimal">
nicholas@2408 246 <xs:minInclusive value="0" />
nicholas@2408 247 </xs:restriction>
nicholas@2408 248 </xs:simpleType>
nicholas@2408 249 </xs:attribute>
nicholas@2612 250 <xs:attribute name="sampleRate" use="optional">
nicholas@2612 251 <xs:simpleType>
nicholas@2612 252 <xs:restriction base="xs:decimal">
nicholas@2612 253 <xs:minInclusive value="1" />
nicholas@2612 254 </xs:restriction>
nicholas@2612 255 </xs:simpleType>
nicholas@2612 256 </xs:attribute>
nicholas@2777 257 <xs:attribute name="image" type="xs:anyURI" use="optional" />
nicholas@2823 258 <xs:attribute ref="minNumberPlays" use="optional" />
nicholas@2823 259 <xs:attribute ref="maxNumberPlays" use="optional" />
nicholas@2224 260 </xs:complexType>
nicholas@2224 261 </xs:element>
nicholas@2224 262
n@2579 263 <xs:element name="commentquestions">
n@2579 264 <xs:complexType>
n@2579 265 <xs:choice maxOccurs="unbounded">
n@2579 266 <xs:element name="commentquestion" maxOccurs="unbounded" />
n@2579 267 <xs:element name="commentradio" maxOccurs="unbounded" />
n@2579 268 <xs:element name="commentcheckbox" maxOccurs="unbounded" />
n@2579 269 <xs:element name="commentslider" maxOccurs="unbounded" />
n@2579 270 </xs:choice>
n@2579 271 </xs:complexType>
n@2579 272 </xs:element>
n@2579 273
n@2579 274 <xs:element name="commentradio">
nicholas@2224 275 <xs:complexType>
nicholas@2224 276 <xs:sequence>
n@2579 277 <xs:element ref="statement" minOccurs="1" maxOccurs="1" />
nicholas@2224 278 <xs:element name="option" minOccurs="0" maxOccurs="unbounded">
nicholas@2224 279 <xs:complexType>
nicholas@2224 280 <xs:simpleContent>
nicholas@2224 281 <xs:extension base="xs:string">
nicholas@2224 282 <xs:attribute ref="name" />
nicholas@2224 283 </xs:extension>
nicholas@2224 284 </xs:simpleContent>
nicholas@2224 285 </xs:complexType>
nicholas@2224 286 </xs:element>
nicholas@2224 287 </xs:sequence>
nicholas@2224 288 <xs:attribute ref="id" use="optional" />
nicholas@2224 289 <xs:attribute ref="name" use="optional" />
nicholas@3033 290 <xs:attribute ref="mandatory" use="optional" />
n@2579 291 </xs:complexType>
n@2579 292 </xs:element>
n@2579 293
n@2579 294 <xs:element name="commentcheckbox">
n@2579 295 <xs:complexType>
n@2579 296 <xs:sequence>
n@2579 297 <xs:element ref="statement" minOccurs="1" maxOccurs="1" />
n@2579 298 <xs:element name="option" minOccurs="0" maxOccurs="unbounded">
n@2579 299 <xs:complexType>
n@2579 300 <xs:simpleContent>
n@2579 301 <xs:extension base="xs:string">
n@2579 302 <xs:attribute ref="name" />
n@2579 303 </xs:extension>
n@2579 304 </xs:simpleContent>
n@2579 305 </xs:complexType>
n@2579 306 </xs:element>
n@2579 307 </xs:sequence>
n@2579 308 <xs:attribute ref="id" use="optional" />
n@2579 309 <xs:attribute ref="name" use="optional" />
nicholas@3033 310 <xs:attribute ref="mandatory" use="optional" />
n@2579 311 </xs:complexType>
n@2579 312 </xs:element>
n@2579 313
n@2579 314 <xs:element name="commentquestion">
n@2579 315 <xs:complexType>
n@2579 316 <xs:sequence>
n@2579 317 <xs:element ref="statement" minOccurs="1" maxOccurs="1" />
n@2579 318 </xs:sequence>
n@2579 319 <xs:attribute ref="id" use="optional" />
n@2579 320 <xs:attribute ref="name" use="optional" />
nicholas@3033 321 <xs:attribute ref="mandatory" use="optional" />
n@2579 322 </xs:complexType>
n@2579 323 </xs:element>
n@2579 324
n@2579 325 <xs:element name="commentslider">
n@2579 326 <xs:complexType>
n@2579 327 <xs:sequence>
n@2579 328 <xs:element ref="statement" minOccurs="1" maxOccurs="1" />
n@2580 329 <xs:element name="minText" minOccurs="0" maxOccurs="1" type="xs:string" />
n@2580 330 <xs:element name="maxText" minOccurs="0" maxOccurs="1" type="xs:string" />
n@2579 331 </xs:sequence>
n@2579 332 <xs:attribute ref="id" use="optional" />
n@2579 333 <xs:attribute ref="name" use="optional" />
n@2579 334 <xs:attribute name="min" type="xs:decimal" use="required" />
n@2579 335 <xs:attribute name="max" type="xs:decimal" use="required" />
n@2579 336 <xs:attribute name="step" type="xs:decimal" use="optional" default="1" />
n@2579 337 <xs:attribute name="value" type="xs:decimal" use="optional" />
nicholas@3033 338 <xs:attribute ref="mandatory" use="optional" />
nicholas@2572 339 </xs:complexType>
nicholas@2572 340 </xs:element>
nicholas@2572 341
n@2581 342 <xs:element name="conditional">
n@2581 343 <xs:complexType>
n@2581 344 <xs:attribute name="check" use="required">
nicholas@2224 345 <xs:simpleType>
nicholas@2224 346 <xs:restriction base="xs:string">
n@2581 347 <xs:enumeration value="equals" />
n@2581 348 <xs:enumeration value="lessThan" />
n@2581 349 <xs:enumeration value="greaterThan" />
n@2581 350 <xs:enumeration value="stringContains" />
n@2581 351 </xs:restriction>
n@2581 352 </xs:simpleType>
n@2581 353 </xs:attribute>
n@2581 354 <xs:attribute name="value" type="xs:string" use="optional" />
n@2581 355 <xs:attribute name="jumpToOnPass" type="xs:string" use="optional" />
n@2581 356 <xs:attribute name="jumpToOnFail" type="xs:string" use="optional" />
n@2581 357 </xs:complexType>
n@2581 358 </xs:element>
n@2581 359
n@2581 360 <xs:element name="surveyquestion">
n@2581 361 <xs:complexType>
n@2581 362 <xs:sequence>
n@2581 363 <xs:element ref="statement" minOccurs="1" maxOccurs="1" />
n@2581 364 <xs:element ref="conditional" minOccurs="0" maxOccurs="unbounded" />
n@2581 365 </xs:sequence>
n@2581 366 <xs:attribute ref="id" use="required" />
n@2581 367 <xs:attribute ref="name" />
n@2581 368 <xs:attribute ref="mandatory" />
nicholas@2774 369 <xs:attribute ref="minWait" />
n@2581 370 <xs:attribute name="boxsize" default="normal">
n@2581 371 <xs:simpleType>
n@2581 372 <xs:restriction base="xs:string">
n@2581 373 <xs:enumeration value="normal" />
n@2581 374 <xs:enumeration value="large" />
n@2581 375 <xs:enumeration value="small" />
n@2581 376 <xs:enumeration value="huge" />
nicholas@2224 377 </xs:restriction>
nicholas@2224 378 </xs:simpleType>
nicholas@2224 379 </xs:attribute>
nicholas@2224 380 </xs:complexType>
nicholas@2224 381 </xs:element>
nicholas@2224 382
n@2581 383 <xs:element name="surveyradio">
n@2581 384 <xs:complexType>
n@2581 385 <xs:sequence>
n@2581 386 <xs:element ref="statement" minOccurs="1" maxOccurs="1" />
n@2581 387 <xs:element name="option" minOccurs="0" maxOccurs="unbounded">
n@2581 388 <xs:complexType>
n@2581 389 <xs:simpleContent>
n@2581 390 <xs:extension base="xs:string">
n@2581 391 <xs:attribute ref="name" />
n@2581 392 </xs:extension>
n@2581 393 </xs:simpleContent>
n@2581 394 </xs:complexType>
n@2581 395 </xs:element>
n@2581 396 <xs:element ref="conditional" minOccurs="0" maxOccurs="unbounded" />
n@2581 397 </xs:sequence>
n@2581 398 <xs:attribute ref="id" use="required" />
n@2581 399 <xs:attribute ref="name" />
n@2581 400 <xs:attribute ref="mandatory" />
n@2581 401 <xs:attribute name="min" type="xs:decimal" />
n@2581 402 <xs:attribute name="max" type="xs:decimal" />
n@2923 403 <xs:attribute name="randomise" type="xs:boolean" default="false" />
nicholas@2774 404 <xs:attribute ref="minWait" />
n@2581 405 </xs:complexType>
n@2581 406 </xs:element>
n@2581 407
n@2581 408 <xs:element name="surveycheckbox">
n@2581 409 <xs:complexType>
n@2581 410 <xs:sequence>
n@2581 411 <xs:element ref="statement" minOccurs="1" maxOccurs="1" />
n@2581 412 <xs:element name="option" minOccurs="0" maxOccurs="unbounded">
n@2581 413 <xs:complexType>
n@2581 414 <xs:simpleContent>
n@2581 415 <xs:extension base="xs:string">
n@2581 416 <xs:attribute ref="name" />
n@2581 417 </xs:extension>
n@2581 418 </xs:simpleContent>
n@2581 419 </xs:complexType>
n@2581 420 </xs:element>
n@2581 421 <xs:element ref="conditional" minOccurs="0" maxOccurs="unbounded" />
n@2581 422 </xs:sequence>
n@2581 423 <xs:attribute ref="id" use="required" />
n@2581 424 <xs:attribute ref="name" />
n@2581 425 <xs:attribute ref="mandatory" />
nicholas@2774 426 <xs:attribute ref="minWait" />
n@2581 427 <xs:attribute name="min" type="xs:decimal" />
n@2581 428 <xs:attribute name="max" type="xs:decimal" />
n@2923 429 <xs:attribute name="randomise" type="xs:boolean" default="false" />
n@2581 430 </xs:complexType>
n@2581 431 </xs:element>
n@2581 432
n@2581 433 <xs:element name="surveystatement">
n@2581 434 <xs:complexType>
n@2581 435 <xs:sequence>
n@2581 436 <xs:element ref="statement" minOccurs="1" maxOccurs="1" />
n@2581 437 </xs:sequence>
nicholas@2853 438 <xs:attribute ref="minWait" />
n@2581 439 <xs:attribute ref="id" use="required" />
n@2581 440 </xs:complexType>
n@2581 441 </xs:element>
n@2581 442
n@2581 443 <xs:element name="surveynumber">
n@2581 444 <xs:complexType>
n@2581 445 <xs:sequence>
n@2581 446 <xs:element ref="statement" minOccurs="1" maxOccurs="1" />
n@2581 447 <xs:element ref="conditional" minOccurs="0" maxOccurs="unbounded" />
n@2581 448 </xs:sequence>
n@2581 449 <xs:attribute ref="id" use="required" />
n@2581 450 <xs:attribute ref="name" />
n@2581 451 <xs:attribute ref="mandatory" />
nicholas@2774 452 <xs:attribute ref="minWait" />
n@2581 453 <xs:attribute name="min" type="xs:decimal" />
n@2581 454 <xs:attribute name="max" type="xs:decimal" />
n@2581 455 </xs:complexType>
n@2581 456 </xs:element>
n@2581 457
n@2581 458 <xs:element name="surveyslider">
n@2581 459 <xs:complexType>
n@2581 460 <xs:sequence>
n@2581 461 <xs:element ref="statement" minOccurs="1" maxOccurs="1" />
n@2581 462 <xs:element name="minText" minOccurs="0" maxOccurs="1" type="xs:string" />
n@2581 463 <xs:element name="maxText" minOccurs="0" maxOccurs="1" type="xs:string" />
n@2581 464 <xs:element ref="conditional" minOccurs="0" maxOccurs="unbounded" />
n@2581 465 </xs:sequence>
n@2581 466 <xs:attribute ref="id" use="required" />
n@2581 467 <xs:attribute ref="name" />
nicholas@2774 468 <xs:attribute ref="minWait" />
n@2581 469 <xs:attribute name="min" use="required" type="xs:decimal" />
n@2581 470 <xs:attribute name="max" use="required" type="xs:decimal" />
n@2581 471 </xs:complexType>
n@2581 472 </xs:element>
n@2581 473
n@2581 474 <xs:element name="surveyvideo">
n@2581 475 <xs:complexType>
n@2581 476 <xs:sequence>
n@2581 477 <xs:element ref="statement" minOccurs="1" maxOccurs="1" />
n@2581 478 </xs:sequence>
n@2581 479 <xs:attribute ref="id" use="required" />
nicholas@2774 480 <xs:attribute ref="minWait" />
n@2581 481 <xs:attribute name="url" use="required" type="xs:string" />
n@2581 482 </xs:complexType>
n@2581 483 </xs:element>
n@2581 484
n@2581 485 <xs:element name="surveyyoutube">
n@2581 486 <xs:complexType>
n@2581 487 <xs:sequence>
n@2581 488 <xs:element ref="statement" minOccurs="1" maxOccurs="1" />
n@2581 489 </xs:sequence>
n@2581 490 <xs:attribute ref="id" use="required" />
nicholas@2774 491 <xs:attribute ref="minWait" />
n@2581 492 <xs:attribute name="url" use="required" type="xs:string" />
n@2581 493 </xs:complexType>
n@2581 494 </xs:element>
n@2581 495
nicholas@2224 496 <xs:element name="survey">
nicholas@2224 497 <xs:complexType>
n@2757 498 <xs:choice maxOccurs="unbounded" minOccurs="0">
n@2581 499 <xs:element name="surveyentry" maxOccurs="unbounded">
nicholas@2224 500 <xs:complexType>
nicholas@2224 501 <xs:sequence>
nicholas@2224 502 <xs:element ref="statement" minOccurs="1" maxOccurs="1" />
nicholas@2224 503 <xs:element name="option" minOccurs="0" maxOccurs="unbounded">
nicholas@2224 504 <xs:complexType>
nicholas@2224 505 <xs:simpleContent>
nicholas@2224 506 <xs:extension base="xs:string">
nicholas@2224 507 <xs:attribute ref="name" />
nicholas@2224 508 </xs:extension>
nicholas@2224 509 </xs:simpleContent>
nicholas@2224 510 </xs:complexType>
nicholas@2224 511 </xs:element>
nicholas@2594 512 <xs:element ref="conditional" minOccurs="0" maxOccurs="unbounded" />
nicholas@2224 513 </xs:sequence>
nicholas@2224 514 <xs:attribute ref="id" use="required" />
nicholas@2224 515 <xs:attribute ref="name" />
nicholas@2224 516 <xs:attribute ref="mandatory" />
nicholas@2224 517 <xs:attribute name="min" type="xs:decimal" />
nicholas@2224 518 <xs:attribute name="max" type="xs:decimal" />
nicholas@2224 519 <xs:attribute name="type" use="required">
nicholas@2224 520 <xs:simpleType>
nicholas@2224 521 <xs:restriction base="xs:string">
nicholas@2224 522 <xs:enumeration value="statement" />
nicholas@2224 523 <xs:enumeration value="question" />
nicholas@2224 524 <xs:enumeration value="number" />
nicholas@2224 525 <xs:enumeration value="radio" />
nicholas@2224 526 <xs:enumeration value="checkbox" />
nicholas@2491 527 <xs:enumeration value="video" />
nicholas@2491 528 <xs:enumeration value="youtube" />
nicholas@2224 529 </xs:restriction>
nicholas@2224 530 </xs:simpleType>
nicholas@2224 531 </xs:attribute>
nicholas@2224 532 <xs:attribute name="boxsize" default="normal">
nicholas@2224 533 <xs:simpleType>
nicholas@2224 534 <xs:restriction base="xs:string">
nicholas@2224 535 <xs:enumeration value="normal" />
nicholas@2224 536 <xs:enumeration value="large" />
nicholas@2224 537 <xs:enumeration value="small" />
nicholas@2224 538 <xs:enumeration value="huge" />
nicholas@2224 539 </xs:restriction>
nicholas@2224 540 </xs:simpleType>
nicholas@2224 541 </xs:attribute>
nicholas@2538 542 <xs:attribute name="url" type="xs:string" use="optional" />
nicholas@2224 543 </xs:complexType>
nicholas@2224 544 </xs:element>
n@2581 545 <xs:element name="surveyquestion" maxOccurs="unbounded" />
n@2581 546 <xs:element name="surveyradio" maxOccurs="unbounded" />
n@2581 547 <xs:element name="surveycheckbox" maxOccurs="unbounded" />
n@2581 548 <xs:element name="surveystatement" maxOccurs="unbounded" />
n@2581 549 <xs:element name="surveynumber" maxOccurs="unbounded" />
n@2581 550 <xs:element name="surveyslider" maxOccurs="unbounded" />
n@2581 551 <xs:element name="surveyvideo" maxOccurs="unbounded" />
n@2581 552 <xs:element name="surveyyoutube" maxOccurs="unbounded" />
n@2581 553 </xs:choice>
nicholas@2224 554 <xs:attribute name="location">
nicholas@2224 555 <xs:simpleType>
nicholas@2224 556 <xs:restriction base="xs:string">
nicholas@2224 557 <xs:enumeration value="before" />
nicholas@2224 558 <xs:enumeration value="pre" />
nicholas@2224 559 <xs:enumeration value="after" />
nicholas@2224 560 <xs:enumeration value="post" />
nicholas@2224 561 </xs:restriction>
nicholas@2224 562 </xs:simpleType>
nicholas@2224 563 </xs:attribute>
nicholas@3020 564 <xs:attribute name="showBackButton" type="xs:boolean" default="true" />
nicholas@2224 565 </xs:complexType>
nicholas@2224 566 </xs:element>
nicholas@2224 567
nicholas@2224 568 </xs:schema>