XSLT processor help

Hi ,
my expected out put is ..
<AA>200</AA>
<AA>150</AA>
<AA>300</AA>
<BB>650</BB>
<AA>50</AA>
<BB>50</BB>
my xsl logic:
<xsl:stylesheet version="2.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform" >
<xsl:output  method="xml" indent="yes" omit-xml-declaration="yes"/>
<xsl:template match="/">
  <xsl:apply-templates select=".//LIST_G_REP_TRX_DETAIL_INFO"/>
</xsl:template>
<xsl:template match="LIST_G_REP_TRX_DETAIL_INFO">
  <xsl:variable name="t1" as="element(AA)*">
    <xsl:for-each-group select="G_REP_TRX_DETAIL_INFO[C_TAX_REPORTING_NAME = '01']" group-by="concat(C_BILLING_TP_TAX_REG_NUM,C_TAX_REPORTING_NAME)">
      <AA><xsl:value-of select="sum(current-group()/C_FUNCTIONAL_TOTAL)"/></AA>
    </xsl:for-each-group>
  </xsl:variable>
  <xsl:for-each-group select="$t1" group-by="(position() - 1) idiv 3">
    <xsl:copy-of select="current-group()"/>
    <BB><xsl:value-of select="sum(current-group())"/></BB>
  </xsl:for-each-group>
</xsl:template>
</xsl:stylesheet>unfortunatly when i use Oracle XSLT processor iam getting like below
<AA>200</AA>
<AA>150</AA>
<AA>300</AA>
<AA>50</AA>
<BB>2.001503005E10</BB>
But with the same XSL i am getting my expected o/p with both Saxon 9.2 and AltvovaXML tools.
may i know how i can my o.p with Oracle XSLT processor
Thanks
kumar

I was facing java heap space error with one of my large report. If you are running oc4j, make sure you allocate enough heap size for JVM to process reports. In my case heap size was 512MB. After changing it to 2GB and enabling AggresiveHeap the error went away and performance improvement was amazing.
This link has more details on how to set these JVM commandline options:
http://docs.oracle.com/cd/B10464_05/core.904/b10379/optj2ee.htm#i1006219

