XSLT Mapping for Namespace Prefix replacement

Hey All,
I have below XML:
<?xml version="1.0" encoding="UTF-8"?>
<ns0:OrderChange ns0:transactionPurposeIndicator="Change" xmlns:ns0="http://www.api.org/pidXML">
<ns0:OrderChangeProperties>
<ns0:OrderChangeNumber>1</ns0:OrderChangeNumber>
<ns0:OrderChangeDate>2009-10-19</ns0:OrderChangeDate>
</ns0:OrderChangeProperties>
</ns0:OrderChange>
And i need to convert it to below format:
<?xml version="1.0" encoding="UTF-8"?>
<pidx:OrderChange pidx:transactionPurposeIndicator="Change"   xmlns:pidx="http://www.api.org/pidXML" xmlns="http://www.api.org/pidXML" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.api.org/pidXML Z:\integration\trunk\schemas\pidx\OrderChange_1-2.xsd">
<pidx:OrderChangeProperties>
<pidx:OrderChangeNumber>1</pidx:OrderChangeNumber>
<pidx:OrderChangeDate>2009-10-19</pidx:OrderChangeDate>
</pidx:OrderChangeProperties>
</pidx:OrderChange>
Can someone please let me know the XSLT Mapping to achieve this. I have tried searching on the forum but haven't found much help.
Appreciate your help.
Thanks

Hi Saif,
The below blog and doc will be useful
Useful XSLT mapping functions in SAP XI/PI
Changing Namespaces and the encoding format of XML - Process Integration - SCN Wiki
http://www.sdn.sap.com/irj/scn/go/portal/prtroot/docs/library/uuid/000ee4d0-be91-2d10-8aaf-ff8045bdd37d?overridelayout=t…
regards,
Harish

