comparison test-schema.xsd @ 1099:0a15fa67bda1

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