Mercurial > hg > webaudioevaluationtool
comparison scripts/score_parser.php @ 1225:13e9ef9fe94a
Reversal of score_parser.php data, now page/element/axis/values
author | Nicholas Jillings <n.g.r.jillings@se14.qmul.ac.uk> |
---|---|
date | Tue, 23 Feb 2016 18:57:26 +0000 |
parents | 124e6c702845 |
children | 83b439322229 |
comparison
equal
deleted
inserted
replaced
1224:124e6c702845 | 1225:13e9ef9fe94a |
---|---|
70 $page_nest = $root->addNewChild($pageInstanceId); | 70 $page_nest = $root->addNewChild($pageInstanceId); |
71 } | 71 } |
72 | 72 |
73 // Iterate over each $element node | 73 // Iterate over each $element node |
74 foreach($pageInstance->audioelement as $element) { | 74 foreach($pageInstance->audioelement as $element) { |
75 | 75 // Find our specific element tag |
76 $elementId = $element['id']; | |
77 $element_nest = $page_nest->findChild($elementId); | |
78 if ($element_nest == null) { | |
79 $element_nest = $page_nest->addNewChild($elementId); | |
80 } | |
76 // Now get the <value> tags | 81 // Now get the <value> tags |
77 foreach($element->value as $value) { | 82 foreach($element->value as $value) { |
78 $axis_nest = null; | 83 $axis_nest = null; |
79 $axisName = "default"; | 84 $axisName = "default"; |
80 if (isset($value['interface-name'])) | 85 if (isset($value['interface-name'])) |
81 { | 86 { |
82 // Find the axis nest | 87 // Find the axis nest |
83 $axisName = $value['interface-name']; | 88 $axisName = $value['interface-name']; |
84 } | 89 } |
85 | 90 |
86 $axis_nest = $page_nest->findChild($axisName); | 91 $axis_nest = $element_nest->findChild($axisName); |
87 if ($axis_nest == null) { | 92 if ($axis_nest == null) { |
88 $axis_nest = $page_nest->addNewChild($axisName); | 93 $axis_nest = $element_nest->addNewChild($axisName); |
89 } | |
90 | |
91 // Find our specific element tag | |
92 $elementId = $element['id']; | |
93 $element_nest = $axis_nest->findChild($elementId); | |
94 if ($element_nest == null) { | |
95 $element_nest = $axis_nest->addNewChild($elementId); | |
96 } | 94 } |
97 // Now push our value | 95 // Now push our value |
98 $element_nest->addValue($value); | 96 $axis_nest->addValue($value); |
99 } | 97 } |
100 } | 98 } |
101 } | 99 } |
102 } | 100 } |
103 } | 101 } |
107 // Convert to XML | 105 // Convert to XML |
108 $doc_root = new SimpleXMLElement('<waetprocess/>'); | 106 $doc_root = new SimpleXMLElement('<waetprocess/>'); |
109 foreach($root->nest as $page) { | 107 foreach($root->nest as $page) { |
110 $doc_page = $doc_root->addChild("page"); | 108 $doc_page = $doc_root->addChild("page"); |
111 $doc_page->addAttribute("id",$page->id); | 109 $doc_page->addAttribute("id",$page->id); |
112 foreach($page->nest as $axis) { | 110 foreach($page->nest as $element) { |
113 $doc_axis = $doc_page->addChild("interface"); | 111 $doc_element = $doc_page->addChild("audioelement"); |
114 $doc_axis->addAttribute("name",$axis->id); | 112 $doc_element->addAttribute("id",$element->id); |
115 foreach($axis->nest as $element) { | 113 foreach($element->nest as $axis) { |
116 $doc_element = $doc_axis->addChild("audioelement"); | 114 $doc_axis = $doc_element->addChild("interface"); |
117 $doc_element->addAttribute("id",$element->id); | 115 $doc_axis->addAttribute("name",$axis->id); |
118 foreach($element->nest as $value) { | 116 foreach($axis->nest as $value) { |
119 $doc_value = $doc_element->addChild("value",$value); | 117 $doc_axis->addChild("value",$value); |
120 } | 118 } |
121 } | 119 } |
122 } | 120 } |
123 } | 121 } |
124 echo $doc_root->asXML(); | 122 echo $doc_root->asXML(); |
127 // Convert to JSON | 125 // Convert to JSON |
128 $doc_root = '{ "pages": ['; | 126 $doc_root = '{ "pages": ['; |
129 for ($pageIndex = 0; $pageIndex < $root->num; $pageIndex++) | 127 for ($pageIndex = 0; $pageIndex < $root->num; $pageIndex++) |
130 { | 128 { |
131 $page = $root->nest[$pageIndex]; | 129 $page = $root->nest[$pageIndex]; |
132 $doc_page = '{ "id": "'.$page->id.'", "axis": ['; | 130 $doc_page = '{ "id": "'.$page->id.'", "elements": ['; |
133 for($axisIndex = 0; $axisIndex < $page->num; $axisIndex++) | 131 for($elementIndex = 0; $elementIndex < $page->num; $elementIndex++) |
134 { | 132 { |
135 $axis = $page->nest[$axisIndex]; | 133 $element = $page->nest[$elementIndex]; |
136 $doc_axis = '{ "name": "'.$axis->id.'", "elements": ['; | 134 $doc_element = '{ "id": "'.$element->id.'", "axis": ['; |
137 for($elementIndex = 0; $elementIndex < $axis->num; $elementIndex++) | 135 for($axisIndex = 0; $axisIndex < $element->num; $axisIndex++) |
138 { | 136 { |
139 $element = $axis->nest[$elementIndex]; | 137 $axis = $element->nest[$axisIndex]; |
140 $doc_element = '{ "id": "'.$element->id.'", "values": ['; | 138 $doc_axis = '{ "name": "'.$axis->id.'", "values": ['; |
141 for ($valueIndex = 0; $valueIndex < $element->num; $valueIndex++) | 139 for ($valueIndex = 0; $valueIndex < $axis->num; $valueIndex++) |
142 { | 140 { |
143 $doc_element = $doc_element."".strval($element->nest[$valueIndex]); | 141 $doc_axis = $doc_axis."".strval($axis->nest[$valueIndex]); |
144 if ($valueIndex < $element->num-1) { | 142 if ($valueIndex < $axis->num-1) { |
145 $doc_element = $doc_element.', '; | 143 $doc_axis = $doc_axis.', '; |
146 } | 144 } |
147 } | 145 } |
148 $doc_element = $doc_element.']}'; | 146 $doc_axis = $doc_axis.']}'; |
149 if ($elementIndex < $axis->num-1) { | 147 if ($axisIndex < $element->num-1) { |
150 $doc_element = $doc_element.', '; | 148 $doc_axis = $doc_axis.', '; |
151 } | 149 } |
152 $doc_axis = $doc_axis.$doc_element; | 150 $doc_element = $doc_element.$doc_axis; |
153 } | 151 } |
154 $doc_axis = $doc_axis.']}'; | 152 $doc_element = $doc_element.']}'; |
155 if ($axisIndex < $page->num-1) { | 153 if ($elementIndex < $page->num-1) { |
156 $doc_axis = $doc_axis.', '; | 154 $doc_element = $doc_element.', '; |
157 } | 155 } |
158 $doc_page = $doc_page.$doc_axis; | 156 $doc_page = $doc_page.$doc_element; |
159 } | 157 } |
160 $doc_page = $doc_page.']}'; | 158 $doc_page = $doc_page.']}'; |
161 if ($pageIndex < $root->num-1) { | 159 if ($pageIndex < $root->num-1) { |
162 $doc_page = $doc_page.', '; | 160 $doc_page = $doc_page.', '; |
163 } | 161 } |
167 echo $doc_root; | 165 echo $doc_root; |
168 break; | 166 break; |
169 case "CSV": | 167 case "CSV": |
170 // Convert to CSV | 168 // Convert to CSV |
171 // CSV Columts: page, axis, element, value | 169 // CSV Columts: page, axis, element, value |
172 $doc_string = "page,axis,element,value"."\r\n"; | 170 $doc_string = "page,element,axis,value"."\r\n"; |
173 foreach($root->nest as $page){ | 171 foreach($root->nest as $page){ |
174 foreach($page->nest as $axis) { | 172 foreach($page->nest as $element) { |
175 foreach($axis->nest as $element) { | 173 foreach($element->nest as $axis) { |
176 foreach($element->nest as $value) { | 174 foreach($axis->nest as $value) { |
177 $doc_string = $doc_string.$page->id.','; | 175 $doc_string = $doc_string.$page->id.','; |
176 $doc_string = $doc_string.$element->id.','; | |
178 $doc_string = $doc_string.$axis->id.','; | 177 $doc_string = $doc_string.$axis->id.','; |
179 $doc_string = $doc_string.$element->id.','; | |
180 $doc_string = $doc_string.$value; | 178 $doc_string = $doc_string.$value; |
181 $doc_string = $doc_string."\r\n"; | 179 $doc_string = $doc_string."\r\n"; |
182 } | 180 } |
183 } | 181 } |
184 } | 182 } |