private function processXmlSegment($elm, $message, &$segmentIdx, &$array, &$errors)
{
$segmentVisited = false;
for ($i = 0; $i < $elm['maxrepeat']; $i++) {
if ($message[$segmentIdx][0] == $elm['id']) {
$jsonMessage = $this->processSegment($message[$segmentIdx], $this->xmlSeg, $segmentIdx, $errors);
$segmentVisited = true;
if (!isset($array[$jsonMessage['key']])) {
$array[$jsonMessage['key']] = $jsonMessage['value'];
} else {
if (isset($array[$jsonMessage['key']]['segmentCode'])) {
$temp = $array[$jsonMessage['key']];
$array[$jsonMessage['key']] = [];
$array[$jsonMessage['key']][] = $temp;
}
$array[$jsonMessage['key']][] = $jsonMessage['value'];
}
$segmentIdx++;
} else {
if (!$segmentVisited && isset($elm['required'])) {
$errors[] = ["text" => $this->messageTextConf['MISSINGREQUIREDSEGMENT'], "position" => $segmentIdx, "segmentId" => $elm['id']->__toString()];
}
break;
}
}
}