MCD-LEVEL-1 · Question #180
Refer to the exhibits. What DataWeave expression transforms the conductorIds array to the XML output? A. 1. 1. trains: 2. 2. conductorIds map ((engId, index) -> 4. 4. engineerId: engId 5. 5. } 6. 6…
The correct answer is C. 1. trains: 2. {( 3. conductorIds map ((engId, index) -> 4. train: { 5. engineerId: engId 6. } 7. ) 8. )}. Points to remember: XML must have a root element. XML only allows one root element To avoid multiple root issues, you must create a root element for the XML output, whenever we transform output When mapping array elements (JSON or JAVA) to XML, wrap the map operations in {(..)}…
Question
Exhibit
Options
- A
- trains:
- conductorIds map ((engId, index) ->
- train: {
- engineerId: engId
- }
- )
- B
- { trains:
- conductorIds map ((engId, index) ->
- train: {
- engineerId: engId
- }
- )
- }
- C
- trains:
- {(
- conductorIds map ((engId, index) ->
- train: {
- engineerId: engId
- }
- )
- )}
- D
- {( trains:
- conductorIds map ((engId, index) ->
- train: {
- engineerId: engId
- }
- )
- )}
How the community answered
(26 responses)- A23% (6)
- B8% (2)
- C58% (15)
- D12% (3)
Explanation
Points to remember: * XML must have a root element. * XML only allows one root element * To avoid multiple root issues, you must create a root element for the XML output, whenever we transform output * When mapping array elements (JSON or JAVA) to XML, wrap the map operations in {(..)} -{ } are defining the object ( ) are transforming each element in the array as a key/value pair * The transformation to XML would fail if the above mentioned considerations were not taken into * Thus the transformation script declares a root element as trains and wraps the data in "{( )}". Whenever you see such type of question, always look out for root element followed by {( )} wrapping I call this a "Wrap The Map" scenario. Hope it would help you remember !
Topics
Community Discussion
No community discussion yet for this question.
