Skip to Content
0
Former Member
Feb 16, 2011 at 08:34 AM

XSLT mapping does not pass values

30 Views

Hi

I have the following source structure:

<?xml version="1.0" encoding="UTF-8"?>

<ns0:MT_Source_Order xmlns:ns0="urn:local:orders">

<OrderHeader>

<OrderNr>1</OrderNr>

<Buyer>2</Buyer>

</OrderHeader>

<OrderLine>

<Item>A</Item>

<Quantity>B</Quantity>

</OrderLine>

<OrderLine>

<Item>C</Item>

<Quantity>D</Quantity>

</OrderLine>

</ns0:MT_Source_Order>

and i created this XSLT:

<?xml version= '1.0' encoding="UTF-8"?>

http://www.w3.org/1999/XSL/Transform" xmlns:ns0 = "urn:local:orders" xmlns:ns1 = "urn:local:orders">

<xsl:template match = "/">

<ns1:MT_Target_Order>

<Orders>

<xsl:for-each select="ns0:MT_Source_Order/OrderLine">

<Order>

<Ordernr>

<xsl:value-of select="MT_Source_Order/OrderHeader/OrderNr"/>

</Ordernr>

<Buyer>

<xsl:value-of select="MT_Source_Order/OrderHeader/Buyer"/>

</Buyer>

<Item>

<xsl:value-of select="MT_Source_Order/OrderLine/Item"/>

</Item>

<Quantity>

<xsl:value-of select="MT_Source_Order/OrderLine/Quantity"/>

</Quantity>

</Order>

</xsl:for-each>

</Orders>

</ns1:MT_Target_Order>

</xsl:template>

</xsl:stylesheet>

I created all objects up to the Operation Mapping.

When i test my xslt mapping the target structure comes out as:

<?xml version="1.0" encoding="UTF-8"?>

<ns1:MT_Target_Order xmlns:ns0="urn:local:orders" xmlns:ns1="urn:local:orders">

<Orders>

<Order>

<Ordernr/>

<Buyer/>

<Item/>

<Quantity/>

</Order>

<Order>

<Ordernr/>

<Buyer/>

<Item/>

<Quantity/>

</Order>

</Orders>

</ns1:MT_Target_Order>

The xml structure is OK, but i wanted the paired values in the output also. (order 1 = 12AB, order 2 = 12CD)

(I have also tried to insert variables in my XSLT but that didnt work either)

What do i need to change in my XSLT to pass the values to the target structure?

Thx

Robert