my $in := open { $ARGV[0] } ; my $out := create RoutingDetails ; my $rd = $out/RoutingDetails ; my $pda = $in//PortDetails[PortType='A'] ; if $pda { set $rd/StageQualifier 1 ; set $rd/TransportMode 1 ; set $rd/TransportName 'NV PRECARRIAGE' ; insert element Origin into $rd ; cp $pda/PortCode/text() into $rd/Origin ; insert element ETD into $rd ; cp $pda/CutOffDate/text() into $rd/ETD ; } my $pdl = $in//PortDetails[PortType='L'] ; if $pdl { insert element Destination into $rd ; cp $pdl/PortCode/text() into $rd/Destination ; insert element ETA into $rd ; cp $pdl/ETD/text() into $rd/ETA ; } save :f 'output.xml' $out ;