Hallo zusammen,
ich habe das Problem, dass bei der Verwendung der Aktivitätstypen “Merge” und “Multi Merge” XML-Prozesselemente, wie “<?xml-multiple ITEM?>”, entfernt werden. Dieses XML-Prozesselemente wird beispielsweise auch automatisch von Transconnect bei der Konverter von “JSON -> XML” gesetzt.
Ein Beispiel:
Nachricht A:
<?xml version=”1.0″ encoding=”UTF-8″ standalone=”no”?>
<ROOT>
<?xml-multiple ITEM?>
<ITEM>a</ITEM>
<ITEM>b</ITEM>
<ITEM>c</ITEM>
</ROOT>
Nachricht B:
<?xml version=”1.0″ encoding=”UTF-8″ standalone=”no”?>
<ROOT>
<HEAD>1</HEAD>
</ROOT>
Nachricht A und Nachricht B werden nun gemerged (einfaches Anfügen) und das Resultat ist das Folgende:
Nachricht Merged:
<ROOT>
<ROOT>
<ITEM>a</ITEM>
<ITEM>b</ITEM>
<ITEM>c</ITEM>
</ROOT>
<ROOT>
<HEAD>1</HEAD>
</ROOT>
</ROOT>
Da ich nun das Problem habe, dass ich die Information (<?xml-multiple ITEM?>) verloren habe, dass das ITEM-Element ein Array ist. Nun müsste ich in xslt aufwändig wieder das entsprechende XML-Prozesselement setzen, damit der Transconnect-Konverter “XML->JSON” dies korrekt interpretiert. Geht dies einfacher oder habe ich eine Option beim MERGE übersehen, welches diese Elemente nicht entfernt?
Viele Grüße,
Julian