%dw 2.0
output application/dw
import training::dw::Utils
import * from dw::core::Strings
var passengerRecords = Utils::safeReadInput("localdata/passengerRecords.csv","application/csv")
var flightsWithDetails = payload.flights
var reservationsXml = Utils::jsonArrayToXML (
dw::core::Arrays::join(
passengerRecords as Array<Object>,
flightsWithDetails.*flight,
(pass) -> pass."Flight Code",
(flight) -> flight.flightCode
).r, "reservation"
)
---
reservationsXml
update {
case lat at .reservations.*reservation.*destination.latitude ->
lat as Number as String {format: "###.0000"}
case long at .reservations.*reservation.*destination.longitude ->
long as Number as String {format: "###.0000"}
}
update {
case res at .reservations.*reservation ->
res mapObject (v,k,i) ->
(capitalize(k)): v
}
dw::util::Values::mask "Price" with "*****.**"
Comments