Similar Messages

  • How can I make my XSLT processor accept html code ?

    In my applications the Oracle xslt processor wont accept simple HTML tags within an XML source while transforming the source into HTML. Both processors either will throw parser exceptions or ignore the HTML code in the XML source completely, though output-escaping is explicitly enabled.
    In detail, I want to transform an XML source like this...
    <element>
    Hello, this is a <b>XML</b> text source mingled with html<sup>TM</sup>
    </element>
    ... with an XSL Stylesheet like this...
    <xsl:stylesheet>
    <xsl:output method=html cdata-sections=element/>
    <xsl:template match=element>
    <html>
    <body>
    <xsl:value-of select=. output-escaping=yes/>
    </body>
    </html>
    </xsl:template>
    </xsl:stylesheet>
    ... which should result in a HTML code like this ...
    <html>
    <body>
    Hello, this is a <b>XML</b> text source mingled with html<sup>TM</sup>
    </body>
    </html>
    The result, however, is always like this:
    <html>
    <body>
    Hello, this is a XML text source mingled with htmlTM
    </body>
    </html>
    This means that the additional HTML tags inside the XML source have been completely ignored by the XSLT processor though I enabled the output-escaping.
    If anybody should think now that mingling HTML with XML text is stupid because I could also format the result with the XSL Stylesheet itself, he might be right, of course, but: I cant avoid this because in my application the XML source results from a users web form entry. The user working with the form must be able to decide whether he wants to include HTML in his text or not. In any case, any HTML code he enters should just be transported WITHOUT ANY CHANGES to the resulting HTML page, not omitted without comments! It seems quite simple to me, but the XSLT processor doesnt want to agree with me in this point :-(
    So, once again in brief: Is there any possibility to tell my XSLT processor not to parse, transform or manipulate HTML tags, but to transport them unchanged to the output ?
    After weeks of research any helping sign would be a great relief...
    Many thanks in advance.

    I don't understand the answer, can you please expand. I am trying to do a similar thing by creating an output buffer,
    assemble a mix of text and html tags and then output this buffer later. All of the html tags are skipped or re-escaped in the final html:
    In this example I want to print the IPRCROP, then add an html break (<br>).
    Example 1. Use xsl:text with escape = yes
    <xsl:variable name="buffy">
    <xsl:for-each select="documents/document">
    <xsl:value-of select="IPRCROP"/>
    <xsl:text disable-output-escaping="yes">&lt;br&gt;&lt;/br&gt;</xsl:text>
    </xsl:for-each>
    </xsl:variable>
    <xsl:value-of select="$buffy"/>
    In this case the <br> and </br> end up re-escaped in the output html as #60 etc. so they appear literally as
    ALFALFA <br> BARLEY <br>
    and in source as: ALFALFA&#60; br &gt; &#60; /br &gt;BARLEY
    Example 2, try as pure text, it just skips the <br></br> altogether
    <xsl:variable name="buffy">
    <xsl:for-each select="documents/document">
    <xsl:value-of select="IPRCROP"/>
    <xsl:text><br></br></xsl:text>
    </xsl:for-each>
    </xsl:variable>
    <xsl:value-of select="$buffy"/>
    output = ALFALFABARLEY

  • Running NetWeaver's XSLT processor from Oxygen

    Hello
    I am using Oxgen XML Editor (version 12.1, build 2011012011) to create my XSLT mappings. Having tested these mappings successfully offline they are imported onto our SAP-PI ( SAP NetWeaver 7.01 ). However, sometimes mappings that work in Oxygen fail on SAP-PI. Therefore, I would like to use NetWeaver's XSLT processor as Custom Engine within Oxgen.
    Triggered by the blog of Thorsten Nordholm Søbirk
    Running NetWeaver's XSLT processor from XMLSpy
    I copied the archive sapxmltoolkit.jar into the lib directory of the Oxygen installation path. Next I went to menu Options -> Preferences -> XML -> XSLT/FO/XQuery -> Custom Engines and defined the following settings:
    Working Directory = .
    Command Line = C:Program FilesJavajdk1.6.0_07 injava -cp
    "C:Program FilesOxygen XML Editor 12libsapxmltoolkit.jar";
    com.sap.engine.lib.xsl.Process
    -xml="C:     empz_tempinput.xml"
    -xsl="C:     empz_tempstylesheet.xsl"
    -out="C:     empz_tempoutput.xml"
    In addition, within the Transformation Options I set:
    javax.xml.transform.TransformerFactory=com.sap.engine.lib.jaxp.TransformerFactoryImpl
    For the sake of simplicity I used a plain stylesheet without any Java extensions. When I delete file "output.xml" in "C:     empz_temp" and execute the transformation the file is recreated. Thus, I am sure that the NetWeaver XSLT processor has been used.
    However, instead of hard-coding filenames and pathes I would like to use the built-in variables of Oxygen like "$" etc. Most of the XSLT mappings use a Java extension which is located in the same directory as sapxmltoolkit.jar (C:Program FilesOxygen XML Editor 12lib).
    There are 2 major problems that I am facing now:
    (1) How must the Command Line look like so that I can use Oxygen's built-in variables as input for -xml, -xsl and -out?
    (2) How must the Command Line look like so that the Java extension archive is recognized?
    Your help and valuable input is very much appreciated.
    Regards
      Uwe

    hi,
    this is how we use it with Stylus Studio, also with external libraries
    c:\program files\java\jre1.5.0_22\bin\java.exe -cp "Y:\xivaluemappingproxy_stylusstudio.jar";"c:\sapxmltoolkit.jar";"Y:\XIFramework.jar";"Y:\jms.jar";"Y:\sapjco.jar";"c:\ExtendedValueChange.jar" com.sap.engine.lib.xsl.Process -xsl=%2 -xml=%1 -out=%3

  • Need to use Xalan in place of Oracle XSLT processor

    We are working with Oracle BPEL 10.1.3.3. We have a requirement to use Xalan as the XSLT processor to preserve existing investment into transformation maps built using Contivo (which is certified to work with Xalan).
    That said, we are having some trouble getting the Xalan processor to kick in going the java:exec route. For some reason, we end up with Oracle's XSLT processor in spite of asking for the Xalan implementation.
    TransformerFactory tFactory = new org.apache.xalan.processor.TransformerFactoryImpl();
    Transformer transformer = tFactory.newTransformer(new StreamSource(xslInURI));
    System.out.println(tFactory.toString()+transformer.toString());
    Strangely enough, the above snippet prints:
    [email protected]Transformer@e39f6b
    Wondering if anybody else has used Xalan successfully in conjunction with 10.1.3.3 bits. Appreciate your help.

    please copy and paste the following in your xpath-functions.xml file
    <function id="processXSLT" arity="2">
    <classname>com.collaxa.cube.xml.xpath.functions.xml.GetElementFromXSLTFunction</classname>
    <property id="namespace-uri">
    <value>http://schemas.oracle.com/xpath/extension/xalan/xslt</value>
    </property>
    <property id="namespace-prefix">
    <value>xalan</value>
    </property>
    </function>
    This function would try to find the default transformer factory using
    TransformerFactory.newInstance()
    so you might need to place the xalan transformer factory properties file in the beginning of your classpath (server.xml ) or pass it as jvm system property like below:
    -Djavax.xml.transform.TransformerFactory=org.apache.xalan.processor.TransformerFactoryImpl

  • Oracle XSLT Processor

    Hi
    I am using oracle XSLT processor. There is a need to print current year in HTMl page.
    I have used year() function in xalan org.apache.xalan.lib.ExsltDatetime class to print curreent year in XSLT file. But it is not displaying anything
    Please anybody can help on this?
    My xslt looks like this
    <xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
    xmlns:cal="http://www.oracle.com/XSL/Transform/java/org.apache.xalan.lib.ExsltDatetime"
    version="1.0">
    <xsl:template match="/">
    Copyright &#169; <xsl:value-of select="cal:year()">
    </xsl:template>
    </xsl:stylesheet>

    So I suppose you're using this from Java ?
    What's the version of the processor?

  • XDK, XSLT Processor, Add JARs statically

    Hello,
    while using XDK's Oracle XSLT Extensions I'm facing an issue with class visibility after adding it via "loadjava" tool.
    I'm getting the following exception during transformation:
         oracle.xml.xpath.XPathException: Extension function error: Class not found ...
         oracle.xml.xslt.XSLStylesheet.flushErrors(XSLStylesheet.java:2495)
    The docs say the following: (Using the XSLT Processor for Java)
    "Note: The XSL class loader only knows about statically added JARs and paths in the CLASSPATH and those specified by wrapper.classpath. Files added dynamically are not visible to XSLT processor."
    So it's rather clear that loadjava adds classes dynamically. That explains the error message.
    The question however is: how to add classes statically?
    Thanks a lot in advance for you help!

    Trying some stuff at home now until we can call each other.
    Java version is a bit old, isn't it...?
    On my DB version at home (12.1.0.1), server side, it mentions:
    [oracle@localhost ~]$ java -version
    java version "1.6.0_24"
    OpenJDK Runtime Environment (IcedTea6 1.11.11) (rhel-1.61.1.11.11.el6_4-x86_64)
    OpenJDK 64-Bit Server VM (build 20.0-b12, mixed mode)
    Will try to figure out what the local XDK stuff says.
    My $CLASSPATH is not set. The Oracle Java JDK version mentions:
    [oracle@localhost bin]$ $ORACLE_HOME/jdk/bin/java -version
    java version "1.6.0_37"
    Java(TM) SE Runtime Environment (build 1.6.0_37-b06)
    Java HotSpot(TM) 64-Bit Server VM (build 20.12-b01, mixed mode)
    After setting the environment on server database side, I get...
    [oracle@localhost oracle.xdk_11.1.0]$ oraxsl -v
    Exception in thread "main" java.lang.NoClassDefFoundError: oracle/xml/parser/v2/oraxsl
    Caused by: java.lang.ClassNotFoundException: oracle.xml.parser.v2.oraxsl
        at java.net.URLClassLoader$1.run(URLClassLoader.java:217)
        at java.security.AccessController.doPrivileged(Native Method)
        at java.net.URLClassLoader.findClass(URLClassLoader.java:205)
        at java.lang.ClassLoader.loadClass(ClassLoader.java:321)
        at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:294)
        at java.lang.ClassLoader.loadClass(ClassLoader.java:266)
    Could not find the main class: oracle.xml.parser.v2.oraxsl. Program will exit.
    [oracle@localhost oracle.xdk_11.1.0]$ echo $PATH
    /usr/lib64/qt-3.3/bin:/usr/local/bin:/bin:/usr/bin:/usr/local/sbin:/usr/sbin:/sbin:/home/oracle/bin:/u01/app/oracle/product/12.1.0/dbhome_1/bin
    [oracle@localhost oracle.xdk_11.1.0]$ echo $LD_LIBRARY_PATH
    /u01/app/oracle/product/12.1.0/dbhome_1/lib
    [oracle@localhost oracle.xdk_11.1.0]$ echo $JAVA_HOME
    /u01/app/oracle/product/12.1.0/dbhome_1/jdk/bin
    [oracle@localhost oracle.xdk_11.1.0]$ echo $ORACLE_HOME
    /u01/app/oracle/product/12.1.0/dbhome_1
    [oracle@localhost oracle.xdk_11.1.0]$ echo $CLASSPATH
    /u01/app/oracle/product/12.1.0/dbhome_1/lib/xmlparserv2.jar:/u01/app/oracle/product/12.1.0/dbhome_1/lib/xsu12.jar:/u01/app/oracle/product/12.1.0/dbhome_1/lib/xml.jar
    [oracle@localhost oracle.xdk_11.1.0]$ oraxsl -v
    Release version: Oracle XML Developers Kit 12.1.0.1.0 - Production
    oraxsl: Number of arguments specified (1) is illegal
    usage: oraxsl options* source? stylesheet? result?
                -w                          Show warnings
                -e <error log>              A file to write errors to
                -l <xml file list>          List of files to transform
                -d <directory>              Directory with files to transform
                -x <source extension>       Extensions to exclude
                -i <source extension>       Extensions to include
                -s <stylesheet>             Stylesheet to use
                -r <result extension>       Extension to use for results
                -o <result directory>       Directory to place results
                -p <param list>             List of Params
                -t <# of threads>           Number of threads to use
                -v                          Verbose mode
                -debug                      Debug mode
                -m <version #>              XSLT Version, 1 or 2
    Please refer to the readme file for more information on the above options
    [oracle@localhost oracle.xdk_11.1.0]$ java -version
    java version "1.6.0_24"
    OpenJDK Runtime Environment (IcedTea6 1.11.11) (rhel-1.61.1.11.11.el6_4-x86_64)
    OpenJDK 64-Bit Server VM (build 20.0-b12, mixed mode)
    [oracle@localhost oracle.xdk_11.1.0]$ export PATH=$ORACLE_HOME/jdk/bin:$PATH
    [oracle@localhost oracle.xdk_11.1.0]$ java -version
    java version "1.6.0_37"
    Java(TM) SE Runtime Environment (build 1.6.0_37-b06)
    Java HotSpot(TM) 64-Bit Server VM (build 20.12-b01, mixed mode)

  • Why does Forte's XSLT Processor restrict the output to only XML and HTML4.0?

     

    The UDS XSLT processor has three output types: xml, html, and text. These are required by the W3C XSLT 1.0 specification. Other output methods would be non-standard.
    It would be helpful to know what you are trying to do that would require another output method. The text method is very flexible.

  • XSLT mapping Help Required.

    XSLT mapping Help Required.
    Hi Experts,
    I am New to XSLT Mapping. I am practising the below Example:
    InputXML File:
    <?xml version="1.0" encoding="UTF-8"?>
    <?xml-stylesheet type="text/xsl" href="Persons111.xsl"?>
    <ns0:MT_XSLT_Source xmlns:ns0="http://XYZ.com/gen">
    <Person>
    <FirstName>Anshul</FirstName>
    <LastName>Chowdhary</LastName>
    <Gender>Male</Gender>
    <Address>
    <Street>2nd Main</Street>
    <Houseno>83/b</Houseno>
    <City>Mysore</City>
    </Address> </Person>
    </ns0:MT_XSLT_Source>
    XSL StyleSheet File:
    <?xml version='1.0' encoding="UTF-8"?>
    <xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:ns0="http://XYZ.com/Gen"
    Xmlns:ns1=”http://XYZ.com/Test”>
    <xsl:template match="/">
    <ns1:MT_XSLT_Target>
    <Title> <xsl:value-of select="ns0:MT_XSLT_Source/Person/Gender"/> </Title>
    <Name> <xsl:value-of select="concat(concat(ns0:MT_XSLT_Source/Person/FirstName,' '), ns0:MT_XSLT_Source/Person/LastName)"/>
    </Name>
    <Street> <xsl:value-of select="concat(concat(ns0:Mt_XSLT_Source/Person/Address/Houseno,' '),
    ns0:Mt_XSLT_Source/Person/Address/Street)"/> </Street>
    <City> <xsl:value-of select="ns0:Mt_XSLT_Source/Person/Address/City"/> </City>
    </ns1:MT_XSLT_Target>
    </xsl:template>
    </xsl:stylesheet>
    The Desired Output shuold be:
    <?xml version="1.0" encoding="UTF-8"?>
    <ns1:MT_XSLT_Target xmlns:ns1="http://XYZ.com/Test">
    <Title>Male</Title>
    <Name>Anshul Chowdhary</Name>
    <Street>83/b 2nd Main</Street>
    <City>Mysore</City>
    </ns1:MT_XSLT_Target>
    I have refered the xsl in xml and i am getting the below Oupt in a Single line like this:
    Anshul Chowdhary Male 2nd Main 83/b Mysore
    I am Unable to display in Target XML Fomrat as shown above. Please check and do the needful.
    Regards,
    GIRIDHAR

    Hi,
    I have used below for testing.
    Input xml:
    <?xml version="1.0" encoding="UTF-8"?>
    <?xml-stylesheet type="text/xsl" href="Persons111.xsl"?>
    <ns0:MT_XSLT_Source xmlns:ns0="http://XYZ.com/gen">
    <Person>
    <FirstName>Anshul</FirstName>
    <LastName>Chowdhary</LastName>
    <Gender>Male</Gender>
    <Address>
    <Street>2nd Main</Street>
    <Houseno>83/b</Houseno>
    <City>Mysore</City>
    </Address> </Person>
    </ns0:MT_XSLT_Source>
    xsl code:
    <?xml version='1.0' encoding="UTF-8"?> 
    <xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:ns0="http://XYZ.com/gen" 
        xmlns:ns1="http://XYZ.com/Test"> 
        <xsl:output method="xml" version="1.0" encoding="UTF-8" indent="yes"/> 
        <xsl:template match="/"> 
            <ns1:MT_XSLT_Target> 
                <Title> <xsl:value-of select="ns0:MT_XSLT_Source/Person/Gender"/> </Title> 
                <Name> <xsl:value-of select="concat(concat(ns0:MT_XSLT_Source/Person/FirstName,' '), ns0:MT_XSLT_Source/Person/LastName)"/> 
                </Name> 
                <Street> <xsl:value-of select="concat(concat(/ns0:MT_XSLT_Source/Person/Address/Houseno,' '), 
                    /ns0:MT_XSLT_Source/Person/Address/Street)"/> </Street> 
                <City> <xsl:value-of select="/ns0:MT_XSLT_Source/Person/Address/City"/> </City> 
            </ns1:MT_XSLT_Target> 
        </xsl:template> 
    </xsl:stylesheet>
    For testing in PI ,change the extension from .txt to .xsl and zip it and upload into PI as an imported archive .
    Regards
    Venkat

  • How to use xsl document() function with LiveCycle XSLT processor

    Hello,
    I would like to use LiveCycle XSLT processor to merge xml documents by using the xsl document() function.
    However, I have not, yet, found  clear reference information on the specifics of how to accomplish in LC. For instance if you have
    a transformation that does merging using a standalone xml editor (such as Oxygen), than what is required to accomplish the same
    using the LiveCycle XSLT service.  How do you specify the URI of the XML document that is specified as an input in the xsl document() function. Your insight is appreciated.   Regards

    Hello Steve,
    I checked the reference that you cited (XSLT Transformation).   The reference omits discussing how to use xlst document() function within a stylesheet.  I think that probably means that feature of xslt technology is not directly available through LiveCycle.  When I find a workaround, I'll post an update...for the user community that might encounter the same issue.  Thank you for your response and insight.  Regards, jb1809

  • Using the XSLT processor for non-workbench XSLT

    Hi there,
    is it possible to use the built-in XSLT processor for arbitrary XSLT transformations which aren't checked in in the ABAP workbench but instead given as a runtime object (string or iXML)?
    Instead of the built-in command CALL TRANSFORMATION which according to the doc is restricted to workbench transformations, I am looking for an option like this:
    data: lo_transformation type ref to if_ixml_document,
          lo_source         type ref to if_ixml_document,
          lo_target         type ref to if_ixml_focument.
    * I get lo_transformation and lo_source from somewhere out there
    try.
        lo_target ?= cl_some_fine_class_which_i_am_looking_for=>transform(
                          io_source         = lo_source
                          io_transformation = lo_transformation ).
      catch cx_xslt_runtime_error.
    endtry.
    Does anybody know such a feature?
    For a background about this problem - in German language - see my blog
    http://ruediger-plantiko.blogspot.com/2007/08/xslt-in-bsp-anwendungen-und-in-abap.html
    Thanks and Regards,
    Rüdiger

    Dear Rashid,
    thanks - this is the answer! I wonder why I didn't find this class one year ago. A little test prog shows that it works fine and even performant (about 0.5 millisec for creating the new dynamic XSLT program with the method set_source_stream( ) ). For usage in web apps, it would be nice to know whether the temporary program remains available in the application servers' buffer after end of process. I can't check this, since this is performed on the C/C++ level, and SE30 doesn't track the method set_source_stream() itself (it could show a decrease of runtime after the first call).
    Here comes a little self-contained ABAP program to test the functionality. It works well on our system with SAPKB70012.
    Thanks and regards,
    Rüdiger
    * --- Test usage of a dynamically given non-workbench XSLT program
    report  zz_test_cl_xslt_processor.
    data:
    * iXML master
      go_xml type ref to if_ixml,
    * iXML stream factory
      go_sf  type ref to if_ixml_stream_factory.
    load-of-program.
      go_xml = cl_ixml=>create( ).
      go_sf  = go_xml->create_stream_factory( ).
    start-of-selection.
      perform start.
    * --- Start
    form start.
      data: lo_source    type ref to if_ixml_document,
            lo_result    type ref to if_ixml_document,
            lo_processor type ref to cl_xslt_processor,
            lv_p         type progname,
            lo_ex        type ref to cx_xslt_exception.
      perform get_source changing lo_source.
      create object lo_processor.
      try.
    * Set source
          lo_processor->set_source_node( lo_source ).
    * Set result
          lo_result = go_xml->create_document( ).
          lo_processor->set_result_document( lo_result ).
    * This could be time-critical, the creation of a dynamical XSLT prog?
          perform set_transformation using lo_processor
                                     changing lv_p.
    * call xslt-proc
          lo_processor->run( lv_p ).
    * Display result
          call function 'SDIXML_DOM_TO_SCREEN'
            exporting
              document    = lo_result
              title       = 'Result of Transformation'
            exceptions
              no_document = 1
              others      = 2.
        catch cx_xslt_exception into lo_ex.
          sy-msgli = lo_ex->get_text( ).
          message sy-msgli type 'I'.
      endtry.
    endform.                    "start
    * --- Set XSLT transformation from stream
    form set_transformation using io_processor type ref to cl_xslt_processor
                            changing cv_p type progname.
      data: lo_trans     type ref to if_ixml_istream.
    * sv_p contains temp. name of XSLT program after first call
      statics: sv_p   type string.
      if sv_p is initial.
    * It seems that the name can be buffered on appserver level?
        import progname to sv_p
               from shared buffer indx(zx) id 'ZZ_TEST_XSLT_PROC'.
        if sv_p is initial.
          sv_p = 'X'.
        endif.
      endif.
    * Provide the stream containing the XSLT document (as a stream)
      perform get_transformation changing lo_trans.
    * Set transformation
      io_processor->set_source_stream( exporting stream = lo_trans
                                       changing  p      = sv_p ).
    * Buffer progname on server - seems to work
      export progname from sv_p
             to shared buffer indx(zx) id 'ZZ_TEST_XSLT_PROC'.
    * string -> c move necessary, since xslt-proc-interface doesn't use
    * the generic type csequence for program name
      cv_p = sv_p.
    endform.                    "set_transformation
    * --- Parse a source given as string into an if_ixml_document
    form get_source changing co_src type ref to if_ixml_document.
      data: lv_s      type string,
            lo_stream type ref to if_ixml_istream,
            lo_parser type ref to if_ixml_parser.
      concatenate
    `<?xml version="1.0" encoding="iso-8859-1"?>`
    `<countings filiale="2412" invnu="TIEFKUEHL SEPT.07">`
    `<count recNum="1" gid="1" ean="59111828843" menge="1"`
    `preis="0" recNumFrom="1"></count>`
    `</countings>`
    into lv_s.
    * Eingabestream erzeugen und in if_ixml_document abbilden
      lo_stream   = go_sf->create_istream_string( lv_s ).
      co_src      = go_xml->create_document( ).
      lo_parser   = go_xml->create_parser( document       = co_src
                                           istream        = lo_stream
                                           stream_factory = go_sf ).
      lo_parser->parse( ).
    endform.                    "get_source
    * --- Put the transformation given as string into an if_ixml_istrean
    form get_transformation changing co_trans type ref to if_ixml_istream.
      data: lv_s   type string.
      concatenate
      `<?xml version="1.0" encoding="iso-8859-1"?>`
      `<xsl:transform version="1.0"`
      ` xmlns:xsl="http://www.w3.org/1999/XSL/Transform"`
      ` xmlns:asx="http://www.sap.com/abapxml">`
      `<xsl:strip-space elements="*"></xsl:strip-space>`
      `<xsl:template match="countings">`
      ` <asx:abap>`
      `   <asx:values>`
      `     <SELOPT>`
      `       <WERKS><xsl:value-of select="@filiale"></xsl:value-of></WERKS>`
      `       <INVNU><xsl:value-of select="@invnu"></xsl:value-of></INVNU>`
      `     </SELOPT>`
      `     <COUNTINGS>`
      `       <xsl:for-each select="count">`
      `         <ZSRS_ZWSTI_LINE>`
      `           <MATNR></MATNR>`
      `           <EAN11><xsl:value-of select="@ean"></xsl:value-of></EAN11>`
      `           <MAKTX></MAKTX>`
      `           <MENGE><xsl:value-of select="@menge"></xsl:value-of></MENGE>`
      `           <MEINH></MEINH>`
      `           <UNAME></UNAME>`
      `           <EXVKW></EXVKW>`
      `           <WAERS></WAERS>`
      `           <FF></FF>`
      `           <GID><xsl:value-of select="@gid"></xsl:value-of></GID>`
      `           <RECNUM><xsl:value-of select="@recNum"></xsl:value-of></RECNUM>`
      `           <RECNUM_FROM><xsl:value-of select="@recNumFrom"></xsl:value-of></RECNUM_FROM>`
      `           <REF_RECNUM><xsl:value-of select="@refRecNum"></xsl:value-of></REF_RECNUM>`
      `         </ZSRS_ZWSTI_LINE>`
      `       </xsl:for-each>`
      `     </COUNTINGS>`
      `   </asx:values>`
      ` </asx:abap>`
      `</xsl:template>`
      `</xsl:transform>`
      into lv_s.
      co_trans = go_sf->create_istream_string( lv_s ).
    endform.                    "get_transformation
    Edited by: Rüdiger Plantiko on Jul 4, 2008 10:25 AM

  • Problem with Enable scalable feature of XSLT processor

    Hi Gurus,
    I'm using BI Publisher 10.1.3.4.1. I've having a report, when running in a specific sequence (i.e. after running with XML dataset 1 then dataset 2), will yield an error. Here is the log I got in the xdo.log.
    [061411_110902953][][EXCEPTION] java.lang.reflect.InvocationTargetException
         at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
         at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
         at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
         at java.lang.reflect.Method.invoke(Method.java:585)
         at oracle.apps.xdo.common.xml.XSLT10gR1.invokeProcessXSL(Unknown Source)
         at oracle.apps.xdo.common.xml.XSLT10gR1.transform(Unknown Source)
         at oracle.apps.xdo.common.xml.XSLT10gR1.transform(Unknown Source)
         at oracle.apps.xdo.common.xml.XSLTWrapper.transform(Unknown Source)
         at oracle.apps.xdo.template.fo.util.FOUtility.generateFO(Unknown Source)
         at oracle.apps.xdo.template.fo.util.FOUtility.generateFO(Unknown Source)
         at oracle.apps.xdo.template.FOProcessor.createFO(Unknown Source)
         at oracle.apps.xdo.template.FOProcessor.generate(Unknown Source)
         at oracle.apps.xdo.servlet.RTFCoreProcessor.transform(RTFCoreProcessor.java:91)
         at oracle.apps.xdo.servlet.CoreProcessor.process(CoreProcessor.java:256)
         at oracle.apps.xdo.servlet.CoreProcessor.generateDocument(CoreProcessor.java:81)
         at oracle.apps.xdo.servlet.ReportImpl.renderBodyHTTP(ReportImpl.java:678)
         at oracle.apps.xdo.servlet.ReportImpl.renderReportBodyHTTP(ReportImpl.java:255)
         at oracle.apps.xdo.servlet.XDOServlet.writeReport(XDOServlet.java:270)
         at oracle.apps.xdo.servlet.XDOServlet.writeReport(XDOServlet.java:250)
         at oracle.apps.xdo.servlet.XDOServlet.doGet(XDOServlet.java:178)
         at javax.servlet.http.HttpServlet.service(HttpServlet.java:743)
         at javax.servlet.http.HttpServlet.service(HttpServlet.java:856)
         at com.evermind.server.http.ResourceFilterChain.doFilter(ResourceFilterChain.java:64)
         at oracle.apps.xdo.servlet.security.SecurityFilter.doFilter(SecurityFilter.java:86)
         at com.evermind.server.http.ServletRequestDispatcher.invoke(ServletRequestDispatcher.java:621)
         at com.evermind.server.http.ServletRequestDispatcher.forwardInternal(ServletRequestDispatcher.java:368)
         at com.evermind.server.http.HttpRequestHandler.doProcessRequest(HttpRequestHandler.java:866)
         at com.evermind.server.http.HttpRequestHandler.processRequest(HttpRequestHandler.java:448)
         at com.evermind.server.http.HttpRequestHandler.serveOneRequest(HttpRequestHandler.java:216)
         at com.evermind.server.http.HttpRequestHandler.run(HttpRequestHandler.java:117)
         at com.evermind.server.http.HttpRequestHandler.run(HttpRequestHandler.java:110)
         at oracle.oc4j.network.ServerSocketReadHandler$SafeRunnable.run(ServerSocketReadHandler.java:260)
         at com.evermind.util.ReleasableResourcePooledExecutor$MyWorker.run(ReleasableResourcePooledExecutor.java:303)
         at java.lang.Thread.run(Thread.java:595)
    Caused by: java.lang.NullPointerException
         at oracle.xdo.parser.v2.FilePageManager.pageLength(FilePageManager.java:242)
         at oracle.xdo.comp.CXMLStream.ensureReadCapacity(CXMLStream.java:1543)
    Then I tried turning off "Enable scalable feature of XSLT processor" (under the FO Processing, default is ON) This error cannot be reproduced again (i.e. my report can run in whatever sequence without an error).
    Would anyone explain to me what actually is the difference between setting the "Enable scalable feature of XSLT processor" to true and false. I'll be running the same report template with thousands of pages in some cases and I'm anxious whether turning OFF the "scalable feature" will make the performance suffer.
    Thanks in advance,
    Jonathan

    Are you running Enterprise Edition? I believe flashback database is only available with Enterprise.

  • XSLT processor

    which XSLT processor do you use ? Xalan , cocoon ?
    please suggest a good XSLT processor

    BTW, i have not seen you in the forum for the past
    3-4 days....
    http://forum.java.sun.com/thread.jspa?threadID=628173

  • IDoc to cXML using built-in SAP XSLT Processor

    Hi ABAP experts,
    i have a requirement to send an IDoc to an external system, the external system expecting it to be in cXML standard - without using XI/PI
    has someone of you done this before?
    I was looking at the option to utilize the built-in SAP XSLT processor (CALL TRANSFORMATION) since it supports XML to XML and ABAP to XML transformations
    so the flow would either be
    IDoc --> XSLT --> cXML  (preferred)
    IDoc --> XML (using XML port) --> XSLT --> cXML
    is this possible?
    Also, can the cXML be sent using the XML HTTP port in we21?
    Your tips suggestions would be highly appreciated

    Hello
    Have you had a look at class CL_IDOC_XML1? This class does the transformation IDoc -> XML for you.
    The next step would be to create the required XSLT transformation for the mapping IDoc-XML -> cXML.
    Regards
      Uwe

  • XSLT Processor Bug? format-number() on large numbers

    For numbers 100,000,000.00 and higher, I'm getting extra digits and rounding errors.
    How can I use some custom Java code in the XSL stylesheet so the correct value is displayed (i.e. w/o rounding)? I'm getting a value of 100000000.00 and I need to insert the commas. Sometimes the correct value is displayed, other times, additional numbers are appended and the amount is rounded.

    The XSLT processor uses java.text.DecimalFormat under the covers as the XSLT 1.0 specification suggests. I would imagine any problems with format-number() actually boil down to problems with java.text.DecimalFormat.
    You can use Java Extension functions to perform custom Java in your stylesheet.
    See the file .\extfunc.html in the root directory of the XML Parser for Java V2
    distribution.

  • How can I stop the oracle XSLT processor from inserting extra whitespace in HTML?

    How can I stop the oracle XSLT processor from inserting extra whitespace in HTML?

    Use <xsl:output mode="html" indent="no"/> as a top-level element child of your <xsl:stylesheet> element.

Maybe you are looking for

  • Netware 6.5SP8 Abends on RMANSRVR.NLM or LOADER.NLM

    I have a Netware 6.5 SP8 server that is abending almost weekly on the RMANSRVR.NLM or LOADER.NLM. Can anyone point me in the right direction? I haven't been able to find much info on this error. Thanks Attached one and half of the abends from abend.l

  • Why all time in iphone 5 coming no service

    my iphone 5 make no service all the time i don't know why any way to solve this problem

  • My phone is saying a number is invalid when its always worked before

    so i was talking to this person and then i fell asleep around 12AM i get a txt from them and i try to txt them back and it keeps saying that there number is invalid but it has always worked before and when i try to call them it rings once or twce the

  • Cannot view streaming media such as keynote addresses

    I have followed the set up instructions as given on the Apple pages (QT Preferences, setting my transport to HTTP and port 80) but I still cannot view any of the streaming media from the Apple site, seminars etc. Are there further settings I can adju

  • UPDATE NO WAIT

    Hi, When a particular record is being updated by user1, at the same time user2 try to update the same record, then the user2 will be suspended until user1 commits the transaction. Is it mandatory that user2 has to wait till the user1 commits the tran