@@ -176,7 +176,7 @@ private function processXmlSegment($elm, $message, &$segmentIdx, &$array, &$erro
176
176
if (!isset ($ array [$ jsonMessage ['key ' ]])) {
177
177
$ array [$ jsonMessage ['key ' ]] = $ jsonMessage ['value ' ];
178
178
} else {
179
- if (isset ($ array [$ jsonMessage ['key ' ]]['segmentCode ' ])) {
179
+ if (isset ($ array [$ jsonMessage ['key ' ]]['segmentCode ' ]) || $ jsonMessage [ ' key ' ] === ' UnrecognisedType ' ) {
180
180
$ temp = $ array [$ jsonMessage ['key ' ]];
181
181
$ array [$ jsonMessage ['key ' ]] = [];
182
182
$ array [$ jsonMessage ['key ' ]][] = $ temp ;
@@ -202,13 +202,12 @@ private function processXmlSegment($elm, $message, &$segmentIdx, &$array, &$erro
202
202
*
203
203
* @param $segment
204
204
*/
205
- private function processSegment ($ segment , $ xmlMap , $ segmentIdx , &$ errors = null )
205
+ private function processSegment ($ segment , & $ xmlMap , $ segmentIdx , &$ errors = null )
206
206
{
207
207
$ id = $ segment [0 ];
208
208
209
209
$ jsonsegment = [];
210
210
if (isset ($ xmlMap [$ id ])) {
211
-
212
211
$ attributes = $ xmlMap [$ id ]['attributes ' ];
213
212
$ details_desc = $ xmlMap [$ id ]['details ' ];
214
213
@@ -267,10 +266,13 @@ private function processSegment($segment, $xmlMap, $segmentIdx, &$errors = null)
267
266
$ jsonsegment ['key ' ] = $ attributes ['name ' ];
268
267
$ jsonsegment ['value ' ] = $ jsonelements ;
269
268
269
+ } elseif ($ xmlMap !== $ this ->xmlSvc ) {
270
+ $ jsonsegment = $ this ->processSegment ($ segment , $ this ->xmlSvc , $ segmentIdx , $ errors );
270
271
} else {
271
272
$ jsonsegment ['key ' ] = 'UnrecognisedType ' ;
272
273
$ jsonsegment ['value ' ] = $ segment ;
273
274
}
275
+
274
276
return $ jsonsegment ;
275
277
}
276
278
0 commit comments