1
<------Sample Request---------!>
<RequestTrailers>
    <SystemSource>SS</SystemSource>
    <FunctionName>FN</FunctionName>
    <EventDateTime>EDT</EventDateTime>
    <DCID>id</DCID>
    <WaveName>WN</WaveName>
    <DockDetails>**strong text**
        <EstimatedDeparture>ED1</EstimatedDeparture>
        <Route>123</Route>
        <Door>001</Door>
        <DoorPurpose>DP</DoorPurpose>
        <EquipmentType>EQP1</EquipmentType>
        <TrailerAssetID>asset1</TrailerAssetID>
        <Carrier>test1</Carrier>
        <WarehouseID>01</WarehouseID>
    </DockDetails>
    <DockDetails>
        <EstimatedDeparture>ED1</EstimatedDeparture>
        <Route>456</Route>
        <Door>002</Door>
        <DoorPurpose>DP</DoorPurpose>
        <EquipmentType>EQP2</EquipmentType>
        <TrailerAssetID>asset2</TrailerAssetID>
        <Carrier>test1</Carrier>
        <WarehouseID>02</WarehouseID>
    </DockDetails>
</RequestTrailers>`   

Requirement : we need to pick a sample request as above from dataPower MQ and generate n number of xml request using XSLT transformation node and need to invoke all request into the same queue: Xmls need to generate based on below requirement.

  1. 1st we need to copy a sample request with different root tag <RequestTrailers1>----<RequestTrailers1>
  2. We need to generate (n-1) request based on number of DockDetails element if TrailerAssetID is present under dock details.Here there is two 'DockDetail' element, so we need to generate 2 request as per below format.

1st request:

    <AssignToAsset>
        <DCID>id </DCID>
        <Route>123</Route>
        <Door>001</Door>
        <DoorPurpose>DP</DoorPurpose>
        <EquipmentType>EQP1</EquipmentType>
        <TrailerAssetID>asset1</TrailerAssetID>
        <Carrier>test1</Carrier>
        <WarehouseID>01</WarehouseID>
    </AssignToAsset>

2nd request:

    <AssignToAsset>
        <DCID>id</DCID>
        <Route>456</Route>
        <Door>001</Door>
        <DoorPurpose>DP</DoorPurpose>
        <EquipmentType>EQP1</EquipmentType>
        <TrailerAssetID>asset1</TrailerAssetID>
        <Carrier>test1</Carrier>
        <WarehouseID>01</WarehouseID>
    </AssignToAsset>

I am new person to datapower and xslt coding. Please share an idea or any code chunk to solve this problem. This will be biggest help for me and also suggest how we can pick and write the code into data Power MQ. Please suggest any suitable link for the same problem.

JoshMc
  • 10,239
  • 2
  • 19
  • 38
  • If you want different result trees in XSLT context, the you need XSLT 2.0+ `xsl:result-document` instruction. Otherwise, in XSLT 1.0 context you would need to use the extension mechanism, ie. [EXSLT](http://exslt.org/exsl/elements/document/index.html) ) – Alejandro Aug 20 '19 at 16:49

0 Answers0