Configuring the XSLT transformation service

I need to use XSL-T 2.0 in a service. The documentation for XSLT Transformation says that an alternate service provider can be used. It says I need to supply a string value that represents the fully qualified name of the Java class to use for performing the XSLT transformation, such as org.apache.xalan.xslt.XSLTProcessor. The Java class used must extend javax.xml.transform.TransformerFactory and must be available to the class loader of the LiveCycle ES server.
The Saxon XSL-T engine supports the required interface, but I have not been able to install it successfully. In theory, it is a component that can be installed from the Components panel, but when I try that I receive the message "An error occurred. Please check the Eclipse error log for details". I have not been able to locate the error log.
Any assistance greatly appreciated.
--RKW

Thanks for the assistance. That turns out to be the right advice. If you want to use the Saxon processor, you need to put the following jars in the server\all\lib folder:
saxon8.jar
saxon8-dom.jar
--RKW

Similar Messages

  • XSLT Transformation service

    Does the livecycle ES workbench trial version have example process containing the XSLT Transformation service? I want to see the workflow with XSLT transformation involved.
    Thanks,
    Bing Wang

    Bill,
    If you download LiveCycle ES Trial and deploy the samples you will find what you are looking for under in workbench under Samples - Forms.

  • Configuring the Task Gateway Service: Web Service Config = Single Service Config?

    Hello,
    I am following the steps of the SAP NW GTW 2.0 SP06 configuration guide, and am a bit stuck on the section Configuring the Task Gateway Service. In step 3, we are instructed to choose the option Single Service Configuration. However, I don't see this option. I do see option Web Service Configuration and when I choose it, I am able to continue with the rest of the steps of the documentation.
    Am I missing an option here or does the documentation just need to be updated where Single Service Configuration should read Web Service Configuration?
    Thanks!
    Jeffrey

    Hi Jeffrey,
    I'm also configuring the Unified Inbox and I have found the service in the web service configuration and searching for Consumer proxy TASKFACADE.
    Hope that helps.
    Jorge

  • How to configure the Java Web Services Environment

    My computer is not connected to a network or to internet.
    I want to perform below mentioned tasks locally(in my own computer).
    [1] Assume that I am the service provider and I want to publish
    the service in a Service Registry.     
    [2] Now assume that I am also acting as a Service Requestor and
    I want to find the available services from the Service Registry.
    [3] As a Service Requestor now I found the required service and
    I want to access that service from the Service Provider
    (Service Provider is also myself) .
    My questions are....
    [1] Is it possible to perform above all tasks in my local computer ?
    [2] If it is possible, what are the Configurations & Settings that have to be done ?

    You need to add to your CLASSPATH variable
    the javatv.jar location and to the PATH variable
    the javatv_fcs location(not the lib).
    You also need to install jmf and jaxp packages.
    Have fun.

  • XSLT transformation in OSB Proxy Service

    Hello, I am trying to modify the answer from a WebService using an XSLT transformation in an OSB Proxy Service, but I am unable to do so. Here it is the content of the answer's body it receives:
    <ns0:getRecountUnitMovementsResponse xmlns:ns0="http://www.grifols.com/gds/interfaces/types/">
    <ns1:result xsi:type="ns4:VO_PR_UnitsMovementsSDO" xmlns:ns1="http://www.grifols.com/gds/interfaces/types/" xmlns:ns4="/com/grifols/gds/webapp/inventoryCount/units/queries/common/" xmlns:ns0="http://xmlns.oracle.com/adf/svc/types/" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:typ="http://www.grifols.com/gds/interfaces/types/">
    <ns4:GrpId>4</ns4:GrpId>
    <ns4:MovementType>960</ns4:MovementType>
    <ns4:DcCode>165</ns4:DcCode>
    <ns4:RecDcCode>165</ns4:RecDcCode>
    <ns4:UnitItemNumber>11-0001</ns4:UnitItemNumber>
    <ns4:RecUnitItemNumber xsi:nil="true"/>
    <ns4:Bol xsi:nil="true"/>
    <ns4:CustomerId xsi:nil="true"/>
    <ns4:DocumentDate>2011-01-01T09:00:00.0+01:00</ns4:DocumentDate>
    <ns4:PostingDate>2011-01-01T09:00:00.0+01:00</ns4:PostingDate>
    <ns4:MovStatusCode>SE</ns4:MovStatusCode>
    <ns4:Quantity>10</ns4:Quantity>
    </ns1:result>
    <ns1:result xsi:type="ns4:VO_PR_UnitsMovementsSDO" xmlns:ns1="http://www.grifols.com/gds/interfaces/types/" xmlns:ns4="/com/grifols/gds/webapp/inventoryCount/units/queries/common/" xmlns:ns0="http://xmlns.oracle.com/adf/svc/types/" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:typ="http://www.grifols.com/gds/interfaces/types/">
    <ns4:GrpId>1</ns4:GrpId>
    <ns4:MovementType>913</ns4:MovementType>
    <ns4:DcCode>165</ns4:DcCode>
    <ns4:RecDcCode>165</ns4:RecDcCode>
    <ns4:UnitItemNumber>11-0001</ns4:UnitItemNumber>
    <ns4:RecUnitItemNumber xsi:nil="true"/>
    <ns4:Bol xsi:nil="true"/>
    <ns4:CustomerId xsi:nil="true"/>
    <ns4:DocumentDate>2011-01-01T09:00:00.0+01:00</ns4:DocumentDate>
    <ns4:PostingDate>2011-01-01T09:00:00.0+01:00</ns4:PostingDate>
    <ns4:MovStatusCode>SE</ns4:MovStatusCode>
    <ns4:Quantity>15</ns4:Quantity>
    </ns1:result>
    <ns1:result xsi:type="ns4:VO_PR_UnitsMovementsSDO" xmlns:ns1="http://www.grifols.com/gds/interfaces/types/" xmlns:ns4="/com/grifols/gds/webapp/inventoryCount/units/queries/common/" xmlns:ns0="http://xmlns.oracle.com/adf/svc/types/" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:typ="http://www.grifols.com/gds/interfaces/types/">
    <ns4:GrpId>2</ns4:GrpId>
    <ns4:MovementType>913</ns4:MovementType>
    <ns4:DcCode>165</ns4:DcCode>
    <ns4:RecDcCode>165</ns4:RecDcCode>
    <ns4:UnitItemNumber>21-00001</ns4:UnitItemNumber>
    <ns4:RecUnitItemNumber xsi:nil="true"/>
    <ns4:Bol xsi:nil="true"/>
    <ns4:CustomerId xsi:nil="true"/>
    <ns4:DocumentDate>2011-01-01T09:00:00.0+01:00</ns4:DocumentDate>
    <ns4:PostingDate>2011-01-01T09:00:00.0+01:00</ns4:PostingDate>
    <ns4:MovStatusCode>SE</ns4:MovStatusCode>
    <ns4:Quantity>25</ns4:Quantity>
    </ns1:result>
    <ns1:result xsi:type="ns4:VO_PR_UnitsMovementsSDO" xmlns:ns1="http://www.grifols.com/gds/interfaces/types/" xmlns:ns4="/com/grifols/gds/webapp/inventoryCount/units/queries/common/" xmlns:ns0="http://xmlns.oracle.com/adf/svc/types/" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:typ="http://www.grifols.com/gds/interfaces/types/">
    <ns4:GrpId>3</ns4:GrpId>
    <ns4:MovementType>959</ns4:MovementType>
    <ns4:DcCode>165</ns4:DcCode>
    <ns4:RecDcCode>165</ns4:RecDcCode>
    <ns4:UnitItemNumber>11-0001</ns4:UnitItemNumber>
    <ns4:RecUnitItemNumber xsi:nil="true"/>
    <ns4:Bol xsi:nil="true"/>
    <ns4:CustomerId xsi:nil="true"/>
    <ns4:DocumentDate>2011-01-01T09:00:00.0+01:00</ns4:DocumentDate>
    <ns4:PostingDate>2011-01-01T09:00:00.0+01:00</ns4:PostingDate>
    <ns4:MovStatusCode>SE</ns4:MovStatusCode>
    <ns4:Quantity>50</ns4:Quantity>
    </ns1:result>
    </ns0:getRecountUnitMovementsResponse>
    And what I am trying to do is replace all the "/com/grifols/gds/webapp/inventoryCount/units/queries/common/" for "http://www.something.else". I have succeeded replacing it if the attribute name is "xmlns" instead of "xmlns:ns4". However, that ":ns4" changes everything and I can't get it to work. Does anyone know how to do so?
    Thank you in advance. Don't hesitate to ask me for more information you may need.
    Jordi

    By the way, this is the XSLT transformation that works fine if we remove that ":ns4" from the attribute name:
    <xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
    xmlns:source="/com/grifols/gds/webapp/inventoryCount/units/queries/common/"
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    version="2.0">
    <xsl:output method="xml" encoding="iso-8859-1" indent="yes"/>
    <xsl:template match="source:*">
    <xsl:element name="{local-name()}" namespace="http://www.something.else">
    <xsl:apply-templates select="@*|node()"/>
    </xsl:element>
    </xsl:template>
    <xsl:template match="@*|node()">
    <xsl:copy>
    <xsl:apply-templates select="@*|node()"/>
    </xsl:copy>
    </xsl:template>
    </xsl:stylesheet>

  • How to run the ASDoc XSLT transformation manually?

    Hello there,
    I am combining the XML (toplevel.xml and toplevel_classes.xml) output of several actionscript projects into
    a one central XML file. I do this by first running the asdoc tool on the separate projects with the keep-xml and
    skip-xsl switches set to true. I then run my own XSLT script that combines the toplevel XML files and
    toplevel_classes XML files into two main files.
    After that I'd like to run the actual HTML generation, as far as I know its not possible to run asdoc with certain
    switches that tell it to skip the XML generation and just perform the XSLT transform immediately for a specified
    toplevel.xml and toplevel_classes.xml.
    Therefore I guess I have to run the XSLT tranforms from the 'templates' directory myself.
    So, thus my question is, what is the exact order of XSLT transforms and for which files?
    i.e. do I call class-list.xsl with toplevel_classes.xml, etc?
    thanx a lot in advance,
    Roland

    Hey there,
    yes, I understood what you meant, but even just the physical copying of the files will take a fair amount of time that I prefer to avoid
    I'm getting down with ANT as we speak Its a load of trial and error, but I'll report back if I have things working.
    Cheers,
    Roland

  • OSB XSLT Transform in Service Orchestration

    I am trying to use the function op:subtract-dayTimeDuration-from-dateTime within a stylesheet within a stage in the OSB. Is it possible to use this function in a stylesheet? I get an error after using the test console to test the XSLT resource:
    Error executing the XSLT transformation: java.lang.NoSuchMethodException: For extension function, could not find method java.lang.String.dateTime([ExpressionContext,] ).
    Here is the relevant part of the stylesheet:
    <?xml version="1.0"?>
    <xsl:stylesheet version="2.0"
    xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
    xmlns:op="http://www.w3.org/TR/xpath-functions"
    xmlns:xdt="http://www.w3.org/TR/xpath-datatypes"
    xmlns:xf="http://www.w3.org/TR/xquery-operators"
    xmlns:xs="http://www.w3.org/2001/XMLSchema" >
                   <timeframe>
                        <begin>
    <xsl:variable name="now" select="op:subtract-dayTimeDuration-from-dateTime(xs:dateTime('2003-01-02T01:01:00'), xf:dayTimeDuration('P1DT1M'))" />
    <xsl:value-of select="$now" />
                        </begin>
                   </timeframe>
    </xsl:stylesheet>

    Hi,
    Is this question posted to wrong Forum? I have not received any response yet. Request your help.
    Regards....
    Edited by: LearningSOA on Aug 15, 2011 3:19 PM
    Edited by: LearningSOA on Aug 16, 2011 11:48 AM

  • Change xslt transformer

    How can I change the xslt transformer that OC4J is using? I am trying to use the Maverick MVC framework in my web app and am receiving the following exception from oracle.xml.jaxp.JXTransformer.transform(). It looks like the oracle XSL library isn't capable of transforming from a DOMSource. I would like to configure OC4J to use Xalan for doing the transformations.
    For now I am using the standalone OC4J 9.0.3 for development but will deploy on a full 9iAS server.
    javax.xml.transform.TransformerException: XSL-1101: (Fatal Error) DOMSource node as this type not supported.
         at oracle.xml.jaxp.JXTransformer.reportException(JXTransformer.java:725)
         at oracle.xml.jaxp.JXTransformer.transform(JXTransformer.java:196)
         at org.infohazard.maverick.transform.XSLTransform$Step.go(XSLTransform.java:250)
         at org.infohazard.maverick.opt.view.DomifyViewFactory$DomifyView.go(DomifyViewFactory.java:111)
         at org.infohazard.maverick.flow.ViewWithTransforms.go(ViewWithTransforms.java:39)
         at org.infohazard.maverick.flow.CommandBase.go(CommandBase.java:57)
         at org.infohazard.maverick.Dispatcher.service(Dispatcher.java:237)
         at javax.servlet.http.HttpServlet.service(HttpServlet.java:853)
         at com.evermind[Oracle9iAS (9.0.3.0.0) Containers for J2EE].server.http.ServletRequestDispatcher.invoke(ServletRequestDispatcher.java:721)
         at com.evermind[Oracle9iAS (9.0.3.0.0) Containers for J2EE].server.http.ServletRequestDispatcher.forwardInternal(ServletRequestDispatcher.java:306)
         at com.evermind[Oracle9iAS (9.0.3.0.0) Containers for J2EE].server.http.HttpRequestHandler.processRequest(HttpRequestHandler.java:767)
         at com.evermind[Oracle9iAS (9.0.3.0.0) Containers for J2EE].server.http.HttpRequestHandler.run(HttpRequestHandler.java:259)
         at com.evermind[Oracle9iAS (9.0.3.0.0) Containers for J2EE].server.http.HttpRequestHandler.run(HttpRequestHandler.java:106)
         at EDU.oswego.cs.dl.util.concurrent.PooledExecutor$Worker.run(PooledExecutor.java:803)
         at java.lang.Thread.run(Thread.java:534)

    I've just had a situation where we've added that line to the JVM for a container which houses an app that uses the Xalan processor. A developer undeployed the application and restarted the container, but the container wouldn't come back.
    Actually, the container was the home container, and the entire console didn't come back, but it happens on other containers as well.
    After some attempted restarts, I was getting the following error:
    08/06/24 10:50:09 Start process
    08/06/24 10:50:14 WARNING: Application.setConfig Application: default is in failed state as initialization failed.
    javax.xml.transform.TransformerFactoryConfigurationError: Provider org.apache.xalan.processor.TransformerFactoryImpl could not be instantiated: java.lang.NullPointerException
    08/06/24 10:50:14 Error initializing server: Application: default is in failed state as initialization failed
    08/06/24 10:50:16 Fatal error: server exiting
    Now, as far as I can tell, if you add that line to the container's JVM, unless the container finds the library with Xalan on startup, it won't start. Which means you have to have the application deployed whenever you restart the container.
    I shouldn't need to remove that line every time I want to restart a container that doesn't contain the right application for it's dependencies.
    So, while this is a quick fix, perhaps a shared-lib solution would be better for all concerned?
    http://www.oracle.com/technology/tech/java/oc4j/1013/how_to/how-to-swapxmlparser/doc/readme.html

  • Execute a query using ABAP  (XSLT transformation issue)

    Hello,
    I made the steps from this blog (part I, II and III).
    /people/durairaj.athavanraja/blog/2005/12/05/execute-bw-query-using-abap-part-iii
    When trying to run the XSLT transformation, I got the message that : XML invalid source file.
    I am not sure what are the steps for running a transformation, or running it for this case ,maybe something it's not ok. I just run it, did not provide any information.
    Any suggestions ? Did anyone use the function module described in this blog ?
    Thank you very much in advance.

    try giving
    CALL TRANSFORMATION (`ID`)
    SOURCE meta = meta_data[]
    output = <ltable>[]
    RESULT XML xml_out
    OPTIONS xml_header = 'NO'.
    and check - sometimes the codepages configured in the BW system tend to cause an issue... I am not sure if the syntax is right though - but you are basically trying to bypass any encoding that is happening in the query transformation....
    http://www.sapetabap.com/ovidentia/index.php?tg=fileman&sAction=getFile&inl=1&id=4&gr=Y&path=ABAP%2FABAPENANGLAIS&file=ABAP-XML+Mapping.pdf&idf=41
    Edited by: Arun Varadarajan on May 18, 2009 11:28 PM

  • Where is XSLT Transformation located

    I am trying to do an XSLT Transformation, but I have no idea where to look for this - the only area with a note about where to find this tool is to select Foundation - XSLT Transformation, but I don't have that option - I found File, New, Process, Category = Foundation, but I never find any reference to XSLT Transformation.  Any suggestions would be helpful.

    XSLT Transformation is a service under the category of Foundation.  You can drag it from the Services panel onto your process OR drag on an Activity and type XSLT in the find field.   Choose the XSLT-Transformation from the Foundation category

  • UTF-8 encoding in XSLT transformation

    Hello,
    I have a problem with a transformation of an ABAP structure into XML. I use the XSLT transformation for this.
    My XSLT starts like this:
    <xsl:transform xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0">
      <xsl:strip-space elements="*"/>
      <asx:abap xmlns:asx="http://www.sap.com/abapxml" version="1.0">
        <asx:values>
    I tried many settings I could find posted on the internet, but I did not find one that would allow encoding to UTF-8.
    It always encodes to iso-8859-1 which my interface partner cannot read.
    Does anyone know a way to force encoding to UTF-8?
    Adding a command like <xsl:output encoding="utf-8"/> did not help.
    Thanks a lot!
           J. Euler

    Hello!
    I think I just solved the problem taking a different approach.
    In a note here on SDN, a guy from SAP wrote, that the SAP XSLT processor is not able to code anything but the system's default to a string, BUT that it is able to code it to an xstring.
    All I did now is add the tag  
    <xsl:output encoding="utf-8" indent="yes" method="xml"/>
    to my xslt program and change the coding in the program accordingly.
    The program code is now:
      DATA: tempxstring TYPE xstring,
            temp_length TYPE i,
            conv      TYPE REF TO cl_abap_conv_in_ce.
      CLEAR tempxstring.
      TRY.
          CALL TRANSFORMATION
              zxxje_tst_xslt
            SOURCE omsregdatawebservice = wa_data
            RESULT XML tempxstring.
        CATCH cx_sy_conversion_base64.
        CATCH cx_sy_conv_illegal_date_time.
      ENDTRY.
      IF tempxstring IS NOT INITIAL.
        CLEAR: conv, temp_length, string_xml_result.
        conv = cl_abap_conv_in_ce=>create( input = tempxstring ).
        conv->read( IMPORTING data = string_xml_result len = temp_length ).
      ENDIF.
    Thanks anyways for all your help!
    regards,
          Johannes Euler

  • ABAP XSLT transformation - XML to deep structure/nested standard table

    Hi all,
    I was struggling with this topic recently and couldn't find a single working example or description of a possible solution. So now that I've sorted it out, I did a quick example to elustrate how it works. Here is the code with XML embeded in it and the XSLT follows:
    <HR>
    <PRE>
    *& Report  Z_XML2ABAP
    *& Author: Jayanta Roy
    *& Date: 03/02/2010
    REPORT  z_xml2abap.
    DATA input_xml TYPE string.
    TYPES: BEGIN OF t_address,
            house_no TYPE string,
            street_name TYPE string,
            city_name TYPE string,
            phone_no TYPE string,
          END OF t_address.
    TYPES: t_addresses TYPE STANDARD TABLE OF t_address with NON-UNIQUE KEY house_no.
    TYPES: BEGIN OF t_person,
            firstname TYPE string,
            surname TYPE string,
            addresses TYPE t_addresses,
          END OF t_person.
    input_xml = '&lt;Friends&gt;' &&
      '&lt;People&gt;' &&
        '&lt;FirstName&gt;Homer&lt;/FirstName&gt;' &&
        '&lt;Surname&gt;Simpson&lt;/Surname&gt;' &&
          '&lt;Address&gt;' &&
            '&lt;HouseNo&gt;123&lt;/HouseNo&gt;' &&
            '&lt;Street&gt;Evergreen Terrace&lt;/Street&gt;' &&
            '&lt;City&gt;Springfield&lt;/City&gt;' &&
            '&lt;PhoneNo&gt;011212321&lt;/PhoneNo&gt;' &&
          '&lt;/Address&gt;' &&
          '&lt;Address&gt;' &&
            '&lt;HouseNo&gt;7G&lt;/HouseNo&gt;' &&
            '&lt;Street&gt;Neuclear Power Plant&lt;/Street&gt;' &&
            '&lt;City&gt;Spring Field&lt;/City&gt;' &&
            '&lt;PhoneNo&gt;911&lt;/PhoneNo&gt;' &&
          '&lt;/Address&gt;' &&
      '&lt;/People&gt;' &&
      '&lt;People&gt;' &&
         '&lt;FirstName&gt;Bart&lt;/FirstName&gt;' &&
         '&lt;Surname&gt;Simpson&lt;/Surname&gt;' &&
           '&lt;Address&gt;' &&
             '&lt;HouseNo&gt;123x&lt;/HouseNo&gt;' &&
             '&lt;Street&gt;Evergreen Terracex&lt;/Street&gt;' &&
             '&lt;City&gt;Springfieldx&lt;/City&gt;' &&
             '&lt;PhoneNo&gt;011212321x&lt;/PhoneNo&gt;' &&
           '&lt;/Address&gt;' &&
       '&lt;/People&gt;' &&
    '&lt;/Friends&gt;' .
    DATA lt_person TYPE STANDARD TABLE OF t_person.
    TRY.
        CALL TRANSFORMATION xslt_person
        SOURCE XML input_xml
        RESULT  all_people = lt_person.
      CATCH cx_root.
        WRITE 'Problemo!'.
    ENDTRY.
    WRITE 'Now, debug the program to see the values read from the XML'.
    </PRE>
    <HR>
    and here is the XSLT Transformation program (xslt_person):
    <HR>
    <PRE>
    &lt;xsl:transform xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
                        xmlns:sap="http://www.sap.com/sapxsl" version="1.0"&gt;
      &lt;xsl:strip-space elements="*"/&gt;
      &lt;xsl:template match="/"&gt;
        &lt;asx:abap xmlns:asx="http://www.sap.com/abapxml" version="1.0"&gt;
          &lt;asx:values&gt;
            &lt;ALL_PEOPLE&gt;
              &lt;xsl:apply-templates select="//People"/&gt;
            &lt;/ALL_PEOPLE&gt;
          &lt;/asx:values&gt;
        &lt;/asx:abap&gt;
      &lt;/xsl:template&gt;
      &lt;xsl:template match="People"&gt;
        &lt;ALLMYFRIENDS&gt;  &lt;!This element name is not relevent... needed to just group the loop&gt;
          &lt;FIRSTNAME&gt;
            &lt;xsl:value-of select="FirstName"/&gt;
          &lt;/FIRSTNAME&gt;
          &lt;SURNAME&gt;
            &lt;xsl:value-of select="Surname"/&gt;
          &lt;/SURNAME&gt;
          &lt;ADDRESSES&gt;
            &lt;xsl:for-each select="Address"&gt;
              &lt;ADDRESS&gt; &lt;!This element name is not relevent... needed to just group the loop&gt;
                &lt;HOUSE_NO&gt;
                  &lt;xsl:value-of select="HouseNo"/&gt;
                &lt;/HOUSE_NO&gt;
                &lt;STREET_NAME&gt;
                  &lt;xsl:value-of select="Street"/&gt;
                &lt;/STREET_NAME&gt;
                &lt;CITY_NAME&gt;
                  &lt;xsl:value-of select="City"/&gt;
                &lt;/CITY_NAME&gt;
                &lt;PHONE_NO&gt;
                  &lt;xsl:value-of select="PhoneNo"/&gt;
                &lt;/PHONE_NO&gt;
              &lt;/ADDRESS&gt;
            &lt;/xsl:for-each&gt;
          &lt;/ADDRESSES&gt;
        &lt;/ALLMYFRIENDS&gt;
      &lt;/xsl:template&gt;
    &lt;/xsl:transform&gt;
    </PRE>
    <HR>
    HTH,
    Jayanta.

    thanks a LOT Jayanta..
    I was looking for an XSLT example for some time.. this one atleast got me started in the right direction..
    THANKS

  • XSLT Transformation Question

    Hi together!
    Hope anybody can help.
    I have the follow XML structure :
    <asx:abap xmlns:asx="http://www.sap.com/abapxml" version="1.0">¶
    <asx:values>¶
    <IMPORT>¶
    <Y0DPL_LATAM_INV_FILE_UPLOAD>¶
    <DATA>222358   1NU    480350    29102007VENDA DE MERCADORIA        30</DATA>¶
    </Y0DPL_LATAM_INV_FILE_UPLOAD>¶
    <Y0DPL_LATAM_INV_FILE_UPLOAD>¶
    <DATA>35403474</DATA>¶
    </Y0DPL_LATAM_INV_FILE_UPLOAD>¶
    <Y0DPL_LATAM_INV_FILE_UPLOAD>¶
    <DATA>35403822</DATA>¶
    </Y0DPL_LATAM_INV_FILE_UPLOAD>¶
    <Y0DPL_LATAM_INV_FILE_UPLOAD>¶
    <DATA>4480350</DATA>¶
    </Y0DPL_LATAM_INV_FILE_UPLOAD>¶
    <Y0DPL_LATAM_INV_FILE_UPLOAD>¶
    <DATA>220089</DATA>¶
    </Y0DPL_LATAM_INV_FILE_UPLOAD>¶
    <Y0DPL_LATAM_INV_FILE_UPLOAD>¶
    <DATA>3540347</DATA>¶
    </Y0DPL_LATAM_INV_FILE_UPLOAD>¶
    <Y0DPL_LATAM_INV_FILE_UPLOAD>¶
    <DATA>4480351 </DATA>¶
    </Y0DPL_LATAM_INV_FILE_UPLOAD>¶
    </IMPORT>¶
    </asx:values>¶
    </asx:abap>
    After the XSLT Transformation i need the data in this structure :
    <data>
         <invoice>
               <id>222358</id>
               <item>35403474</item>
               <item>35403822</item>
               <code>4480350</code>
         </invoice>
         <invoice>
               <id>220089</id>
               <item>35403474</item>
               <code>4480351</code>
         </invoice>
    </data>
    I tried to group the data with the tag "xsl:for-each-group". But i get no result.
    Regards,
    Anton

    Hi,
    no one with a good hint?
    Regards,
    Anton

  • XSLT Transformation error:  Non-canonical structure of element name

    Good day experts,
    I have recently started using xslt, and came upon the following demo in the sdn.
    http://wiki.sdn.sap.com/wiki/display/ABAP/XMLXSLTwith+ABAP
    I have retrieved the example xml files from airplus.com, as per the instructions, and implemented the code.
    When I test the xslt transformation in se80, it transforms correctly.
    However, when I run the program, I get the following error.
    CX_XSLT_FORMAT_ERROR
    Transformation error:  Non-canonical structure of element name XML_OUTPUT   
    Is there an error in the example that I am not aware of?
    Thanks in advance,
    Johan Kriek

    Found the solution.
    You rename the tag <XML_OUTPUT> to anything else like <TEST>. And Hurray!!! it works.
    It looks like SAP is using this name internally somewhere so we are getting error when we are using same name.
    Anyways the problem is solved.
    Regards,
    Jai

  • XSLT transformation in binding editor

    Hi,
    In the new version of the workflow builder we are so lucky, that not only can we use programmed bindings but also XSLT transformation.
    I have tried to create a XSLT that transforms the wf XML container to the Step XML container, but it does not change the containervalue as i hoped. Does anyone have experience with XSLT in the binding editor?
    What format/schema should I end up the in the stepcontainer?
    Hopy you can help?
    Kind regards
    Mikkel

    By the way, this is the XSLT transformation that works fine if we remove that ":ns4" from the attribute name:
    <xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
    xmlns:source="/com/grifols/gds/webapp/inventoryCount/units/queries/common/"
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    version="2.0">
    <xsl:output method="xml" encoding="iso-8859-1" indent="yes"/>
    <xsl:template match="source:*">
    <xsl:element name="{local-name()}" namespace="http://www.something.else">
    <xsl:apply-templates select="@*|node()"/>
    </xsl:element>
    </xsl:template>
    <xsl:template match="@*|node()">
    <xsl:copy>
    <xsl:apply-templates select="@*|node()"/>
    </xsl:copy>
    </xsl:template>
    </xsl:stylesheet>

Maybe you are looking for