Skip to Content

How to find the xalan jar version in SAP PO 7.4 SP 12

Hi All,

I am working in xslt mapping. xslt is producing correct output when i run from xml altova spy. it is not working when i run from the sap po. I tried with xalan 2.7.2 with command line which is producing same output as xml spy.

want to check what is the xalan version used in sap po. i am on 7.4 sp 12. jdk 1.6

please let me know if anyone knows how to find the xalan jar version

Regards,

Muni

Add comment
10|10000 characters needed characters exceeded

  • Get RSS Feed

2 Answers

  • Sep 26, 2017 at 05:29 AM

    Seems there is issue with xalan lower version. was getting below error when running operation mapping in ESR.I could be due to size limitation of xsl. I was using two xsl one is 250kb and another one is 60kb. confusing part is almost similar size file is used in 5 different namespaces for other transformation and all are working.

    Transformer
    Configuration Exception occurred when loading XSLT Test.xsl;
    details: Could not load the translet class 'Test'.
    See error logs for details 

    https://stackoverflow.com/questions/45416604/could-not-load-the-translet-class-gregorsamsa https://stackoverflow.com/questions/4086101/xml-transformation-exception

    https://issues.apache.org/jira/browse/XALANJ-1549

    ========================================================

    downloaded the the jars from version xalan 2.7.2 and imported into imported archive.

    http://archive.apache.org/dist/xml/xalan-j/

    Below are the two jars I have imported into ESR imported archive.

    serializer.jar

    xalan.jar.

    followed this blog to enable external xslt processor

    https://blogs.sap.com/2014/10/14/how-to-import-and-use-xslt-20-mappings-in-sap-pipo/

    After that i am getting the expected output.

    ========================================================

    I tried to using saxon(9.8), but it was dead slow when i ran from ESR. Also Saxon processor was reporting some syntax error. so i went with xalan updated xslt processor.

    Regards,

    Muni

    Add comment
    10|10000 characters needed characters exceeded

  • Oct 03, 2017 at 07:56 AM

    xslt system properties function is not useful in this case. tried to get version of xalan, but it is giving only the version 1.0 and vendor.

    https://stackoverflow.com/questions/25244370/how-can-i-check-which-xslt-processor-is-being-used-in-solr

    ========================================================================

    I was able to get the xslt processor properties from below code using udf. so it is Xalan Java 2.6.0 for my system.

    StringWriter out = new StringWriter(); 
    PrintWriter writer = new PrintWriter(out);   
    boolean environmentOK = (new com.sun.org.apache.xalan.internal.xslt.EnvironmentCheck()).checkEnvironment(writer); 
    writer.flush(); // flush is really optional here, as Writer calls the empty StringWriter.flush
    String result = out.toString();   
    return result;

    result(i have removed my server folders path from this result)

    <dummy>#---- BEGIN writeEnvironmentReport($Revision: 1.8 $): Useful stuff found: ----
    java.version=1.6.0_121
    version.xalan2_2=Xalan Java 2.6.0
    version.xerces1=not-present
    version.xalan1=not-present
    version.DOM=2.0
    version.crimson=not-present
    version.ant=not-present
    version.SAX=2.0
    version.xerces2=Xerces-J 2.6.2
    version.JAXP=1.1 or higher
    version.xalan2x=not-present
    version.DOM.draftlevel=2.0fd
    #----- END writeEnviromentReport: Useful pnroperties found: -----
    # YAHOO! Your environment seems to be OK.
    </dummy>

    ========================================================================

    https://stackoverflow.com/questions/7951879/which-version-of-xpath-and-xslt-am-i-using

    http://www.docjar.com/docs/api/com/sun/org/apache/xalan/internal/xslt/EnvironmentCheck.html

    Add comment
    10|10000 characters needed characters exceeded