annotate test-schema.xsd @ 1104:c82bd8a6fa95

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