annotate test-schema.xsd @ 1098:fbdfdcc07f3a

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