annotate test-schema.xsd @ 1204:96acb21e1cd5

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