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 }