Mercurial > hg > webaudioevaluationtool
view test-schema.xsd @ 1116:c44fbf72f7f2
All interfaces support comment boxes. Comment box identification matches presented tag (for instance, AB will be Comment on fragment A, rather than 1). Tighter buffer loading protocol, audioObjects register with the buffer rather than checking for buffer existence (which can be buggy depending on the buffer state). Buffers now have a state to ensure exact location in loading chain (downloading, decoding, LUFS, ready).
author | Nicholas Jillings <n.g.r.jillings@se14.qmul.ac.uk> |
---|---|
date | Fri, 29 Jan 2016 11:11:57 +0000 |
parents | |
children | c0022a09c4f6 |
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"/> <!-- 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 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" use="required" type="xs:string"/> <xs:attribute name="randomiseOrder" type="xs:boolean" default="false"/> <xs:attribute name="testPages" type="xs:nonNegativeInteger" default="0"/> <xs:attribute name="loudness" type="xs:nonPositiveInteger" use="optional"/> <xs:attribute name="sampleRate" type="xs:positiveInteger" use="optional"/> </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" use="required"/> <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="showElementComments" type="xs:boolean" default="false"/> <xs:attribute name="loudness" type="xs:nonPositiveInteger" 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" use="optional"/> <xs:attribute name="max" 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 name="type"> <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: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="required"/> <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" 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"/> <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>