cancel
Showing results for 
Search instead for 
Did you mean: 

XSL Conversion

former_member201264
Active Contributor
0 Kudos

Hi Experts,

I have to convert source XML to Target as below:

I am using Multi Mapping in PI but getting some error and adviced to add some extra stuff in XML target using XSLT.

My XSL Mapping Program:     You can also advice your program as well.

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

<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">

<xsl:output method="xml" version="1.0" encoding="UTF-8" indent="yes"/>

<xsl:template match="/">

  <sm:Messages xmlns:sm="http://sap.com/xi/XI/SplitAndMerge">

   <Message1>

    <ns1:MT_eMail_Success_Receiver xmlns:ns1="http://sap.com/xi/XI/Mail/30">

     <xsl:copy-of select="MT_eMail_Success_Receiver"/>

    </ns1:MT_eMail_Success_Receiver>

   </Message1>

   <Message2>

    <ns1:MT_eMail_Fail_Receiver xmlns:ns1="http://sap.com/xi/XI/Mail/30">

     <xsl:copy-of select="MT_eMail_Fail_Receiver"/>

    </ns1:MT_eMail_Fail_Receiver>

   </Message2>

  </sm:Messages>

</xsl:template>

</xsl:stylesheet>

------------------------------------------------------------------------------------------------------

Source:

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

<ns0:Messages xmlns:ns0="http://sap.com/xi/XI/SplitAndMerge">

   <ns0:Message1>

      <ns1:MT_eMail_Success_Receiver xmlns:ns1="http://sap.com/xi/XI/Mail/30">

         <row>

            <RequestID>P1</RequestID>

            <CreateDate>P1</CreateDate>

            <Source>P1</Source>

            <CreateBy>P1</CreateBy>

            <FunctionalLocation>P1</FunctionalLocation>

            <RequestDescription>P1</RequestDescription>

            <SafetyFlag>P1</SafetyFlag>

            <PostDate>P1</PostDate>

            <PostBy>P1</PostBy>

            <PostStatus>P</PostStatus>

            <PostingError>P1</PostingError>

            <PostingRetryCount>P1</PostingRetryCount>

            <NotificationNumber>P1</NotificationNumber>

         </row>

         <row>

            <RequestID>P123</RequestID>

            <CreateDate>P123</CreateDate>

            <Source>P123</Source>

            <CreateBy>P123</CreateBy>

            <FunctionalLocation>P123</FunctionalLocation>

            <RequestDescription>P123</RequestDescription>

            <SafetyFlag>P123</SafetyFlag>

            <PostDate>P123</PostDate>

            <PostBy>P123</PostBy>

            <PostStatus>P</PostStatus>

            <PostingError>P123</PostingError>

            <PostingRetryCount>123</PostingRetryCount>

            <NotificationNumber>123</NotificationNumber>

         </row>

      </ns1:MT_eMail_Success_Receiver>

   </ns0:Message1>

   <ns0:Message2>

      <ns1:MT_eMail_Fail_Receiver xmlns:ns1="http://sap.com/xi/XI/Mail/30">

         <row>

            <RequestID>P12</RequestID>

            <CreateDate>P12</CreateDate>

            <Source>P12</Source>

            <CreateBy>P12</CreateBy>

            <FunctionalLocation>P12</FunctionalLocation>

            <RequestDescription>P12</RequestDescription>

            <SafetyFlag>P12</SafetyFlag>

            <PostDate>P12</PostDate>

            <PostBy>P12</PostBy>

            <PostStatus>F</PostStatus>

            <PostingError>P12</PostingError>

            <PostingRetryCount>12</PostingRetryCount>

            <NotificationNumber>12</NotificationNumber>

         </row>

         <row>

            <RequestID>P1234</RequestID>

            <CreateDate>P1234</CreateDate>

            <Source>P1234</Source>

            <CreateBy>P1234</CreateBy>

            <FunctionalLocation>P1234</FunctionalLocation>

            <RequestDescription>P1234</RequestDescription>

            <SafetyFlag>P1234</SafetyFlag>

            <PostDate>P1234</PostDate>

            <PostBy>P1234</PostBy>

            <PostStatus>F</PostStatus>

            <PostingError>P1234</PostingError>

            <PostingRetryCount>1234</PostingRetryCount>

            <NotificationNumber>1234</NotificationNumber>

         </row>

      </ns1:MT_eMail_Fail_Receiver>

   </ns0:Message2>

