Mercurial > hg > webaudioevaluationtool
view xml/test-schema.xsd @ 2721:2bc86ec0ac6c
Merge branch 'master' of https://github.com/BrechtDeMan/WebAudioEvaluationTool
author | www-data <www-data@sucuk.dcs.qmul.ac.uk> |
---|---|
date | Fri, 14 Apr 2017 17:21:11 +0100 |
parents | b9efbbe0d829 |
children | 4c76b5e8874b |
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> <xs:attribute name="playOne" type="xs:boolean" default="false" /> <!-- 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:attribute ref="playOne" /> </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="commentquestions" minOccurs="0" maxOccurs="1" /> <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="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:enumeration value="samediff" /> </xs:restriction> </xs:simpleType> </xs:attribute> <xs:attribute name="labelStart" type="xs:string" use="optional" default="" /> <xs:attribute ref="poolSize" /> <xs:attribute ref="alwaysInclude" /> <xs:attribute name="position" use="optional" type="xs:nonNegativeInteger" /> <xs:attribute ref="preSilence" /> <xs:attribute ref="postSilence" /> <xs:attribute ref="playOne" /> <xs:attribute name="restrictMovement" type="xs:boolean" default="false" use="optional" /> </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:sequence> <xs:element name="alternative" minOccurs="0" maxOccurs="unbounded"> <xs:complexType> <xs:attribute name="url" type="xs:anyURI" use="required" /> <xs:attribute name="sampleRate" use="optional"> <xs:simpleType> <xs:restriction base="xs:decimal"> <xs:minInclusive value="1" /> </xs:restriction> </xs:simpleType> </xs:attribute> </xs:complexType> </xs:element> </xs:sequence> <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 name="label" type="xs:string" default="" /> <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:attribute name="startTime" use="optional"> <xs:simpleType> <xs:restriction base="xs:decimal"> <xs:minInclusive value="0" /> </xs:restriction> </xs:simpleType> </xs:attribute> <xs:attribute name="stopTime" use="optional"> <xs:simpleType> <xs:restriction base="xs:decimal"> <xs:minInclusive value="0" /> </xs:restriction> </xs:simpleType> </xs:attribute> <xs:attribute name="sampleRate" use="optional"> <xs:simpleType> <xs:restriction base="xs:decimal"> <xs:minInclusive value="1" /> </xs:restriction> </xs:simpleType> </xs:attribute> </xs:complexType> </xs:element> <xs:element name="commentquestions"> <xs:complexType> <xs:choice maxOccurs="unbounded"> <xs:element name="commentquestion" maxOccurs="unbounded" /> <xs:element name="commentradio" maxOccurs="unbounded" /> <xs:element name="commentcheckbox" maxOccurs="unbounded" /> <xs:element name="commentslider" maxOccurs="unbounded" /> </xs:choice> </xs:complexType> </xs:element> <xs:element name="commentradio"> <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="optional" /> <xs:attribute ref="name" use="optional" /> </xs:complexType> </xs:element> <xs:element name="commentcheckbox"> <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="optional" /> <xs:attribute ref="name" use="optional" /> </xs:complexType> </xs:element> <xs:element name="commentquestion"> <xs:complexType> <xs:sequence> <xs:element ref="statement" minOccurs="1" maxOccurs="1" /> </xs:sequence> <xs:attribute ref="id" use="optional" /> <xs:attribute ref="name" use="optional" /> </xs:complexType> </xs:element> <xs:element name="commentslider"> <xs:complexType> <xs:sequence> <xs:element ref="statement" minOccurs="1" maxOccurs="1" /> <xs:element name="minText" minOccurs="0" maxOccurs="1" type="xs:string" /> <xs:element name="maxText" minOccurs="0" maxOccurs="1" type="xs:string" /> </xs:sequence> <xs:attribute ref="id" use="optional" /> <xs:attribute ref="name" use="optional" /> <xs:attribute name="min" type="xs:decimal" use="required" /> <xs:attribute name="max" type="xs:decimal" use="required" /> <xs:attribute name="step" type="xs:decimal" use="optional" default="1" /> <xs:attribute name="value" type="xs:decimal" use="optional" /> </xs:complexType> </xs:element> <xs:element name="conditional"> <xs:complexType> <xs:attribute name="check" use="required"> <xs:simpleType> <xs:restriction base="xs:string"> <xs:enumeration value="equals" /> <xs:enumeration value="lessThan" /> <xs:enumeration value="greaterThan" /> <xs:enumeration value="stringContains" /> </xs:restriction> </xs:simpleType> </xs:attribute> <xs:attribute name="value" type="xs:string" use="optional" /> <xs:attribute name="jumpToOnPass" type="xs:string" use="optional" /> <xs:attribute name="jumpToOnFail" type="xs:string" use="optional" /> </xs:complexType> </xs:element> <xs:element name="surveyquestion"> <xs:complexType> <xs:sequence> <xs:element ref="statement" minOccurs="1" maxOccurs="1" /> <xs:element ref="conditional" minOccurs="0" maxOccurs="unbounded" /> </xs:sequence> <xs:attribute ref="id" use="required" /> <xs:attribute ref="name" /> <xs:attribute ref="mandatory" /> <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:element name="surveyradio"> <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:element ref="conditional" minOccurs="0" maxOccurs="unbounded" /> </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:complexType> </xs:element> <xs:element name="surveycheckbox"> <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:element ref="conditional" minOccurs="0" maxOccurs="unbounded" /> </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:complexType> </xs:element> <xs:element name="surveystatement"> <xs:complexType> <xs:sequence> <xs:element ref="statement" minOccurs="1" maxOccurs="1" /> </xs:sequence> <xs:attribute ref="id" use="required" /> </xs:complexType> </xs:element> <xs:element name="surveynumber"> <xs:complexType> <xs:sequence> <xs:element ref="statement" minOccurs="1" maxOccurs="1" /> <xs:element ref="conditional" minOccurs="0" maxOccurs="unbounded" /> </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:complexType> </xs:element> <xs:element name="surveyslider"> <xs:complexType> <xs:sequence> <xs:element ref="statement" minOccurs="1" maxOccurs="1" /> <xs:element name="minText" minOccurs="0" maxOccurs="1" type="xs:string" /> <xs:element name="maxText" minOccurs="0" maxOccurs="1" type="xs:string" /> <xs:element ref="conditional" minOccurs="0" maxOccurs="unbounded" /> </xs:sequence> <xs:attribute ref="id" use="required" /> <xs:attribute ref="name" /> <xs:attribute name="min" use="required" type="xs:decimal" /> <xs:attribute name="max" use="required" type="xs:decimal" /> </xs:complexType> </xs:element> <xs:element name="surveyvideo"> <xs:complexType> <xs:sequence> <xs:element ref="statement" minOccurs="1" maxOccurs="1" /> </xs:sequence> <xs:attribute ref="id" use="required" /> <xs:attribute name="url" use="required" type="xs:string" /> </xs:complexType> </xs:element> <xs:element name="surveyyoutube"> <xs:complexType> <xs:sequence> <xs:element ref="statement" minOccurs="1" maxOccurs="1" /> </xs:sequence> <xs:attribute ref="id" use="required" /> <xs:attribute name="url" use="required" type="xs:string" /> </xs:complexType> </xs:element> <xs:element name="survey"> <xs:complexType> <xs:choice maxOccurs="unbounded"> <xs:element name="surveyentry" 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:element ref="conditional" minOccurs="0" maxOccurs="unbounded" /> </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:enumeration value="video" /> <xs:enumeration value="youtube" /> </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:attribute name="url" type="xs:string" use="optional" /> </xs:complexType> </xs:element> <xs:element name="surveyquestion" maxOccurs="unbounded" /> <xs:element name="surveyradio" maxOccurs="unbounded" /> <xs:element name="surveycheckbox" maxOccurs="unbounded" /> <xs:element name="surveystatement" maxOccurs="unbounded" /> <xs:element name="surveynumber" maxOccurs="unbounded" /> <xs:element name="surveyslider" maxOccurs="unbounded" /> <xs:element name="surveyvideo" maxOccurs="unbounded" /> <xs:element name="surveyyoutube" maxOccurs="unbounded" /> </xs:choice> <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>