annotate test-schema.xsd @ 1297:feb4a76deaf2

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