changeset 2960:5705787531a3

Fixed #257
author Nicholas Jillings <nicholas.jillings@mail.bcu.ac.uk>
date Wed, 22 Nov 2017 10:08:12 +0000
parents 325940450125
children 1593792ae742 292c0bd8d87d 8881dbe2807e 396b9aac3bb9
files test_create/test_core.js tests/examples/ABX_example.xml tests/examples/AB_example.xml tests/examples/APE_example.xml tests/examples/horizontal_example.xml tests/examples/mushra_example.xml tests/examples/ordinal_example.xml tests/examples/radio_example.xml tests/examples/timeline.xml
diffstat 9 files changed, 569 insertions(+), 569 deletions(-) [+]
line wrap: on
line diff
--- a/test_create/test_core.js	Tue Nov 21 15:26:50 2017 +0000
+++ b/test_create/test_core.js	Wed Nov 22 10:08:12 2017 +0000
@@ -114,7 +114,7 @@
 
     $s.exportXML = function () {
         var s = new XMLSerializer();
-        var doc = specification.encode();
+        var doc = "<?xml version=\"1.0\" encoding=\"ISO-8859-1\"?>" + specification.encode();
         var xmlstr = s.serializeToString(doc);
         var bb = new Blob([s.serializeToString(doc)], {
             type: 'application/xml'
@@ -211,9 +211,9 @@
         }
     };
     $s.select = function (name) {
-            $s.selected = name;
-        }
-        // Get the test interface specifications
+        $s.selected = name;
+    }
+    // Get the test interface specifications
     $s.file = undefined;
     $s.description = "";
 
--- a/tests/examples/ABX_example.xml	Tue Nov 21 15:26:50 2017 +0000
+++ b/tests/examples/ABX_example.xml	Wed Nov 22 10:08:12 2017 +0000
@@ -1,87 +1,87 @@
-<?xml version="1.0" encoding="utf-8"?>
-    <waet xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="test-schema.xsd">
-        <setup interface="ABX" projectReturn="save.php" randomiseOrder='true' poolSize="2" loudness="-23">
-            <survey location="before">
-                <surveyquestion id="sessionId" mandatory="true">
-                    <statement>Please enter your name.</statement>
-                </surveyquestion>
-                <surveycheckbox id="checkboxtest" mandatory="true">
-                    <statement>Please select with which activities you have any experience (example checkbox question)</statement>
-                    <option name="musician">Playing a musical instrument</option>
-                    <option name="soundengineer">Recording or mixing audio</option>
-                    <option name="developer">Developing audio software</option>
-                    <option name="hwdesigner">Designing or building audio hardware</option>
-                    <option name="researcher">Research in the field of audio</option>
-                </surveycheckbox>
-                <surveystatement id="test-intro">
-                    <statement>This is an example of an 'ABX'-style test, with two pages, using the test stimuli in 'example_eval/'.</statement>
-                </surveystatement>
-            </survey>
-            <survey location="after">
-                <surveyquestion id="location" mandatory="true" boxsize="large">
-                    <statement>Please enter your location. (example mandatory text question)</statement>
-                </surveyquestion>
-                <surveynumber id="age" min="0">
-                    <statement>Please enter your age (example non-mandatory number question)</statement>
-                </surveynumber>
-                <surveyradio id="rating">
-                    <statement>Please rate this interface (example radio button question)</statement>
-                    <option name="bad">Bad</option>
-                    <option name="poor">Poor</option>
-                    <option name="good">Good</option>
-                    <option name="great">Great</option>
-                </surveyradio>
-                <surveystatement id="test-thank-you">
-                    <statement>Thank you for taking this listening test. Please click 'submit' and your results will appear in the 'saves/' folder.</statement>
-                </surveystatement>
-            </survey>
-            <metric>
-                <metricenable>testTimer</metricenable>
-                <metricenable>elementTimer</metricenable>
-                <metricenable>elementInitialPosition</metricenable>
-                <metricenable>elementTracker</metricenable>
-                <metricenable>elementFlagListenedTo</metricenable>
-                <metricenable>elementFlagMoved</metricenable>
-                <metricenable>elementListenTracker</metricenable>
-            </metric>
-            <interface>
-                <interfaceoption type="check" name="fragmentMoved" />
-                <interfaceoption type="check" name="scalerange" min="25" max="75" />
-                <interfaceoption type="show" name='playhead' />
-                <interfaceoption type="show" name="page-count" />
-                <interfaceoption type="show" name='volume' />
-                <interfaceoption type="show" name='comments' />
-            </interface>
-        </setup>
-        <page id='test-0' hostURL="media/example/" randomiseOrder='true' repeatCount='0' loop='true' loudness="-12">
-            <commentboxprefix>Comment on fragment</commentboxprefix>
-            <interface>
-                <title>Depth</title>
-            </interface>
-            <audioelement url="0.wav" id="track-0" image="https://upload.wikimedia.org/wikipedia/commons/0/0a/Drumkit-icon.png" />
-            <audioelement url="1.wav" id="track-1" image="https://upload.wikimedia.org/wikipedia/commons/0/0a/Drumkit-icon.png" />
-            <survey location="before">
-                <surveyentry type="statement" id="test-0-intro">
-                    <statement>A two way comparison using randomised element order, automatic loudness and synchronised looping.</statement>
-                </surveyentry>
-            </survey>
-            <survey location="after">
-                <surveyentry type="question" id="genre-0" mandatory="true">
-                    <statement>Please enter the genre.</statement>
-                </surveyentry>
-            </survey>
-        </page>
-        <page id='test-1' hostURL="media/example/" randomiseOrder='true' repeatCount='0' loop='false' loudness="-12">
-            <commentboxprefix>Comment on fragment</commentboxprefix>
-            <interface>
-                <title>Depth</title>
-            </interface>
-            <audioelement url="0.wav" id="track-2" />
-            <audioelement url="1.wav" id="track-3" />
-            <survey location="after">
-                <surveyentry type="question" id="genre-1" mandatory="true">
-                    <statement>Please enter the genre.</statement>
-                </surveyentry>
-            </survey>
-        </page>
-    </waet>
+<?xml version="1.0" encoding="ISO-8859-1"?>
+<waet xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="test-schema.xsd">
+    <setup interface="ABX" projectReturn="save.php" randomiseOrder='true' poolSize="2" loudness="-23">
+        <survey location="before">
+            <surveyquestion id="sessionId" mandatory="true">
+                <statement>Please enter your name.</statement>
+            </surveyquestion>
+            <surveycheckbox id="checkboxtest" mandatory="true">
+                <statement>Please select with which activities you have any experience (example checkbox question)</statement>
+                <option name="musician">Playing a musical instrument</option>
+                <option name="soundengineer">Recording or mixing audio</option>
+                <option name="developer">Developing audio software</option>
+                <option name="hwdesigner">Designing or building audio hardware</option>
+                <option name="researcher">Research in the field of audio</option>
+            </surveycheckbox>
+            <surveystatement id="test-intro">
+                <statement>This is an example of an 'ABX'-style test, with two pages, using the test stimuli in 'example_eval/'.</statement>
+            </surveystatement>
+        </survey>
+        <survey location="after">
+            <surveyquestion id="location" mandatory="true" boxsize="large">
+                <statement>Please enter your location. (example mandatory text question)</statement>
+            </surveyquestion>
+            <surveynumber id="age" min="0">
+                <statement>Please enter your age (example non-mandatory number question)</statement>
+            </surveynumber>
+            <surveyradio id="rating">
+                <statement>Please rate this interface (example radio button question)</statement>
+                <option name="bad">Bad</option>
+                <option name="poor">Poor</option>
+                <option name="good">Good</option>
+                <option name="great">Great</option>
+            </surveyradio>
+            <surveystatement id="test-thank-you">
+                <statement>Thank you for taking this listening test. Please click 'submit' and your results will appear in the 'saves/' folder.</statement>
+            </surveystatement>
+        </survey>
+        <metric>
+            <metricenable>testTimer</metricenable>
+            <metricenable>elementTimer</metricenable>
+            <metricenable>elementInitialPosition</metricenable>
+            <metricenable>elementTracker</metricenable>
+            <metricenable>elementFlagListenedTo</metricenable>
+            <metricenable>elementFlagMoved</metricenable>
+            <metricenable>elementListenTracker</metricenable>
+        </metric>
+        <interface>
+            <interfaceoption type="check" name="fragmentMoved" />
+            <interfaceoption type="check" name="scalerange" min="25" max="75" />
+            <interfaceoption type="show" name='playhead' />
+            <interfaceoption type="show" name="page-count" />
+            <interfaceoption type="show" name='volume' />
+            <interfaceoption type="show" name='comments' />
+        </interface>
+    </setup>
+    <page id='test-0' hostURL="media/example/" randomiseOrder='true' repeatCount='0' loop='true' loudness="-12">
+        <commentboxprefix>Comment on fragment</commentboxprefix>
+        <interface>
+            <title>Depth</title>
+        </interface>
+        <audioelement url="0.wav" id="track-0" image="https://upload.wikimedia.org/wikipedia/commons/0/0a/Drumkit-icon.png" />
+        <audioelement url="1.wav" id="track-1" image="https://upload.wikimedia.org/wikipedia/commons/0/0a/Drumkit-icon.png" />
+        <survey location="before">
+            <surveyentry type="statement" id="test-0-intro">
+                <statement>A two way comparison using randomised element order, automatic loudness and synchronised looping.</statement>
+            </surveyentry>
+        </survey>
+        <survey location="after">
+            <surveyentry type="question" id="genre-0" mandatory="true">
+                <statement>Please enter the genre.</statement>
+            </surveyentry>
+        </survey>
+    </page>
+    <page id='test-1' hostURL="media/example/" randomiseOrder='true' repeatCount='0' loop='false' loudness="-12">
+        <commentboxprefix>Comment on fragment</commentboxprefix>
+        <interface>
+            <title>Depth</title>
+        </interface>
+        <audioelement url="0.wav" id="track-2" />
+        <audioelement url="1.wav" id="track-3" />
+        <survey location="after">
+            <surveyentry type="question" id="genre-1" mandatory="true">
+                <statement>Please enter the genre.</statement>
+            </surveyentry>
+        </survey>
+    </page>
+</waet>
--- a/tests/examples/AB_example.xml	Tue Nov 21 15:26:50 2017 +0000
+++ b/tests/examples/AB_example.xml	Wed Nov 22 10:08:12 2017 +0000
@@ -1,4 +1,4 @@
-<?xml version="1.0" encoding="utf-8"?>
+<?xml version="1.0" encoding="ISO-8859-1"?>
     <waet xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="test-schema.xsd">
         <setup interface="AB" projectReturn="save.php" randomiseOrder="false" poolSize="2" loudness="-23" playOne="true">
             <survey location="before">
