Mercurial > hg > webaudioevaluationtool
view xml/test-schema.xsd @ 2376:c41caaa96633
Some fixes for #90. Also a failsafe loop if the server never responds with meaningul information from saves (for instance, running only on apache or basic http servers). More changes to pythonServer for python 3.5. Please check if still valid on 2.7
author | Nicholas Jillings <nicholas.jillings@mail.bcu.ac.uk> |
---|---|
date | Thu, 19 May 2016 10:44:19 +0100 |
parents | f1e67258f0b8 |
children | fbc22422d73d |
line wrap: on
line source
<?xml version="1.0"?> <xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema"> <!-- define simple elements--> <xs:element name="statement" type="xs:string" /> <xs:element name="metricenable" type="xs:string" /> <xs:element name="title" type="xs:string" /> <!-- define simple attributes--> <xs:attribute name="id" type="xs:ID" /> <xs:attribute name="mandatory" type="xs:boolean" /> <xs:attribute name="name" type="xs:string" /> <xs:attribute name="poolSize" type="xs:nonNegativeInteger" default="0" /> <xs:attribute name="alwaysInclude" type="xs:boolean" default="false" /> <xs:attribute name="preSilence"> <xs:simpleType> <xs:restriction base="xs:decimal"> <xs:minInclusive value="0.0" /> </xs:restriction> </xs:simpleType> </xs:attribute> <xs:attribute name="postSilence"> <xs:simpleType> <xs:restriction base="xs:decimal"> <xs:minInclusive value="0.0" /> </xs:restriction> </xs:simpleType> </xs:attribute> <!-- define complex elements--> <xs:element name="waet"> <xs:complexType> <xs:sequence> <xs:element ref="setup" minOccurs="1" maxOccurs="1" /> <xs:element ref="page" minOccurs="1" maxOccurs="unbounded" /> </xs:sequence> </xs:complexType> </xs:element> <xs:element name="setup"> <xs:complexType> <xs:sequence> <xs:element name="exitText" type="xs:string" minOccurs="0" maxOccurs="1" /> <xs:element ref="survey" minOccurs="0" maxOccurs="2" /> <xs:element ref="metric" maxOccurs="1" /> <xs:element ref="interface" maxOccurs="1" /> </xs:sequence> <xs:attribute name="interface" type="xs:string" use="required" /> <xs:attribute name="projectReturn" type="xs:string" use="optional" default="" /> <xs:attribute name="returnURL" type="xs:string" use="optional" default="" /> <xs:attribute name="randomiseOrder" type="xs:boolean" default="false" /> <xs:attribute ref="poolSize" /> <xs:attribute name="loudness" type="xs:nonPositiveInteger" use="optional" /> <xs:attribute name="sampleRate" type="xs:positiveInteger" use="optional" /> <xs:attribute name="calibration" type="xs:boolean" default="false" /> <xs:attribute name="crossFade" default="0.0"> <xs:simpleType> <xs:restriction base="xs:decimal"> <xs:minInclusive value="0.0" /> </xs:restriction> </xs:simpleType> </xs:attribute> <xs:attribute ref="preSilence" /> <xs:attribute ref="postSilence" /> </xs:complexType> </xs:element> <xs:element name="page"> <xs:complexType> <xs:sequence> <xs:element ref="title" minOccurs="0" maxOccurs="1" /> <xs:element name="commentboxprefix" type="xs:string" minOccurs="0" maxOccurs="1" /> <xs:element ref="interface" minOccurs="1" maxOccurs="unbounded" /> <xs:element ref="audioelement" minOccurs="1" maxOccurs="unbounded" /> <xs:element ref="commentquestion" minOccurs="0" maxOccurs="unbounded" /> <xs:element ref="survey" minOccurs="0" maxOccurs="2" /> </xs:sequence> <xs:attribute ref="id" use="required" /> <xs:attribute name="hostURL" type="xs:anyURI" default="" /> <xs:attribute name="randomiseOrder" type="xs:boolean" default="false" /> <xs:attribute name="repeatCount" type="xs:nonNegativeInteger" default="0" /> <xs:attribute name="loop" type="xs:boolean" default="false" /> <xs:attribute name="synchronous" type="xs:boolean" default="false" /> <xs:attribute name="showElementComments" type="xs:boolean" default="false" /> <xs:attribute name="loudness" type="xs:nonPositiveInteger" use="optional" /> <xs:attribute name="label" use="optional" default="default"> <xs:simpleType> <xs:restriction base="xs:string"> <xs:enumeration value="default" /> <xs:enumeration value="none" /> <xs:enumeration value="number" /> <xs:enumeration value="letter" /> <xs:enumeration value="capital" /> </xs:restriction> </xs:simpleType> </xs:attribute> <xs:attribute ref="poolSize" /> <xs:attribute ref="alwaysInclude" /> <xs:attribute ref="preSilence" /> <xs:attribute ref="postSilence" /> </xs:complexType> </xs:element> <xs:element name="metric"> <xs:complexType> <xs:sequence> <xs:element name="metricenable" type="xs:string" minOccurs="0" maxOccurs="unbounded" /> </xs:sequence> </xs:complexType> </xs:element> <xs:element name="interface"> <xs:complexType> <xs:sequence> <xs:element ref="title" minOccurs="0" maxOccurs="1" /> <xs:element name="interfaceoption" minOccurs="0" maxOccurs="unbounded"> <xs:complexType> <xs:attribute name="type" use="required"> <xs:simpleType> <xs:restriction base="xs:string"> <xs:enumeration value="check" /> <xs:enumeration value="show" /> <xs:enumeration value="option" /> </xs:restriction> </xs:simpleType> </xs:attribute> <xs:attribute ref="name" use="required" /> <xs:attribute name="min" type="xs:decimal" use="optional" /> <xs:attribute name="max" type="xs:decimal" use="optional" /> </xs:complexType> </xs:element> <xs:element name="scales" minOccurs="0" maxOccurs="1"> <xs:complexType> <xs:sequence> <xs:element name="scalelabel" minOccurs="0" maxOccurs="unbounded"> <xs:complexType> <xs:simpleContent> <xs:extension base="xs:string"> <xs:attribute name="position" use="required"> <xs:simpleType> <xs:restriction base="xs:nonNegativeInteger"> <xs:minInclusive value="0" /> <xs:maxInclusive value="100" /> </xs:restriction> </xs:simpleType> </xs:attribute> </xs:extension> </xs:simpleContent> </xs:complexType> </xs:element> </xs:sequence> </xs:complexType> </xs:element> </xs:sequence> <xs:attribute ref="name" use="optional" /> </xs:complexType> </xs:element> <xs:element name="audioelement"> <xs:complexType> <xs:attribute ref="id" use="required" /> <xs:attribute name="url" type="xs:anyURI" use="required" /> <xs:attribute name="gain" type="xs:decimal" default="0" /> <xs:attribute ref="name" /> <xs:attribute name="type" default="normal"> <xs:simpleType> <xs:restriction base="xs:string"> <xs:enumeration value="normal" /> <xs:enumeration value="anchor" /> <xs:enumeration value="reference" /> <xs:enumeration value="outside-reference" /> </xs:restriction> </xs:simpleType> </xs:attribute> <xs:attribute name="marker" use="optional"> <xs:simpleType> <xs:restriction base="xs:nonNegativeInteger"> <xs:minInclusive value="0" /> <xs:maxInclusive value="100" /> </xs:restriction> </xs:simpleType> </xs:attribute> <xs:attribute name="loudness" type="xs:nonPositiveInteger" use="optional" /> <xs:attribute ref="alwaysInclude" /> <xs:attribute ref="preSilence" /> <xs:attribute ref="postSilence" /> </xs:complexType> </xs:element> <xs:element name="commentquestion"> <xs:complexType> <xs:sequence> <xs:element ref="statement" minOccurs="0" maxOccurs="1" /> <xs:element name="option" minOccurs="0" maxOccurs="unbounded"> <xs:complexType> <xs:simpleContent> <xs:extension base="xs:string"> <xs:attribute ref="name" /> </xs:extension> </xs:simpleContent> </xs:complexType> </xs:element> </xs:sequence> <xs:attribute ref="id" use="optional" /> <xs:attribute ref="name" use="optional" /> <xs:attribute name="type" default="question"> <xs:simpleType> <xs:restriction base="xs:string"> <xs:enumeration value="question" /> <xs:enumeration value="radio" /> <xs:enumeration value="checkbox" /> </xs:restriction> </xs:simpleType> </xs:attribute> </xs:complexType> </xs:element> <xs:element name="survey"> <xs:complexType> <xs:sequence> <xs:element name="surveyentry" minOccurs="0" maxOccurs="unbounded"> <xs:complexType> <xs:sequence> <xs:element ref="statement" minOccurs="1" maxOccurs="1" /> <xs:element name="option" minOccurs="0" maxOccurs="unbounded"> <xs:complexType> <xs:simpleContent> <xs:extension base="xs:string"> <xs:attribute ref="name" /> </xs:extension> </xs:simpleContent> </xs:complexType> </xs:element> </xs:sequence> <xs:attribute ref="id" use="required" /> <xs:attribute ref="name" /> <xs:attribute ref="mandatory" /> <xs:attribute name="min" type="xs:decimal" /> <xs:attribute name="max" type="xs:decimal" /> <xs:attribute name="type" use="required"> <xs:simpleType> <xs:restriction base="xs:string"> <xs:enumeration value="statement" /> <xs:enumeration value="question" /> <xs:enumeration value="number" /> <xs:enumeration value="radio" /> <xs:enumeration value="checkbox" /> </xs:restriction> </xs:simpleType> </xs:attribute> <xs:attribute name="boxsize" default="normal"> <xs:simpleType> <xs:restriction base="xs:string"> <xs:enumeration value="normal" /> <xs:enumeration value="large" /> <xs:enumeration value="small" /> <xs:enumeration value="huge" /> </xs:restriction> </xs:simpleType> </xs:attribute> </xs:complexType> </xs:element> </xs:sequence> <xs:attribute name="location"> <xs:simpleType> <xs:restriction base="xs:string"> <xs:enumeration value="before" /> <xs:enumeration value="pre" /> <xs:enumeration value="after" /> <xs:enumeration value="post" /> </xs:restriction> </xs:simpleType> </xs:attribute> </xs:complexType> </xs:element> </xs:schema>