diff -r 6a296e92887f -r 686926d132ff server/src/app/Libraries/Transcript/TranscriberTranscriptConverter.php --- a/server/src/app/Libraries/Transcript/TranscriberTranscriptConverter.php Fri Dec 02 15:30:16 2016 +0100 +++ b/server/src/app/Libraries/Transcript/TranscriberTranscriptConverter.php Fri Dec 02 17:22:16 2016 +0100 @@ -89,6 +89,49 @@ } $this->annotations = array_merge($this->annotations, $currentAnnotations); $currentAnnotations = []; + } elseif($cnode->nodeType === XML_ELEMENT_NODE) { + $content = null; + switch ($cnode->tagName) { + case 'Background': + $content = [ + 'ctype' => strtolower($cnode->tagName), + 'type' => $cnode->getAttribute('type'), + 'level' => $cnode->getAttribute('level') + ]; + break; + case 'Event': + $content = [ + 'ctype' => strtolower($cnode->tagName), + 'type' => $cnode->getAttribute('type'), + 'extent' => $cnode->getAttribute('extent'), + 'desc' => $cnode->getAttribute('desc') + ]; + break; + case 'Comment': + case 'Vocal': + $content = [ + 'ctype' => strtolower($cnode->tagName), + 'desc' => $cnode->getAttribute('desc') + ]; + break; + default: + continue; + } + if(is_null($content)) { + continue; + } + $aData = $currentSpeaker?["speaker" => $currentSpeaker]:[]; + $aData['content'] = $content; + $newAnnotation = [ + 'id' => $this->document->getId()."_a".sprintf("%04d", $this->annotationCounter++), + 'begin' => $currentBegin, + 'end' => $end, + 'media' => $this->getMediaRefId(), + 'type' => $turnId, + 'content' => [ "mimetype" => "application/json", "data" => $aData], + 'meta' => [ 'id-ref' => $turnId ] + ]; + array_push($currentAnnotations, $newAnnotation); } } $this->annotations = array_merge($this->annotations, $currentAnnotations); @@ -168,4 +211,4 @@ } -} \ No newline at end of file +}