</ns0:Messages>

-----------------------------------------------------------------------------------------------------------

I need Target as below:

<?xml version="1.0" encoding="UTF-8"?>
<sm:Messages xmlns:ns0="http://sap.com/xi/XI/SplitAndMerge">
   <Message1>
      <ns1:MT_eMail_Success_Receiver xmlns:ns1="http://sap.com/xi/XI/Mail/30">
         <row>
            <RequestID>P1</RequestID>
            <CreateDate>P1</CreateDate>
            <Source>P1</Source>
            <CreateBy>P1</CreateBy>
            <FunctionalLocation>P1</FunctionalLocation>
            <RequestDescription>P1</RequestDescription>
            <SafetyFlag>P1</SafetyFlag>
            <PostDate>P1</PostDate>
            <PostBy>P1</PostBy>
            <PostStatus>P</PostStatus>
            <PostingError>P1</PostingError>
            <PostingRetryCount>P1</PostingRetryCount>
            <NotificationNumber>P1</NotificationNumber>
         </row>
         <row>
            <RequestID>P123</RequestID>
            <CreateDate>P123</CreateDate>
            <Source>P123</Source>
            <CreateBy>P123</CreateBy>
            <FunctionalLocation>P123</FunctionalLocation>
            <RequestDescription>P123</RequestDescription>
            <SafetyFlag>P123</SafetyFlag>
            <PostDate>P123</PostDate>
            <PostBy>P123</PostBy>
            <PostStatus>P</PostStatus>
            <PostingError>P123</PostingError>
            <PostingRetryCount>123</PostingRetryCount>
            <NotificationNumber>123</NotificationNumber>
         </row>
      </ns1:MT_eMail_Success_Receiver>
   </Message1>
   <Message2>
      <ns1:MT_eMail_Fail_Receiver xmlns:ns1="http://sap.com/xi/XI/Mail/30">
         <row>
            <RequestID>P12</RequestID>
            <CreateDate>P12</CreateDate>
            <Source>P12</Source>
            <CreateBy>P12</CreateBy>
            <FunctionalLocation>P12</FunctionalLocation>
            <RequestDescription>P12</RequestDescription>
            <SafetyFlag>P12</SafetyFlag>
            <PostDate>P12</PostDate>
            <PostBy>P12</PostBy>
            <PostStatus>F</PostStatus>
            <PostingError>P12</PostingError>
            <PostingRetryCount>12</PostingRetryCount>
            <NotificationNumber>12</NotificationNumber>
         </row>
         <row>
            <RequestID>P1234</RequestID>
            <CreateDate>P1234</CreateDate>
            <Source>P1234</Source>
            <CreateBy>P1234</CreateBy>
            <FunctionalLocation>P1234</FunctionalLocation>
            <RequestDescription>P1234</RequestDescription>
            <SafetyFlag>P1234</SafetyFlag>
            <PostDate>P1234</PostDate>
            <PostBy>P1234</PostBy>
            <PostStatus>F</PostStatus>
            <PostingError>P1234</PostingError>
            <PostingRetryCount>1234</PostingRetryCount>
            <NotificationNumber>1234</NotificationNumber>
         </row>
      </ns1:MT_eMail_Fail_Receiver>
   </Message2>
</sm:Messages>

-----------------------------Comments__________________
Here  I need to change tags in target as below but all the remaining do not effect:

<sm:Messages xmlns:ns0="http://sap.com/xi/XI/SplitAndMerge">
   <Message1>
Actual data same as in input
   </Message1>
   <Message2>
Actual data same as in input
   </Message2>
<sm:Messages>

------------------------------------------

Regards,

Sreeni

Accepted Solutions (0)

Answers (1)

Answers (1)

former_member201264
Active Contributor
0 Kudos

Hi Experts,

Any Idea please..

Regards,

Sreeni.