--- a/tests/examples/APE_example.xml	Tue Nov 21 15:26:50 2017 +0000
+++ b/tests/examples/APE_example.xml	Wed Nov 22 10:08:12 2017 +0000
@@ -1,145 +1,145 @@
-<?xml version="1.0" encoding="utf-8"?>
-    <waet xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="test-schema.xsd">
-        <setup interface="APE" projectReturn="save.php" randomiseOrder='true' poolSize="2" loudness="-23" calibration="true">
-            <survey location="before">
-                <surveyquestion id="sessionId" mandatory="true">
-                    <statement>Please enter your name.</statement>
-                    <conditional check="equals" value="John" jumpToOnPass="test-intro" jumpToOnFail="checkboxtest" />
-                </surveyquestion>
-                <surveycheckbox id="checkboxtest" mandatory="true" min="2" max="4" randomise="true">
-                    <statement>Please select with which activities you have any experience (example checkbox question)</statement>
-                    <option name="musician">Playing a musical instrument</option>
-                    <option name="soundengineer">Recording or mixing audio</option>
-                    <option name="developer">Developing audio software</option>
-                    <option name="hwdesigner">Designing or building audio hardware</option>
-                    <option name="researcher">Research in the field of audio</option>
-                </surveycheckbox>
-                <surveyquestion id="instrument" mandatory="false">
-                    <statement>What instrument did you play?</statement>
-                </surveyquestion>
-                <surveystatement id="test-intro">
-                    <statement>This is an example of an 'APE'-style test, with two pages, using the test stimuli in 'example_eval/'.</statement>
-                </surveystatement>
-            </survey>
-            <survey location="after">
-                <surveyquestion id="location" mandatory="true" boxsize="large">
-                    <statement>Please enter your location. (example mandatory text question)</statement>
-                </surveyquestion>
-                <surveynumber id="age" min="0">
-                    <statement>Please enter your age (example non-mandatory number question)</statement>
-                </surveynumber>
-                <surveyradio id="rating">
-                    <statement>Please rate this interface (example radio button question)</statement>
-                    <option name="bad">Bad</option>
-                    <option name="poor">Poor</option>
-                    <option name="good">Good</option>
-                    <option name="great">Great</option>
-                </surveyradio>
-                <surveystatement id="thankyou">
-                    <statement>Thank you for taking this listening test. Please click 'submit' and your results will appear in the 'saves/' folder.</statement>
-                </surveystatement>
-            </survey>
-            <metric>
-                <metricenable>testTimer</metricenable>
-                <metricenable>elementTimer</metricenable>
-                <metricenable>elementInitialPosition</metricenable>
-                <metricenable>elementTracker</metricenable>
-                <metricenable>elementFlagListenedTo</metricenable>
-                <metricenable>elementFlagMoved</metricenable>
-                <metricenable>elementListenTracker</metricenable>
-            </metric>
-            <interface>
-                <interfaceoption type="check" name="fragmentMoved" />
-                <interfaceoption type="check" name="fragmentPlayed" />
-                <interfaceoption type="check" name="scalerange" min="25" max="75" />
-                <interfaceoption type="show" name='playhead' />
-                <interfaceoption type="show" name="page-count" />
-                <interfaceoption type="show" name="comments" />
-            </interface>
-        </setup>
-        <page id='test-0' hostURL="media/example/" randomiseOrder='true' repeatCount='0' loop='true' synchronous="true" loudness="-12">
-            <commentboxprefix>Comment on fragment</commentboxprefix>
-            <interface name="preference">
-                <title>Preference</title>
-                <scales>
-                    <scalelabel position="0">Min</scalelabel>
-                    <scalelabel position="100">Max</scalelabel>
-                    <scalelabel position="50">Middle</scalelabel>
-                    <scalelabel position="20">20</scalelabel>
-                </scales>
-            </interface>
-            <interface name="depth">
-                <title>Depth</title>
-                <scales>
-                    <scalelabel position="0">Low</scalelabel>
-                    <scalelabel position="100">High</scalelabel>
-                    <scalelabel position="50">Middle</scalelabel>
-                    <scalelabel position="50">Middle</scalelabel>
-                </scales>
-            </interface>
-            <audioelement url="0.wav" id="track-0" type="anchor" />
-            <audioelement url="1.wav" id="track-1" />
-            <audioelement url="2.wav" id="track-2" />
-            <audioelement url="3.wav" id="track-3" />
-            <audioelement url="4.wav" id="track-4" />
-            <survey location="before">
-                <surveyentry type="statement" id="test-0-intro">
-                    <statement>Example of an 'APE' style interface with hidden anchor 'zero' (which needs to be below 20%), looping of the samples, randomisation of marker labels, mandatory moving of every sample, and a forced scale usage of at least 25%-75%.</statement>
-                </surveyentry>
-            </survey>
-            <survey location="after">
-                <surveyentry type="question" id="genre-0" mandatory="true">
-                    <statement>Please enter the genre.</statement>
-                </surveyentry>
-            </survey>
-        </page>
-        <page id='test-1' hostURL="media/example/" randomiseOrder='true' repeatCount='0' loop='false' synchronous="true" label="letter">
-            <commentboxprefix>Comment on fragment</commentboxprefix>
-            <interface name="preference">
-                <title>Example Test Question</title>
-                <scales>
-                    <scalelabel position="0">Min</scalelabel>
-                    <scalelabel position="100">Max</scalelabel>
-                    <scalelabel position="50">Middle</scalelabel>
-                    <scalelabel position="20">20</scalelabel>
-                </scales>
-            </interface>
-            <audioelement url="0.wav" gain="-6" id="track-5" type="anchor" marker="20" />
-            <audioelement url="1.wav" gain="0.0" id="track-6" type="reference" marker="80" />
-            <audioelement url="2.wav" gain="0.0" id="track-7" />
-            <audioelement url="3.wav" gain="0.0" id="track-8" />
-            <audioelement url="4.wav" gain="0.0" id="track-9" />
-            <audioelement url="5.wav" gain="0.0" id="track-10" />
-            <audioelement url="6.wav" gain="0.0" id="track-11" type="outside-reference" />
-            <commentquestions>
-                <commentquestion id='mixingExperience'>
-                    <statement>What is your general experience with numbers?</statement>
-                </commentquestion>
-                <commentradio id="preference">
-                    <statement>Please enter your overall preference</statement>
-                    <option name="worst">Very Bad</option>
-                    <option name="bad"></option>
-                    <option name="OK">OK</option>
-                    <option name="Good"></option>
-                    <option name="Great">Great</option>
-                </commentradio>
-                <commentcheckbox id="character" type="checkbox">
-                    <statement>Please describe the overall character</statement>
-                    <option name="funky">Funky</option>
-                    <option name="mellow">Mellow</option>
-                    <option name="laidback">Laid back</option>
-                    <option name="heavy">Heavy</option>
-                </commentcheckbox>
-            </commentquestions>
-            <survey location="before">
-                <surveyentry type="statement" id="test-1-intro">
-                    <statement>Example of an 'APE' style interface with hidden anchor 'zero' (which needs to be below 20%), looping of the samples, randomisation of marker labels, mandatory moving of every sample, and a forced scale usage of at least 25%-75%.</statement>
-                </surveyentry>
-            </survey>
-            <survey location="after">
-                <surveyentry type="question" id="genre-1" mandatory="true">
-                    <statement>Please enter the genre.</statement>
-                </surveyentry>
-            </survey>
-        </page>
-    </waet>
+<?xml version="1.0" encoding="ISO-8859-1"?>
+<waet xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="test-schema.xsd">
+    <setup interface="APE" projectReturn="save.php" randomiseOrder='true' poolSize="2" loudness="-23" calibration="true">
+        <survey location="before">
+            <surveyquestion id="sessionId" mandatory="true">
+                <statement>Please enter your name.</statement>
+                <conditional check="equals" value="John" jumpToOnPass="test-intro" jumpToOnFail="checkboxtest" />
+            </surveyquestion>
+            <surveycheckbox id="checkboxtest" mandatory="true" min="2" max="4" randomise="true">
+                <statement>Please select with which activities you have any experience (example checkbox question)</statement>
+                <option name="musician">Playing a musical instrument</option>
+                <option name="soundengineer">Recording or mixing audio</option>
+                <option name="developer">Developing audio software</option>
+                <option name="hwdesigner">Designing or building audio hardware</option>
+                <option name="researcher">Research in the field of audio</option>
+            </surveycheckbox>
+            <surveyquestion id="instrument" mandatory="false">
+                <statement>What instrument did you play?</statement>
+            </surveyquestion>
+            <surveystatement id="test-intro">
+                <statement>This is an example of an 'APE'-style test, with two pages, using the test stimuli in 'example_eval/'.</statement>
+            </surveystatement>
+        </survey>
+        <survey location="after">
+            <surveyquestion id="location" mandatory="true" boxsize="large">
+                <statement>Please enter your location. (example mandatory text question)</statement>
+            </surveyquestion>
+            <surveynumber id="age" min="0">
+                <statement>Please enter your age (example non-mandatory number question)</statement>
+            </surveynumber>
+            <surveyradio id="rating">
+                <statement>Please rate this interface (example radio button question)</statement>
+                <option name="bad">Bad</option>
+                <option name="poor">Poor</option>
+                <option name="good">Good</option>
+                <option name="great">Great</option>
+            </surveyradio>
+            <surveystatement id="thankyou">
+                <statement>Thank you for taking this listening test. Please click 'submit' and your results will appear in the 'saves/' folder.</statement>
+            </surveystatement>
+        </survey>
+        <metric>
+            <metricenable>testTimer</metricenable>
+            <metricenable>elementTimer</metricenable>
+            <metricenable>elementInitialPosition</metricenable>
+            <metricenable>elementTracker</metricenable>
+            <metricenable>elementFlagListenedTo</metricenable>
+            <metricenable>elementFlagMoved</metricenable>
+            <metricenable>elementListenTracker</metricenable>
+        </metric>
+        <interface>
+            <interfaceoption type="check" name="fragmentMoved" />
+            <interfaceoption type="check" name="fragmentPlayed" />
+            <interfaceoption type="check" name="scalerange" min="25" max="75" />
+            <interfaceoption type="show" name='playhead' />
+            <interfaceoption type="show" name="page-count" />
+            <interfaceoption type="show" name="comments" />
+        </interface>
+    </setup>
+    <page id='test-0' hostURL="media/example/" randomiseOrder='true' repeatCount='0' loop='true' synchronous="true" loudness="-12">
+        <commentboxprefix>Comment on fragment</commentboxprefix>
+        <interface name="preference">
+            <title>Preference</title>
+            <scales>
+                <scalelabel position="0">Min</scalelabel>
+                <scalelabel position="100">Max</scalelabel>
+                <scalelabel position="50">Middle</scalelabel>
+                <scalelabel position="20">20</scalelabel>
+            </scales>
+        </interface>
+        <interface name="depth">
+            <title>Depth</title>
+            <scales>
+                <scalelabel position="0">Low</scalelabel>
+                <scalelabel position="100">High</scalelabel>
+                <scalelabel position="50">Middle</scalelabel>
+                <scalelabel position="50">Middle</scalelabel>
+            </scales>
+        </interface>
+        <audioelement url="0.wav" id="track-0" type="anchor" />
+        <audioelement url="1.wav" id="track-1" />
+        <audioelement url="2.wav" id="track-2" />
+        <audioelement url="3.wav" id="track-3" />
+        <audioelement url="4.wav" id="track-4" />
+        <survey location="before">
+            <surveyentry type="statement" id="test-0-intro">
+                <statement>Example of an 'APE' style interface with hidden anchor 'zero' (which needs to be below 20%), looping of the samples, randomisation of marker labels, mandatory moving of every sample, and a forced scale usage of at least 25%-75%.</statement>
+            </surveyentry>
+        </survey>
+        <survey location="after">
+            <surveyentry type="question" id="genre-0" mandatory="true">
+                <statement>Please enter the genre.</statement>
+            </surveyentry>
+        </survey>
+    </page>
+    <page id='test-1' hostURL="media/example/" randomiseOrder='true' repeatCount='0' loop='false' synchronous="true" label="letter">
+        <commentboxprefix>Comment on fragment</commentboxprefix>
+        <interface name="preference">
+            <title>Example Test Question</title>
+            <scales>
+                <scalelabel position="0">Min</scalelabel>
+                <scalelabel position="100">Max</scalelabel>
+                <scalelabel position="50">Middle</scalelabel>
+                <scalelabel position="20">20</scalelabel>
+            </scales>
+        </interface>
+        <audioelement url="0.wav" gain="-6" id="track-5" type="anchor" marker="20" />
+        <audioelement url="1.wav" gain="0.0" id="track-6" type="reference" marker="80" />
+        <audioelement url="2.wav" gain="0.0" id="track-7" />
+        <audioelement url="3.wav" gain="0.0" id="track-8" />
+        <audioelement url="4.wav" gain="0.0" id="track-9" />
+        <audioelement url="5.wav" gain="0.0" id="track-10" />
+        <audioelement url="6.wav" gain="0.0" id="track-11" type="outside-reference" />
+        <commentquestions>
+            <commentquestion id='mixingExperience'>
+                <statement>What is your general experience with numbers?</statement>
+            </commentquestion>
+            <commentradio id="preference">
+                <statement>Please enter your overall preference</statement>
+                <option name="worst">Very Bad</option>
+                <option name="bad"></option>
+                <option name="OK">OK</option>
+                <option name="Good"></option>
+                <option name="Great">Great</option>
+            </commentradio>
+            <commentcheckbox id="character" type="checkbox">
+                <statement>Please describe the overall character</statement>
+                <option name="funky">Funky</option>
+                <option name="mellow">Mellow</option>
+                <option name="laidback">Laid back</option>
+                <option name="heavy">Heavy</option>
+            </commentcheckbox>
+        </commentquestions>
+        <survey location="before">
+            <surveyentry type="statement" id="test-1-intro">
+                <statement>Example of an 'APE' style interface with hidden anchor 'zero' (which needs to be below 20%), looping of the samples, randomisation of marker labels, mandatory moving of every sample, and a forced scale usage of at least 25%-75%.</statement>
+            </surveyentry>
+        </survey>
+        <survey location="after">
+            <surveyentry type="question" id="genre-1" mandatory="true">
+                <statement>Please enter the genre.</statement>
+            </surveyentry>
+        </survey>
+    </page>
+</waet>
--- a/tests/examples/horizontal_example.xml	Tue Nov 21 15:26:50 2017 +0000
+++ b/tests/examples/horizontal_example.xml	Wed Nov 22 10:08:12 2017 +0000
@@ -1,33 +1,33 @@
-<?xml version="1.0" encoding="UTF-8" ?>
-    <waet xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="test-schema.xsd">
-        <setup interface="horizontal" projectReturn="save.php">
-            <metric>
-                <metricenable>testTimer</metricenable>
-                <metricenable>elementTimer</metricenable>
-                <metricenable>elementInitialPosition</metricenable>
-                <metricenable>elementTracker</metricenable>
-                <metricenable>elementFlagListenedTo</metricenable>
-                <metricenable>elementFlagMoved</metricenable>
-                <metricenable>elementListenTracker</metricenable>
-            </metric>
-            <interface>
-                <interfaceoption type="check" name="fragmentMoved" />
-                <interfaceoption type="check" name="scalerange" min="25" max="75" />
-                <interfaceoption type="show" name='playhead' />
-                <interfaceoption type="show" name="page-count" />
-                <interfaceoption type="show" name="volume" />
-                <interfaceoption type="show" name="comments" />
-            </interface>
-        </setup>
-        <page id='test-0' hostURL="media/example/" randomiseOrder='true' repeatCount='0' loop='true' loudness="-12">
-            <interface>
-                <scales>
-                    <scalelabel position="0">-50</scalelabel>
-                    <scalelabel position="50">0</scalelabel>
-                    <scalelabel position="100">50</scalelabel>
-                </scales>
-            </interface>
-            <audioelement url="0.wav" id="track-1" />
-            <audioelement url="1.wav" id="track-2" />
-        </page>
-    </waet>
+<?xml version="1.0" encoding="ISO-8859-1"?>
+<waet xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="test-schema.xsd">
+    <setup interface="horizontal" projectReturn="save.php">
+        <metric>
+            <metricenable>testTimer</metricenable>
+            <metricenable>elementTimer</metricenable>
+            <metricenable>elementInitialPosition</metricenable>
+            <metricenable>elementTracker</metricenable>
+            <metricenable>elementFlagListenedTo</metricenable>
+            <metricenable>elementFlagMoved</metricenable>
+            <metricenable>elementListenTracker</metricenable>
+        </metric>
+        <interface>
+            <interfaceoption type="check" name="fragmentMoved" />
+            <interfaceoption type="check" name="scalerange" min="25" max="75" />
+            <interfaceoption type="show" name='playhead' />
+            <interfaceoption type="show" name="page-count" />
+            <interfaceoption type="show" name="volume" />
+            <interfaceoption type="show" name="comments" />
+        </interface>
+    </setup>
+    <page id='test-0' hostURL="media/example/" randomiseOrder='true' repeatCount='0' loop='true' loudness="-12">
+        <interface>
+            <scales>
+                <scalelabel position="0">-50</scalelabel>
+                <scalelabel position="50">0</scalelabel>
+                <scalelabel position="100">50</scalelabel>
+            </scales>
+        </interface>
+        <audioelement url="0.wav" id="track-1" />
+        <audioelement url="1.wav" id="track-2" />
+    </page>
+</waet>
--- a/tests/examples/mushra_example.xml	Tue Nov 21 15:26:50 2017 +0000
+++ b/tests/examples/mushra_example.xml	Wed Nov 22 10:08:12 2017 +0000
@@ -1,145 +1,145 @@
-<?xml version="1.0" encoding="utf-8"?>
-    <waet xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="test-schema.xsd">
-        <setup interface="MUSHRA" projectReturn="save.php" randomiseOrder='true' poolSize="2" loudness="-23">
-            <exitText>Thank you for looking at WAET. You can modify the successful completion text as well!</exitText>
-            <survey location="before">
-                <surveyquestion id="sessionId" mandatory="true">
-                    <statement>Please enter your name.</statement>
-                </surveyquestion>
-                <surveycheckbox id="checkboxtest" mandatory="true">
-                    <statement>Please select with which activities you have any experience (example checkbox question)</statement>
-                    <option name="musician">Playing a musical instrument</option>
-                    <option name="soundengineer">Recording or mixing audio</option>
-                    <option name="developer">Developing audio software</option>
-                    <option name="hwdesigner">Designing or building audio hardware</option>
-                    <option name="researcher">Research in the field of audio</option>
-                </surveycheckbox>
-                <surveystatement id="test-intro">
-                    <statement>This is an example of an 'MUSHRA'-style test, with two pages, using the test stimuli in 'example_eval/'.</statement>
-                </surveystatement>
-            </survey>
-            <survey location="after">
-                <surveyquestion id="location" mandatory="true" boxsize="large">
-                    <statement>Please enter your location. (example mandatory text question)</statement>
-                </surveyquestion>
-                <surveynumber id="age" min="0">
-                    <statement>Please enter your age (example non-mandatory number question)</statement>
-                </surveynumber>
-                <surveyradio id="rating">
-                    <statement>Please rate this interface (example radio button question)</statement>
-                    <option name="bad">Bad</option>
-                    <option name="poor">Poor</option>
-                    <option name="good">Good</option>
-                    <option name="great">Great</option>
-                </surveyradio>
-                <surveystatement id="thankyou">
-                    <statement>Thank you for taking this listening test. Please click 'submit' and your results will appear in the 'saves/' folder.</statement>
-                </surveystatement>
-            </survey>
-            <metric>
-                <metricenable>testTimer</metricenable>
-                <metricenable>elementTimer</metricenable>
-                <metricenable>elementInitialPosition</metricenable>
-                <metricenable>elementTracker</metricenable>
-                <metricenable>elementFlagListenedTo</metricenable>
-                <metricenable>elementFlagMoved</metricenable>
-                <metricenable>elementListenTracker</metricenable>
-            </metric>
-            <interface>
-                <interfaceoption type="check" name="fragmentMoved" />
-                <interfaceoption type="check" name="scalerange" min="25" max="75" />
-                <interfaceoption type="show" name="fragmentSort" />
-                <interfaceoption type="show" name='playhead' />
-                <interfaceoption type="show" name="page-count" />
-                <interfaceoption type="show" name="volume" />
-                <scales>
-                    <scalelabel position="12">Much Worse</scalelabel>
-                    <scalelabel position="25">Worse</scalelabel>
-                    <scalelabel position="38">Slightly Worse</scalelabel>
-                    <scalelabel position="50">About the same</scalelabel>
-                    <scalelabel position="62">Slightly Better</scalelabel>
-                    <scalelabel position="75">Better</scalelabel>
-                    <scalelabel position="88">Much Better</scalelabel>
-                </scales>
-            </interface>
-        </setup>
-        <page id='test-0' hostURL="media/example/" randomiseOrder='true' repeatCount='0' loop='true' loudness="-12" restrictMovement="true">
-            <commentboxprefix>Comment on fragment</commentboxprefix>
-            <interface>
-                <scales>
-                    <scalelabel position="12">Much Worse</scalelabel>
-                    <scalelabel position="25">Worse</scalelabel>
-                    <scalelabel position="38">Slightly Worse</scalelabel>
-                    <scalelabel position="50">About the same</scalelabel>
-                    <scalelabel position="62">Slightly Better</scalelabel>
-                    <scalelabel position="75">Better</scalelabel>
-                    <scalelabel position="88">Much Better</scalelabel>
-                </scales>
-            </interface>
-            <audioelement url="0.wav" id="track-0" type="anchor" />
-            <audioelement url="1.wav" id="track-1" />
-            <audioelement url="2.wav" id="track-2" />
-            <audioelement url="3.wav" id="track-3" />
-            <audioelement url="4.wav" id="track-4" />
-            <survey location="before">
-                <surveyentry type="statement" id="test-0-intro">
-                    <statement>Example of a 'MUSHRA' style interface with hidden anchor 'zero' (which needs to be below 20%), looping of the samples, randomisation of marker labels, mandatory moving of every sample, and a forced scale usage of at least 25%-75% using a Comparison Category Rating Scale.</statement>
-                </surveyentry>
-            </survey>
-            <survey location="after">
-                <surveyentry type="question" id="genre-0" mandatory="true">
-                    <statement>Please enter the genre.</statement>
-                </surveyentry>
-            </survey>
-        </page>
-        <page id='test-1' hostURL="media/example/" randomiseOrder='true' repeatCount='0' loop='false' restrictMovement="true">
-            <commentboxprefix>Comment on fragment</commentboxprefix>
-            <interface name="preference">
-                <title>Example Test Question</title>
-                <interfaceoption type="show" name="comments" />
-                <scales>
-                    <scalelabel position="0">Min</scalelabel>
-                    <scalelabel position="100">Max</scalelabel>
-                    <scalelabel position="50">Middle</scalelabel>
-                    <scalelabel position="20">20</scalelabel>
-                </scales>
-            </interface>
-            <audioelement url="0.wav" gain="-6.0" id="track-5" type="anchor" marker="20" />
-            <audioelement url="1.wav" gain="0.0" id="track-6" type="reference" marker="80" />
-            <audioelement url="2.wav" gain="0.0" id="track-7" />
-            <audioelement url="3.wav" gain="0.0" id="track-8" />
-            <audioelement url="4.wav" gain="0.0" id="track-9" />
-            <audioelement url="5.wav" gain="0.0" id="track-10" />
-            <audioelement url="1.wav" gain="0.0" id="track-11" type="outside-reference" />
-            <commentquestions>
-                <commentquestion id='mixingExperience' type="question">
-                    <statement>What is your general experience with numbers?</statement>
-                </commentquestion>
-                <commentquestion id="preference" type="radio">
-                    <statement>Please enter your overall preference</statement>
-                    <option name="worst">Very Bad</option>
-                    <option name="bad"></option>
-                    <option name="OK">OK</option>
-                    <option name="Good"></option>
-                    <option name="Great">Great</option>
-                </commentquestion>
-                <commentquestion id="character" type="checkbox">
-                    <statement>Please describe the overall character</statement>
-                    <option name="funky">Funky</option>
-                    <option name="mellow">Mellow</option>
-                    <option name="laidback">Laid back</option>
-                    <option name="heavy">Heavy</option>
-                </commentquestion>
-            </commentquestions>
-            <survey location="before">
-                <surveyentry type="statement" id="test-1-intro">
-                    <statement>Example of a 'MUSHRA' style interface with hidden anchor 'zero' (which needs to be below 20%), looping of the samples, randomisation of marker labels, mandatory moving of every sample, and a forced scale usage of at least 25%-75%.</statement>
-                </surveyentry>
-            </survey>
-            <survey location="after">
-                <surveyentry type="question" id="genre-1" mandatory="true">
-                    <statement>Please enter the genre.</statement>
-                </surveyentry>
-            </survey>
-        </page>
-    </waet>
+<?xml version="1.0" encoding="ISO-8859-1"?>
+<waet xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="test-schema.xsd">
+    <setup interface="MUSHRA" projectReturn="save.php" randomiseOrder='true' poolSize="2" loudness="-23">
+        <exitText>Thank you for looking at WAET. You can modify the successful completion text as well!</exitText>
+        <survey location="before">
+            <surveyquestion id="sessionId" mandatory="true">
+                <statement>Please enter your name.</statement>
+            </surveyquestion>
+            <surveycheckbox id="checkboxtest" mandatory="true">
+                <statement>Please select with which activities you have any experience (example checkbox question)</statement>
+                <option name="musician">Playing a musical instrument</option>
+                <option name="soundengineer">Recording or mixing audio</option>
+                <option name="developer">Developing audio software</option>
+                <option name="hwdesigner">Designing or building audio hardware</option>
+                <option name="researcher">Research in the field of audio</option>
+            </surveycheckbox>
+            <surveystatement id="test-intro">
+                <statement>This is an example of an 'MUSHRA'-style test, with two pages, using the test stimuli in 'example_eval/'.</statement>
+            </surveystatement>
+        </survey>
+        <survey location="after">
+            <surveyquestion id="location" mandatory="true" boxsize="large">
+                <statement>Please enter your location. (example mandatory text question)</statement>
+            </surveyquestion>
+            <surveynumber id="age" min="0">
+                <statement>Please enter your age (example non-mandatory number question)</statement>
+            </surveynumber>
+            <surveyradio id="rating">
+                <statement>Please rate this interface (example radio button question)</statement>
+                <option name="bad">Bad</option>
+                <option name="poor">Poor</option>
+                <option name="good">Good</option>
+                <option name="great">Great</option>
+            </surveyradio>
+            <surveystatement id="thankyou">
+                <statement>Thank you for taking this listening test. Please click 'submit' and your results will appear in the 'saves/' folder.</statement>
+            </surveystatement>
+        </survey>
+        <metric>
+            <metricenable>testTimer</metricenable>
+            <metricenable>elementTimer</metricenable>
+            <metricenable>elementInitialPosition</metricenable>
+            <metricenable>elementTracker</metricenable>
+            <metricenable>elementFlagListenedTo</metricenable>
+            <metricenable>elementFlagMoved</metricenable>
+            <metricenable>elementListenTracker</metricenable>
+        </metric>
+        <interface>
+            <interfaceoption type="check" name="fragmentMoved" />
+            <interfaceoption type="check" name="scalerange" min="25" max="75" />
+            <interfaceoption type="show" name="fragmentSort" />
+            <interfaceoption type="show" name='playhead' />
+            <interfaceoption type="show" name="page-count" />
+            <interfaceoption type="show" name="volume" />
+            <scales>
+                <scalelabel position="12">Much Worse</scalelabel>
+                <scalelabel position="25">Worse</scalelabel>
+                <scalelabel position="38">Slightly Worse</scalelabel>
+                <scalelabel position="50">About the same</scalelabel>
+                <scalelabel position="62">Slightly Better</scalelabel>
+                <scalelabel position="75">Better</scalelabel>
+                <scalelabel position="88">Much Better</scalelabel>
+            </scales>
+        </interface>
+    </setup>
+    <page id='test-0' hostURL="media/example/" randomiseOrder='true' repeatCount='0' loop='true' loudness="-12" restrictMovement="true">
+        <commentboxprefix>Comment on fragment</commentboxprefix>
+        <interface>
+            <scales>
+                <scalelabel position="12">Much Worse</scalelabel>
+                <scalelabel position="25">Worse</scalelabel>
+                <scalelabel position="38">Slightly Worse</scalelabel>
+                <scalelabel position="50">About the same</scalelabel>
+                <scalelabel position="62">Slightly Better</scalelabel>
+                <scalelabel position="75">Better</scalelabel>
+                <scalelabel position="88">Much Better</scalelabel>
+            </scales>
+        </interface>
+        <audioelement url="0.wav" id="track-0" type="anchor" />
+        <audioelement url="1.wav" id="track-1" />
+        <audioelement url="2.wav" id="track-2" />
+        <audioelement url="3.wav" id="track-3" />
+        <audioelement url="4.wav" id="track-4" />
+        <survey location="before">
+            <surveyentry type="statement" id="test-0-intro">
+                <statement>Example of a 'MUSHRA' style interface with hidden anchor 'zero' (which needs to be below 20%), looping of the samples, randomisation of marker labels, mandatory moving of every sample, and a forced scale usage of at least 25%-75% using a Comparison Category Rating Scale.</statement>
+            </surveyentry>
+        </survey>
+        <survey location="after">
+            <surveyentry type="question" id="genre-0" mandatory="true">
+                <statement>Please enter the genre.</statement>
+            </surveyentry>
+        </survey>
+    </page>
+    <page id='test-1' hostURL="media/example/" randomiseOrder='true' repeatCount='0' loop='false' restrictMovement="true">
+        <commentboxprefix>Comment on fragment</commentboxprefix>
+        <interface name="preference">
+            <title>Example Test Question</title>
+            <interfaceoption type="show" name="comments" />
+            <scales>
+                <scalelabel position="0">Min</scalelabel>
+                <scalelabel position="100">Max</scalelabel>
+                <scalelabel position="50">Middle</scalelabel>
+                <scalelabel position="20">20</scalelabel>
+            </scales>
+        </interface>
+        <audioelement url="0.wav" gain="-6.0" id="track-5" type="anchor" marker="20" />
+        <audioelement url="1.wav" gain="0.0" id="track-6" type="reference" marker="80" />
+        <audioelement url="2.wav" gain="0.0" id="track-7" />
+        <audioelement url="3.wav" gain="0.0" id="track-8" />
+        <audioelement url="4.wav" gain="0.0" id="track-9" />
+        <audioelement url="5.wav" gain="0.0" id="track-10" />
+        <audioelement url="1.wav" gain="0.0" id="track-11" type="outside-reference" />
+        <commentquestions>
+            <commentquestion id='mixingExperience' type="question">
+                <statement>What is your general experience with numbers?</statement>
+            </commentquestion>
+            <commentquestion id="preference" type="radio">
+                <statement>Please enter your overall preference</statement>
+                <option name="worst">Very Bad</option>
+                <option name="bad"></option>
+                <option name="OK">OK</option>
+                <option name="Good"></option>
+                <option name="Great">Great</option>
+            </commentquestion>
+            <commentquestion id="character" type="checkbox">
+                <statement>Please describe the overall character</statement>
+                <option name="funky">Funky</option>
+                <option name="mellow">Mellow</option>
+                <option name="laidback">Laid back</option>
+                <option name="heavy">Heavy</option>
+            </commentquestion>
+        </commentquestions>
+        <survey location="before">
+            <surveyentry type="statement" id="test-1-intro">
+                <statement>Example of a 'MUSHRA' style interface with hidden anchor 'zero' (which needs to be below 20%), looping of the samples, randomisation of marker labels, mandatory moving of every sample, and a forced scale usage of at least 25%-75%.</statement>
+            </surveyentry>
+        </survey>
+        <survey location="after">
+            <surveyentry type="question" id="genre-1" mandatory="true">
+                <statement>Please enter the genre.</statement>
+            </surveyentry>
+        </survey>
+    </page>
+</waet>
--- a/tests/examples/ordinal_example.xml	Tue Nov 21 15:26:50 2017 +0000
+++ b/tests/examples/ordinal_example.xml	Wed Nov 22 10:08:12 2017 +0000
@@ -1,33 +1,33 @@
-<?xml version="1.0" encoding="UTF-8" ?>
-    <waet xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="test-schema.xsd">
-        <setup interface="ordinal" projectReturn="save.php" randomiseOrder="true">
-            <metric>
-                <metricenable>testTimer</metricenable>
-                <metricenable>elementTimer</metricenable>
-                <metricenable>elementInitialPosition</metricenable>
-                <metricenable>elementTracker</metricenable>
-                <metricenable>elementFlagListenedTo</metricenable>
-                <metricenable>elementFlagMoved</metricenable>
-                <metricenable>elementListenTracker</metricenable>
-            </metric>
-            <interface>
-                <interfaceoption type="check" name="fragmentComment" />
-                <interfaceoption type="show" name='playhead' />
-                <interfaceoption type="show" name="page-count" />
-                <interfaceoption type="show" name="volume" />
-                <interfaceoption type="show" name="comments" />
-            </interface>
-        </setup>
-        <page id='test-0' hostURL="media/example/" randomiseOrder='true' repeatCount='0' loop='true' loudness="-23">
-            <title>Ordinal Evaluation</title>
-            <interface></interface>
-            <audioelement url="0.wav" id="track-1" />
-            <audioelement url="1.wav" id="track-2" />
-            <audioelement url="2.wav" id="track-3" />
-            <audioelement url="3.wav" id="track-4" />
-            <audioelement url="4.wav" id="track-5" />
-            <audioelement url="5.wav" id="track-6" />
-            <audioelement url="6.wav" id="track-7" />
-            <audioelement url="7.wav" id="track-8" />
-        </page>
-    </waet>
+<?xml version="1.0" encoding="ISO-8859-1"?>
+<waet xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="test-schema.xsd">
+    <setup interface="ordinal" projectReturn="save.php" randomiseOrder="true">
+        <metric>
+            <metricenable>testTimer</metricenable>
+            <metricenable>elementTimer</metricenable>
+            <metricenable>elementInitialPosition</metricenable>
+            <metricenable>elementTracker</metricenable>
+            <metricenable>elementFlagListenedTo</metricenable>
+            <metricenable>elementFlagMoved</metricenable>
+            <metricenable>elementListenTracker</metricenable>
+        </metric>
+        <interface>
+            <interfaceoption type="check" name="fragmentComment" />
+            <interfaceoption type="show" name='playhead' />
+            <interfaceoption type="show" name="page-count" />
+            <interfaceoption type="show" name="volume" />
+            <interfaceoption type="show" name="comments" />
+        </interface>
+    </setup>
+    <page id='test-0' hostURL="media/example/" randomiseOrder='true' repeatCount='0' loop='true' loudness="-23">
+        <title>Ordinal Evaluation</title>
+        <interface></interface>
+        <audioelement url="0.wav" id="track-1" />
+        <audioelement url="1.wav" id="track-2" />
+        <audioelement url="2.wav" id="track-3" />
+        <audioelement url="3.wav" id="track-4" />
+        <audioelement url="4.wav" id="track-5" />
+        <audioelement url="5.wav" id="track-6" />
+        <audioelement url="6.wav" id="track-7" />
+        <audioelement url="7.wav" id="track-8" />
+    </page>
+</waet>
--- a/tests/examples/radio_example.xml	Tue Nov 21 15:26:50 2017 +0000
+++ b/tests/examples/radio_example.xml	Wed Nov 22 10:08:12 2017 +0000
@@ -1,37 +1,37 @@
-<?xml version="1.0" encoding="UTF-8" ?>
-    <waet xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="test-schema.xsd">
-        <setup interface="discrete" projectReturn="save.php" crossFade="3.0">
-            <metric>
-                <metricenable>testTimer</metricenable>
-                <metricenable>elementTimer</metricenable>
-                <metricenable>elementInitialPosition</metricenable>
-                <metricenable>elementTracker</metricenable>
-                <metricenable>elementFlagListenedTo</metricenable>
-                <metricenable>elementFlagMoved</metricenable>
-                <metricenable>elementListenTracker</metricenable>
-            </metric>
-            <interface>
-                <interfaceoption type="check" name="fragmentMoved" />
-                <interfaceoption type="check" name="scalerange" min="25" max="75" />
-                <interfaceoption type="show" name="volume" />
-                <interfaceoption type="show" name='playhead' />
-                <interfaceoption type="show" name="page-count" />
-                <interfaceoption type="show" name="comments" />
-            </interface>
-        </setup>
-        <page id='test-0' hostURL="media/example/" randomiseOrder='true' repeatCount='4' loop='true' loudness="-23">
-            <interface>
-                <scales>
-                    <scalelabel position="0">(1) Very Annoying</scalelabel>
-                    <scalelabel position="25">(2) Annoying</scalelabel>
-                    <scalelabel position="50">(3) Slightly Annoying</scalelabel>
-                    <scalelabel position="75">(4) Audible but not Annoying</scalelabel>
-                    <scalelabel position="100">(5) Inaudible</scalelabel>
-                </scales>
-            </interface>
-            <audioelement url="0.wav" id="track-1" alwaysInclude="true" />
-            <audioelement url="1.wav" id="track-2" />
-            <audioelement url="3.wav" id="track-4" />
-            <audioelement url="3.wav" id="track-5" />
-        </page>
-    </waet>
+<?xml version="1.0" encoding="ISO-8859-1"?>
+<waet xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="test-schema.xsd">
+    <setup interface="discrete" projectReturn="save.php" crossFade="3.0">
+        <metric>
+            <metricenable>testTimer</metricenable>
+            <metricenable>elementTimer</metricenable>
+            <metricenable>elementInitialPosition</metricenable>
+            <metricenable>elementTracker</metricenable>
+            <metricenable>elementFlagListenedTo</metricenable>
+            <metricenable>elementFlagMoved</metricenable>
+            <metricenable>elementListenTracker</metricenable>
+        </metric>
+        <interface>
+            <interfaceoption type="check" name="fragmentMoved" />
+            <interfaceoption type="check" name="scalerange" min="25" max="75" />
+            <interfaceoption type="show" name="volume" />
+            <interfaceoption type="show" name='playhead' />
+            <interfaceoption type="show" name="page-count" />
+            <interfaceoption type="show" name="comments" />
+        </interface>
+    </setup>
+    <page id='test-0' hostURL="media/example/" randomiseOrder='true' repeatCount='4' loop='true' loudness="-23">
+        <interface>
+            <scales>
+                <scalelabel position="0">(1) Very Annoying</scalelabel>
+                <scalelabel position="25">(2) Annoying</scalelabel>
+                <scalelabel position="50">(3) Slightly Annoying</scalelabel>
+                <scalelabel position="75">(4) Audible but not Annoying</scalelabel>
+                <scalelabel position="100">(5) Inaudible</scalelabel>
+            </scales>
+        </interface>
+        <audioelement url="0.wav" id="track-1" alwaysInclude="true" />
+        <audioelement url="1.wav" id="track-2" />
+        <audioelement url="3.wav" id="track-4" />
+        <audioelement url="3.wav" id="track-5" />
+    </page>
+</waet>
--- a/tests/examples/timeline.xml	Tue Nov 21 15:26:50 2017 +0000
+++ b/tests/examples/timeline.xml	Wed Nov 22 10:08:12 2017 +0000
@@ -1,84 +1,84 @@
-<?xml version="1.0" encoding="UTF-8" ?>
-    <waet xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="test-schema.xsd">
-        <setup interface="timeline" projectReturn="save.php">
-            <metric>
-                <metricenable>testTimer</metricenable>
-                <metricenable>elementTimer</metricenable>
-                <metricenable>elementInitialPosition</metricenable>
-                <metricenable>elementTracker</metricenable>
-                <metricenable>elementFlagListenedTo</metricenable>
-                <metricenable>elementFlagMoved</metricenable>
-                <metricenable>elementListenTracker</metricenable>
-            </metric>
-            <interface>
-                <interfaceoption type="check" name="fragmentPlayed" />
-                <interfaceoption type="check" name="scalerange" min="25" max="75" />
-                <interfaceoption type="show" name="volume" />
-                <interfaceoption type="show" name='playhead' />
-                <interfaceoption type="show" name="page-count" />
-                <interfaceoption type="show" name="comments" />
-            </interface>
-        </setup>
-        <page id='test-0' hostURL="media/example/" randomiseOrder='true' repeatCount='4' loop='true' loudness="-23">
-            <title>My Test</title>
-            <interface>
-                <scales>
-                    <scalelabel position="0">(1) Very Annoying</scalelabel>
-                    <scalelabel position="25">(2) Annoying</scalelabel>
-                    <scalelabel position="50">(3) Slightly Annoying</scalelabel>
-                    <scalelabel position="75">(4) Audible but not Annoying</scalelabel>
-                    <scalelabel position="100">(5) Inaudible</scalelabel>
-                </scales>
-            </interface>
-            <audioelement url="0.wav" id="track-1" image="https://upload.wikimedia.org/wikipedia/commons/0/0a/Drumkit-icon.png" />
-            <audioelement url="1.wav" id="track-2" image="https://upload.wikimedia.org/wikipedia/commons/0/0a/Drumkit-icon.png" />
-            <commentquestions>
-                <commentradio id="preference">
-                    <statement>Please enter your overall preference</statement>
-                    <option name="worst">Very Bad</option>
-                    <option name="bad"></option>
-                    <option name="OK">OK</option>
-                    <option name="Good"></option>
-                    <option name="Great">Great</option>
-                </commentradio>
-                <commentcheckbox id="character">
-                    <statement>Please describe the overall character</statement>
-                    <option name="funky">Funky</option>
-                    <option name="mellow">Mellow</option>
-                    <option name="laidback">Laid back</option>
-                    <option name="heavy">Heavy</option>
-                </commentcheckbox>
-            </commentquestions>
-        </page>
-        <page id='test-1' hostURL="media/example/" randomiseOrder='true' repeatCount='4' loop='true' loudness="-23">
-            <title>My Test</title>
-            <interface>
-                <scales>
-                    <scalelabel position="0">(1) Very Annoying</scalelabel>
-                    <scalelabel position="25">(2) Annoying</scalelabel>
-                    <scalelabel position="50">(3) Slightly Annoying</scalelabel>
-                    <scalelabel position="75">(4) Audible but not Annoying</scalelabel>
-                    <scalelabel position="100">(5) Inaudible</scalelabel>
-                </scales>
-            </interface>
-            <audioelement url="0.wav" id="track-3" image="https://upload.wikimedia.org/wikipedia/commons/0/0a/Drumkit-icon.png" />
-            <audioelement url="1.wav" id="track-4" image="https://upload.wikimedia.org/wikipedia/commons/0/0a/Drumkit-icon.png" />
-            <commentquestions>
-                <commentradio id="preference1">
-                    <statement>Please enter your overall preference</statement>
-                    <option name="worst">Very Bad</option>
-                    <option name="bad"></option>
-                    <option name="OK">OK</option>
-                    <option name="Good"></option>
-                    <option name="Great">Great</option>
-                </commentradio>
-                <commentcheckbox id="character1">
-                    <statement>Please describe the overall character</statement>
-                    <option name="funky">Funky</option>
-                    <option name="mellow">Mellow</option>
-                    <option name="laidback">Laid back</option>
-                    <option name="heavy">Heavy</option>
-                </commentcheckbox>
-            </commentquestions>
-        </page>
-    </waet>
+<?xml version="1.0" encoding="ISO-8859-1"?>
+<waet xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="test-schema.xsd">
+    <setup interface="timeline" projectReturn="save.php">
+        <metric>
+            <metricenable>testTimer</metricenable>
+            <metricenable>elementTimer</metricenable>
+            <metricenable>elementInitialPosition</metricenable>
+            <metricenable>elementTracker</metricenable>
+            <metricenable>elementFlagListenedTo</metricenable>
+            <metricenable>elementFlagMoved</metricenable>
+            <metricenable>elementListenTracker</metricenable>
+        </metric>
+        <interface>
+            <interfaceoption type="check" name="fragmentPlayed" />
+            <interfaceoption type="check" name="scalerange" min="25" max="75" />
+            <interfaceoption type="show" name="volume" />
+            <interfaceoption type="show" name='playhead' />
+            <interfaceoption type="show" name="page-count" />
+            <interfaceoption type="show" name="comments" />
+        </interface>
+    </setup>
+    <page id='test-0' hostURL="media/example/" randomiseOrder='true' repeatCount='4' loop='true' loudness="-23">
+        <title>My Test</title>
+        <interface>
+            <scales>
+                <scalelabel position="0">(1) Very Annoying</scalelabel>
+                <scalelabel position="25">(2) Annoying</scalelabel>
+                <scalelabel position="50">(3) Slightly Annoying</scalelabel>
+                <scalelabel position="75">(4) Audible but not Annoying</scalelabel>
+                <scalelabel position="100">(5) Inaudible</scalelabel>
+            </scales>
+        </interface>
+        <audioelement url="0.wav" id="track-1" image="https://upload.wikimedia.org/wikipedia/commons/0/0a/Drumkit-icon.png" />
+        <audioelement url="1.wav" id="track-2" image="https://upload.wikimedia.org/wikipedia/commons/0/0a/Drumkit-icon.png" />
+        <commentquestions>
+            <commentradio id="preference">
+                <statement>Please enter your overall preference</statement>
+                <option name="worst">Very Bad</option>
+                <option name="bad"></option>
+                <option name="OK">OK</option>
+                <option name="Good"></option>
+                <option name="Great">Great</option>
+            </commentradio>
+            <commentcheckbox id="character">
+                <statement>Please describe the overall character</statement>
+                <option name="funky">Funky</option>
+                <option name="mellow">Mellow</option>
+                <option name="laidback">Laid back</option>
+                <option name="heavy">Heavy</option>
+            </commentcheckbox>
+        </commentquestions>
+    </page>
+    <page id='test-1' hostURL="media/example/" randomiseOrder='true' repeatCount='4' loop='true' loudness="-23">
+        <title>My Test</title>
+        <interface>
+            <scales>
+                <scalelabel position="0">(1) Very Annoying</scalelabel>
+                <scalelabel position="25">(2) Annoying</scalelabel>
+                <scalelabel position="50">(3) Slightly Annoying</scalelabel>
+                <scalelabel position="75">(4) Audible but not Annoying</scalelabel>
+                <scalelabel position="100">(5) Inaudible</scalelabel>
+            </scales>
+        </interface>
+        <audioelement url="0.wav" id="track-3" image="https://upload.wikimedia.org/wikipedia/commons/0/0a/Drumkit-icon.png" />
+        <audioelement url="1.wav" id="track-4" image="https://upload.wikimedia.org/wikipedia/commons/0/0a/Drumkit-icon.png" />
+        <commentquestions>
+            <commentradio id="preference1">
+                <statement>Please enter your overall preference</statement>
+                <option name="worst">Very Bad</option>
+                <option name="bad"></option>
+                <option name="OK">OK</option>
+                <option name="Good"></option>
+                <option name="Great">Great</option>
+            </commentradio>
+            <commentcheckbox id="character1">
+                <statement>Please describe the overall character</statement>
+                <option name="funky">Funky</option>
+                <option name="mellow">Mellow</option>
+                <option name="laidback">Laid back</option>
+                <option name="heavy">Heavy</option>
+            </commentcheckbox>
+        </commentquestions>
+    </page>
+</waet>