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