annotate test-schema.xsd @ 1310:fe19bb2222ef

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