Similar Messages

  • Problem accessing /config_general/null/Default.action   Reason:There is no Action mapped for namespace/ config_general and action name default

    in use:
    vRO 5.1
    eclipse 3.7.2
    vRo plug-sdk 5.1
    steps:
    1.create a plug-in project from samples(choose solar system)
    2.find the dar package and upload it by vRo configuration
    3.vRo configuration said upload successfully,but the solar system configuration is not properly configued..
    problem:
    Problem accessing /config_general/null/Default.action   Reason:There is no Action mapped for namespace/ config_general and action name default
    How to solve it??
    Thanks so much!!

    There was problem from crm side...its working now..

  • File TO File-Using XSLT mapping (for Beginners) --- Error in XSLT

    Hi,
    I am following this wiki (TO File-Using XSLT mapping (for Beginners))
    https://wiki.sdn.sap.com/wiki/display/XI/FileTOFile-UsingXSLTmapping%28forBeginners%29
    When creating  Xslt from the MapForce, when I click on the XSLT Tab I am getting the following error
    http://www.flickr.com/photo_zoom.gne?id=1216715484&size=o
    How to correct this error ?.....
    Thanks
    srini
    Message was edited by:
            srinivas

    Hello,
    The XSD you are using is from Data Type and you are using it for mapping.
    Instead export XSD for Message Type and also pass the XML schema for source that will solve the issue and your XSLT will be generated.
    Regards,

  • XSLT Mapping - problem with prefixes when calling template

    Hi all,
    I am having a problem with using an XSLT mapping in XI to combine various fields from 2 input messages of different structures into a single output message.  I understand that XI puts a wrapper around the 2 input messages so the structure of the XML I am mapping is:
    <?xml version="1.0" encoding="UTF-8"?>
    <ns2:Messages xmlns:ns2="http://sap.com/xi/XI/SplitAndMerge">
    <ns2:Message1>
    <ns:(root of first message)>
    </ns:(root of first message)>
    </ns2:Message1>
    <ns2:Message2>
    <ns:(root of second message)>
    </ns: (root of second message)>
    </ns2:Message2>
    </ns2:Messages>
    Currently my XSL looks like the following:
    <?xml version="1.0" encoding="UTF-8"?>
    <xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:ns="http://example.co.uk/example" xmlns:ns2="http://sap.com/xi/XI/SplitAndMerge" xmlns:javamap="java:systemDate.CurrentDate" version="2.0">
    <xsl:output method="xml" version="1.0" encoding="UTF-8"/>
    <xsl:param name="inputparam"/>
    <xsl:template match="ns2:Messages">
    ...<xsl:calltemplate name="FormattingTemplate"/>
    </xsl:template>
    <xsl:template name="FormattingTemplate">
    </xsl:template>
    </xsl:stylesheet>
    When I test the mapping it works fine until it calls the FormattingTemplate.  Then it throws out a "transformer exception" error saying the prefix 'ns2' is not mapped to a namespace.
    If anyone could tell me where I am going wrong I would be very grateful.
    Thanks,
    Mike

    Hi Udo,
    Thanks for your reply.
    When testing the stylesheet locally with XMLSpy, it works fine, but I have just noticed that it adds information in the root tag of the target message as follows:
    <(root of target message) xmlns:javamap="java:systemDate.CurrentDate" xmlns:ns="http://example.co.uk/example" xmlns:ns2="http://sap.com/xi/XI/SplitAndMerge">
    I checked the root tag of the target message in XI and it does not automatically add this information. Thus I added it in my stylesheet so the information above is projected in the target message, but the same error message appears when the call template function is called.  Do you know if I need to somehow add a namespace to templates other than the main one? If so, do you know how I go about doing that?
    Thanks,
    Mike

  • XSLT Mapping and Namespace Issues

    I have been reading through similar threads on this topic, but have not found the right combination for my problem.  I am doing an XSLT map and it works fine in Stylus Studio.  When I take it to PI, I get a "Prefix 'ns0' is not mapped to a namespace" error.  I have a namespace that is within the XSD files I received from my partner (http://www.ups.com/XMLSchema/EBR/Billing/v1).  I also have the namespace I made in PI for the source (http://graybar.com/upsbilling/) and a different namespace in PI for the destination (http://graybar.com/cold/invoice/).
    <u><b>XSLT:</b></u>
    <?xml version='1.0' encoding="UTF-8"?>
    <xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:ns0="http://www.ups.com/XMLSchema/EBR/Billing/v1" xmlns:ns1="http://graybar.com/cold/invoice/">
    <xsl:template match="/">
    <ns1:ColdInvoiceData>
      <Header>
      <RecordID>HDR</RecordID>
      <InvoiceDate>
      <xsl:value-of select="ns0:UPS_EBR_BILL/ns0:InvoiceDetails/ns0:Invoice/ns0:InvoiceDateCCYYMMDD"/>
      </InvoiceDate>
    <u><b>Source XML</b></u>
    <?xml version="1.0" encoding="ISO-8859-1" ?>
    <UPS_EBR_BILL xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://www.ups.com/XMLSchema/EBR/Billing/v1" xsi:schemaLocation="http://www.ups.com/XMLSchema/EBR/Billing/v1 Billing_XML_Schema.xsd">
    <XMLBillFileVersion>1.0.1</XMLBillFileVersion>
    <Recipient>
    When I change the XSLT namespace from http://www.ups.com/XMLSchema/EBR/Billing/v1 to http://graybar.com/upsbilling/, the TransfromerException in PI goes away, but none of my referenced mappings work either (just my text hardcodes).
    Can someone tell me why this works in Stylus Studio, but not in PI?  Do I have too many namespaces?
    Message was edited by:
            Keith Wendel (to uncomment xsl:stylesheet line)

    > <ns1:ColdInvoiceData xmlns:ns1="http://graybar.com/cold/invoice/">
    This change did not affect anything.  Still works in Stylus Studio though.
    Did you mean to show any changes at the <xsl:value-of select> line?  I did not notice anything there.
    Can anyone explain what "not mapped to a namespace" means?  I have the declaration of ns0 at the top, so I don't see what else needs to be mapped.  Do I have to have my PI namespace where I store the partner's XSDs set as "http://www.ups.com/XMLSchema..." (partner's namespace)?

  • XSLT mapping for fixed values

    Hi,
    i am doing a XSLT mapping. i have a field which has fixed values(can be performed using graphical mapping). but the same i am not able to implement for XSLT. can anyone give me a idea about this
    <removed by moderator>
    Thanks
    Deepika
    Edited by: Mike Pokraka on Jul 24, 2008 12:57 PM

    Step u2013 By u2013 Step Simple Approach for XSLT Mapping                         
    Step – By – Step Simple Approach for XSLT Mapping                         
    generic xslt mapping part 1                                             
    https://www.sdn.sap.com/irj/servlet/prt/portal/prtroot/docs/library/uuid/01a57f0b-0501-0010-3ca9-d2ea3bb983c1                                             
    generic xslt mapping part2                                   
    https://www.sdn.sap.com/irj/servlet/prt/portal/prtroot/docs/library/uuid/9692eb84-0601-0010-5ca0-923b4fb8674a                                             
    xslt recursive templates                                             
    XSLT: Recursive Templates
    regards
    kummari

  • XSLT Mapping for creating Excel files

    Hi ,
    I am following the blog /people/michal.krawczyk2/blog/2005/12/10/xi-generating-excel-files-without-the-java-nor-the-conversion-agent-not-possible by Michal regarding conversion of Flat files to Excel file format.
    My input xml format is
             <?xml version="1.0" encoding="utf-8"?>
             <FILE>
                  <Record>
         <Name>Navin</Name>
                         <EmpID>123456</EmpID>
                         <Location>Bangalore</Location>
                  </Record>
                 <Record>
         <Name>Ravi</Name>
                         <EmpID>789456</EmpID>
                         <Location>Hyderabad</Location>
                  </Record>
             </FILE>
    i need to convert this file into an Excel format with each record in single rows with Column Header names as Name,EmpID,Location.
    Could you please suggest how the XLST mapping should be done for this as i am very new to XSLT mapping concept.
    Please suggest how we can attain the target structure(datatype) and  steps to do this XSLT mapping.
    Note:- We are not doing Adapter module for this conversion.
    Thanks,
    Navin

    > i need to convert this file into an Excel format with each record in single rows with Column Header names as Name,EmpID,Location.
    This can be done with file content convertion. Use delimiter ; for excel
    > Could you please suggest how the XLST mapping should be done for this as i am very new to XSLT mapping concept.
    If you do not understand XSLT, you you want to maintain your development, in case if an error?
    http://w3schools.com/xsl/default.asp

  • Use XSLT mapping for multiple payloads

    Lydia,
    Do you mean multiple mapping as
    <message1>
    Payload1
    </message1>
    <message2>
    Payload2
    </message2>
    If you are generating XSLT mapping using any tool then you have can take xsd from the messagemapping and just map it.
    in you  target structure message1, message2 should be there.
    Gaurav Jain
    Reward Points if answer is helpful

    Thank you for your response.  I tried several variations - including this one - but I can't seem to get the results to match your screen shot.  Also, I am not sure if the tag should be 'Content-Type' or content_type ....
    <xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="2.0" xmlns:ns0="urn:sap-com:document:sap:rfc:functions" xmlns:ns="http://sap.com/xi/XI/Mail/30">
         <xsl:output method="xml" encoding="utf-8" indent="no" omit-xml-declaration="yes"/>
         <xsl:template match="/">
              <xsl:apply-templates select="ORDERS02"/>
         </xsl:template>
         <xsl:template match="ORDERS02">
              <ns:Mail>
                   <Subject>
                        <xsl:text>Purchase Order: </xsl:text>
                   </Subject>
                   <From>
                        <xsl:text>mail.com</xsl:text>
                   </From>
                   <To>
                        <xsl:text>mail.com</xsl:text>
                   </To>
                   <Content_Type>
                        <xsl:text>multipart/mixed; boundary="b1"</xsl:text>
                   </Content_Type>
                   <Content><xsl:text>--b12&#10;</xsl:text>
                   <xsl:text>&#10;</xsl:text>
                   <xsl:text>Content-Type: text/plain; charset=us-ascii </xsl:text>
                   <xsl:text>&#10;</xsl:text>
                   <xsl:text>Content-Transfer-Encoding: 7bit </xsl:text>
                   <xsl:text>&#10;</xsl:text>
                   <xsl:text>My Order</xsl:text>
                   <xsl:text>&#10;</xsl:text>
                   <xsl:text>--b1</xsl:text>
                   <xsl:text>&#10;</xsl:text>
                   <xsl:text>Content-Type: text/plain; charset=us-ascii</xsl:text>
                   <xsl:text>&#10;</xsl:text>
                   <xsl:text>Content-Transfer-Encoding: 7bit</xsl:text>
                   <xsl:text>&#10;</xsl:text>
                   <xsl:text>Content-Disposition: attachment; filename="order.dc"</xsl:text>
                   <xsl:text>&#10;</xsl:text>
                        <xsl:text> </xsl:text>
                        <xsl:value-of select="IDOC/E1EDK01/BELNR"/>
                        <xsl:text>A </xsl:text>
                        <xsl:text>ORD 238            </xsl:text>
                        <xsl:text>&#10;</xsl:text>
                        <xsl:text> </xsl:text>
                        <xsl:value-of select="IDOC/E1EDK01/BELNR"/>
                        <xsl:text>B</xsl:text>
                        <xsl:text>The Wolf Organization        </xsl:text>
                        <xsl:text>&#10;</xsl:text>
                        <xsl:text> </xsl:text>
                        <xsl:value-of select="IDOC/E1EDK01/BELNR"/>
                        <xsl:text>C</xsl:text>
                        <xsl:text>PO Box 2044                  </xsl:text>
                        <xsl:text>&#10;</xsl:text>
                        <xsl:text> </xsl:text>
                        <xsl:text>D</xsl:text>
                        <xsl:text>York, PA  17404-2044         </xsl:text>
                        <xsl:text>&#10;</xsl:text>
                        <xsl:text> </xsl:text>
                        <xsl:text>E</xsl:text>
                        <xsl:text>&#10;</xsl:text>
                        <xsl:text> </xsl:text>
                        <xsl:text>F</xsl:text>
                        <xsl:text>&#10;</xsl:text>
                        <xsl:text> </xsl:text>
                        <xsl:text>G</xsl:text>
                        <xsl:text>&#10;</xsl:text>
                        <xsl:apply-templates select="IDOC/E1EDP01"/>
                        <xsl:text> </xsl:text>
                   </Content>
                   <xsl:text>--b1--</xsl:text>
              </ns:Mail>
         </xsl:template>
         <xsl:template match="IDOC/E1EDP01">
              <xsl:text>Z</xsl:text>
              <xsl:text>                </xsl:text>
              <xsl:text>&#10;</xsl:text>
         </xsl:template>
    </xsl:stylesheet>

  • XSLT mapping for HL loop sequence S,O,I,O,I,O,I

    I am trying to use BPEL to map an EDI 856 ASN from the XML Gateway where the trading partner requires the following HL looping sequence; S,O,I,O,I,O,I. It is shipment, order, item, order, item etc.. Using the for each constructs what I get is S,O,O,O,I,I,I. Does anyone know of a way to do this in the XSLT mapper?

    Hi,
    You can try this by making use of preceding-sibling and following-sibling axes in XSLT..after S, u can put a
    <xsl:if test following-sibling::ns0:ReadDataFromOutput[ns0:segment='O']> and try same with rest of the segement.

  • XSLT mapping for 856 question

    Ramesh,
    I hate to keep bugging everyone but i have another question.
    I am trying to transform data into an X-12 856 document (outbound). I have most of the looping and everything working. My only issue is how do you handle the parent child relationships in the HL01/02 ? Since xpath does not let you increment a variable how can you keep the count of the HL loops let alone tell the HL02 (parent's HL01) We are using a SOPI scenario and the items need to be subordinate to the appopriate pack level.
    I really appreciate all the time and awnsers you have given me so far :)
    Thank you in advance,
    Jaden

    Is there a tutorial on how to use the XSLT Data Mapper? I can't seem to find it, I'm using JDeveloper 11g preview 2. I ran the studio version 10.1.3.1.0, but I can't find it either.
    I found a document on XSLT Data Mapper, but it seems like they are for WSDL mapping. Is it possible to map between two XMLs/XSD?
    http://download.oracle.com/docs/cd/E10291_01/doc.1013/e10295/xslt_mpr.htm#BABBCIAI

  • XSLT-Mapping for Genesys in combination with IC Webclient

    Hi,
    Im not sure if this is the correct area of the SDN but I dont know better
    I have the following problem:
    In the Account Identification Profile I can define an ApplicationID and an XSLT-File to transform my SOAP-request accordingly to search a Businesspartner by CAD (CallAttachedData).
    I used the sample program CRM_IC_BPIDENT_EXT_IAD_GENESYS and didnt change anything but whatever I send via the CCS there is no search done.
    Am I using the XSLT-program the wrong way in the meaning of "adapat it to your needs" or am I missing sth?
    Thanks for your help,
    Ben.

    Thanks for your reply.
    The code for the XSLT-File is as follows:
    <xsl:transform version="1.0"
    xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
    xmlns:sapxsl="http://www.sap.com/sapxsl"
    xmlns:asx="http://www.sap.com/abapxml" version="1.0"
    >
    <xsl:strip-space elements="*"/>
    <xsl:template match="Application">
    <asx:abap>
    <asx:values>
    <PartnerSearch>
    <xsl:for-each select="*">
    <item>
    <NAME><xsl:value-of select="name()"/></NAME>
    <VALUE><xsl:value-of select="."/></VALUE>
    </item>
    </xsl:for-each>
    </PartnerSearch>
    </asx:values>
    </asx:abap>
    </xsl:template>
    </xsl:transform>
    I cant tell if the output-format is correct as there is no error, at least I dont know where I could search for. There is no obvious errormessage at the IC client.
    The output looks like this:
    <?xml version="1.0" encoding="utf-8"?>
    DD42A914E95D02F1816A001E4F1CFA631b2591c:11abf6f5653:-
    7ffffalsetrueEnded4Not in process1826021068262601+07131355771671
    <asx:abap xmlns:asx="http://www.sap.com/abapxml">
    <asx:values>
    <PartnerSearch/>
    </asx:values>
    </asx:abap>
    <asx:abap xmlns:asx="http://www.sap.com/abapxml">
    <asx:values>
    <PartnerSearch>
    <item>
    <NAME>CURRENTCONTACT</NAME>
    <VALUE>GenesysContact</VALUE>
    </item>
    <item>
    <NAME>CURRENTCUSTOMER</NAME>
    <VALUE>GenesysCus</VALUE>
    </item>
    <item>
    <NAME>CURRENTCOMPONENT</NAME>
    <VALUE>GenesysComponent</VALUE>
    </item>
    <item>
    <NAME>BPCONFIRMED</NAME>
    <VALUE>G</VALUE>
    </item>
    </PartnerSearch>
    </asx:values>
    </asx:abap>
    <asx:abap xmlns:asx="http://www.sap.com/abapxml">
    <asx:values>
    <PartnerSearch>
    <item>
    <NAME>TargetName</NAME>
    <VALUE>826_group1</VALUE>
    </item>
    <item>
    <NAME>TargetType</NAME>
    <VALUE>2</VALUE>
    </item>
    </PartnerSearch>
    </asx:values>
    </asx:abap>
    <asx:abap xmlns:asx="http://www.sap.com/abapxml">
    <asx:values>
    <PartnerSearch>
    <item>
    <NAME>RTargetPlaceSelected</NAME>
    <VALUE>826PL_8263000</VALUE>
    </item>
    <item>
    <NAME>ServiceType</NAME>
    <VALUE>default</VALUE>
    </item>
    <item>
    <NAME>RTenant</NAME>
    <VALUE>Customers</VALUE>
    </item>
    <item>
    <NAME>RTargetTypeSelected</NAME>
    <VALUE>2</VALUE>
    </item>
    <item>
    <NAME>RTargetObjectSelected</NAME>
    <VALUE>826_group1</VALUE>
    </item>
    <item>
    <NAME>RRequestedSkillCombination</NAME>
    <VALUE></VALUE>
    </item>
    <item>
    <NAME>RTargetRuleSelected</NAME>
    <VALUE></VALUE>
    </item>
    <item>
    <NAME>RTargetRequested</NAME>
    <VALUE>826_group1</VALUE>
    </item>
    <item>
    <NAME>RStrategyName</NAME>
    <VALUE>826_RouteToAgent_SAP</VALUE>
    </item>
    <item>
    <NAME>CustomerSegment</NAME>
    <VALUE>default</VALUE>
    </item>
    <item>
    <NAME>PegAG826_group1</NAME>
    <VALUE>1</VALUE>
    </item>
    <item>
    <NAME>RTargetAgentSelected</NAME>
    <VALUE>AGENT03</VALUE>
    </item>
    <item>
    <NAME>ServiceObjective</NAME>
    <VALUE></VALUE>
    </item>
    <item>
    <NAME>gplus-analytics-id</NAME>
    <VALUE>1b2591c:11abf6f5653:-7fff</VALUE>
    </item>
    </PartnerSearch>
    </asx:values>
    </asx:abap>
    I modified the input so that there is a field "<item><name>POST_CODE1</name><value>9100</value></item>" which should be correct for searching but nothing happens.
    Does anybody know where I can see what SAP does with this information?
    Thanks for your help!!!!
    Regards,
    Ben.

  • Is it possible to replace  XSLT mapping in place of Graphical mapping

    Is it possible to do XSLT mapping in place of Graphical mapping, in any normal scenario?
    Means the fuctionality we do by using Graphical mapping(like the operations by using node functions etc...) could possible to do with XSLT Mapping?

    HI
    yes it is possible to replace the graphical mapping with the XSLT mapping.
    But using XSLTs degrade the performance of the interface and moreover they are not easily maintainable.
    Refer the below links for assistance on XSLT Mapping:
    XSLT MAPPING:
    Generic XSLT Mapping for SAP XI,Part I
    https://www.sdn.sap.com/irj/servlet/prt/portal/prtroot/docs/library/uuid/01a57f0b-0501-0010-3ca9-d2ea3bb983c1
    Generic XSLT Mapping for SAP XI,Part II
    https://www.sdn.sap.com/irj/servlet/prt/portal/prtroot/docs/library/uuid/9692eb84-0601-0010-5ca0-923b4fb8674a
    XSLT: Recursive Templates
    XSLT: Recursive Templates
    Easy RFC lookup from XSLT mappings using a Java helper class
    https://www.sdn.sap.com/irj/servlet/prt/portal/prtroot/docs/library/uuid/05a3d62e-0a01-0010-14bc-adc8efd4ee14
    Step u2013 By u2013 Step Simple Approach for XSLT Mapping
    Step – By – Step Simple Approach for XSLT Mapping
    http://www.devguru.com/Technologies/xslt/quickref/xslt_element_applytemplates.html
    XSLT Mapping
    https://www.sdn.sap.com/irj/sdn/go/portal/prtroot/docs/library/uuid/01a57f0b-0501-0010-3ca9-d2ea3bb983c1
    https://www.sdn.sap.com/irj/sdn/go/portal/prtroot/docs/library/uuid/9692eb84-0601-0010-5ca0-923b4fb8674a
    https://www.sdn.sap.com/irj/sdn/go/portal/prtroot/docs/library/uuid/006aa890-0201-0010-1eb1-afc5cbae3f15
    xpath functions in xslt mapping
    https://www.sdn.sap.com/irj/sdn/advancedsearch?cat=sdn_all&query=xslt+mapping&adv=false&sortby=cm_rnd_rankvalue#
    Using XSLT mapping in a ccBPM scenario
    File to Multiple IDocs (XSLT Mapping)
    Comparsion of Different mappings:
    Comparing Performance of Mapping Programs
    Complete mapping guide url:
    http://help.sap.com/saphelp_nw04/helpdata/en/73/f61eea1741453eb8f794e150067930/content.htm
    cheers

  • Why xslt  mapping?

    I just want to know in what kind of mapping requirements we can go with xslt mapping which is not supported in graphical mapping?
    Please help me with few mapping requirements which is not supported in graphical mapping but we can achive using xslt mapping.

    Hi serach in SDN you will get everything ,...
    anyways refer these links
    A few example in which an XSLT mapping can be used:-
    When the required output is other than XML like Text, Html or XHTML (html displayed as XML)
    When default namespace coming from graphical mapping is not required or is to be changed as per requirements.
    When data is to be filtered based on certain fields (considering File as source)
    When data is to be sorted based on certain field (considering File as source)
    When data is to be grouped based on certain field (considering File as source)
    Advantages of using XSLT mapping
    XSLT program itself defines its own target structure.
    XSLT programs can be imported into SAP XI. Message mapping step can be avoided. One can directly go for interface mapping once message interfaces are created and mapping is imported.
    XSLT provides use of number of standard XPath functions that can replaces graphical mapping involving user defined java functions easily.
    File content conversion at receiver side can be avoided in case of text or html output.
    Multiple occurrences of node within tree (source XML) can be handled easily.
    XSLT can be used in combination with graphical mapping.
    Multi-mapping is also possible using xslt.
    XSLT can be used with ABAP and JAVA Extensions.
    Disadvantages of using XSLT mapping
    Resultant XML payload can not be viewed in SXMB_MONI if not in XML format (for service packs < SP14).
    Interface mapping testing does not show proper error description. So errors in XSLT programs are difficult to trace in XI but can be easily identified outside XI using browser.
    XSLT mapping requires more memory than mapping classes generated in Java.
    XSLT program become lengthier as source structure fields grows in numbers.
    XSLT program sometimes become complex to meet desired functionality.
    Some XSL functions are dependent on version of browser.
    Follow these links.
    https://www.sdn.sap.com/irj/sdn/go/portal/prtroot/docs/library/uuid/01a57f0b-0501-0010-3ca9-d2ea3bb983c1
    https://www.sdn.sap.com/irj/sdn/go/portal/prtroot/docs/library/uuid/9692eb84-0601-0010-5ca0-923b4fb8674a
    https://www.sdn.sap.com/irj/sdn/go/portal/prtroot/docs/library/uuid/006aa890-0201-0010-1eb1-afc5cbae3f15
    Some scenarios
    /people/sap.user72/blog/2005/03/15/using-xslt-mapping-in-a-ccbpm-scenario
    /people/anish.abraham2/blog/2005/12/22/file-to-multiple-idocs-xslt-mapping
    The following links give u step-by-step solution for XSLT mapping:
    Generic XSLT Mapping for SAP XI,Part I
    https://www.sdn.sap.com/irj/servlet/prt/portal/prtroot/docs/library/uuid/01a57f0b-0501-0010-3ca9-d2ea3bb983c1
    Generic XSLT Mapping for SAP XI,Part II
    https://www.sdn.sap.com/irj/servlet/prt/portal/prtroot/docs/library/uuid/9692eb84-0601-0010-5ca0-923b4fb8674a
    XSLT: Recursive Templates
    /people/udo.martens/blog/2006/04/26/xslt-recursive-templates
    Easy RFC lookup from XSLT mappings using a Java helper class
    https://www.sdn.sap.com/irj/servlet/prt/portal/prtroot/docs/library/uuid/05a3d62e-0a01-0010-14bc-adc8efd4ee14
    Regds
    Abhishek

  • UDF in XSLT Mapping.

    Hi,
    Can I use a UDF in XSLT mapping. If yes, can anyone please guide me in the issue. When I searched the forum there is a discussion related to the attachment of Java classes to the XSLT mapping. Does this replace the use of a UDF ? Instead, can we opt for a Java Mapping. Which will be of more help? Kindly suggest your opinions with relevant explanation.  Thank you very much for your time.
    Krishna.

    Hi krishna,
    check this links
    http://www.topxml.com/rbnews/XML/re-55178_Remove-empty-nodes-in-BizTalk-by-using-XSLT.aspx
    http://www.topxml.com/rbnews/XML/re-55176_XSLT-performance-when-mapping-large-documents-in-BizTalk.aspx
    http://help.sap.com/saphelp_nw04/helpdata/en/6b/4493404f673028e10000000a1550b0/frameset.htm
    XI: New features in SP14
    http://help.sap.com/saphelp_nw2004s/helpdata/en/d9/718e40496f6f1de10000000a1550b0/content.htm
    How to parse "XX/YY/ZZ;AA/BB/CC;11/22/33" in message mapping.
    What is UDF
    https://www.sdn.sap.com/irj/servlet/prt/portal/prtroot/docs/library/uuid/be05e290-0201-0010-e997-b6e55f9548dd
    Java Mapping (Part I)
    Difference in using java,xslt,message mapping
    Java Mapping (Part I)
    Java Mapping (Part II)
    Java Mapping (Part III)
    Testing and Debugging Java Mapping in Developer Studio
    Using JAXP to both parse and emit XML in XI Java mapping programs
    "JAVA MAPPING", an alternate way of reading a CSV file
    Think objects when creating Java mappings
    Regards
    srinivas

  • XSLT mapping queries.

    Hi,
    I have a scenario in which I need to post the data in JMS queue from a proxy call.
    [Proxy>PI>JMS]. Here the MQ message is fed to a web application.
    The scenario contains two mapping viz message and XSLT mapping.
    The first one is message mapping and then XSLT is called.
    Now in the XSLT mapping CDATA tag is called to skip the xml parsing and send to JMS queue for HTML output in web application.
    My doubt is how can I achieve table formatting from PI. Few options can be
    1) incorporate xsl in CDATA tag of XSLT mapping for HTML tag for table format?
    2) instead of JMS queue, should I need to post in HTTP receiver directly?
    3) Is it the xsl need to add in Web application side for the sending xml from PI?
    Please help in my understanding.
    Thanks
    PV.

    Hi,
    Try with Java Proxy,you can directly update data in to web application or if you web application team ready to accept data in the form of web service then you no need to generate output in the form of HTML.
    Regards,
    Raj

Maybe you are looking for