annotate test-schema.xsd @ 1089:3de455e48d70

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