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?

Similar Messages

  • 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.

  • 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

  • FIXED: BUG in Oracle XSLT processor

    Edit: I fixed it by just importing all of the Jdev libraries. My bad for being a dolt.
    I am trying to detect certain values in an XML document that start with $ (the dollar sign) character. This has some conflicts with the syntax for XSL variables. The following code gives an exception when running in the Oracle XSLT...
    <xsl:template name="interpretToken">
    <xsl:param name="token" />
    <xsl:choose>
    <xsl:when test="starts-with($token, '$')" >
    <a><xsl:attribute name="href">
    <xsl:value-of select='replace($token, "\$", "#")' />
    </xsl:attribute>
    <xsl:value-of select='replace($token, "\$", "")' />
    </a>
    </xsl:when>
    </xsl:choose>
    </xsl:template>
    (note that this isn't the best way to write the above code, but replace suffices)
    When I run this in the XSLT of JDev 10.1.3.2, the following stack trace is given:
    Exception in thread "Thread-1" java.lang.NoClassDefFoundError: oracle/i18n/text/OraNormalizer
         at oracle.xml.util.UnicodeUtil.<clinit>(UnicodeUtil.java:35)
         at oracle.xml.xslt.XSLSAXPrintDriver.printAttributes(XSLSAXPrintDriver.java:492)
         at oracle.xml.xslt.XSLSAXPrintDriver.startElement(XSLSAXPrintDriver.java:408)
         at oracle.xml.xslt.XSLEventHandler.reportStartElement(XSLEventHandler.java:267)
         at oracle.xml.xslt.XSLEventHandler.characters(XSLEventHandler.java:863)
         at oracle.xml.xslt.XSLValueOf.processAction(XSLValueOf.java:143)
         at oracle.xml.xslt.XSLNode.processChildren(XSLNode.java:480)
         at oracle.xml.xslt.XSLCondition.processAction(XSLCondition.java:181)
         at oracle.xml.xslt.XSLCondition.processAction(XSLCondition.java:157)
         at oracle.xml.xslt.XSLNode.processChildren(XSLNode.java:480)
         at oracle.xml.xslt.XSLTemplate.processAction(XSLTemplate.java:205)
         at oracle.xml.xslt.XSLCallTemplate.processAction(XSLCallTemplate.java:132)
         at oracle.xml.xslt.XSLNode.processChildren(XSLNode.java:480)
         at oracle.xml.xslt.XSLCondition.processAction(XSLCondition.java:181)
         at oracle.xml.xslt.XSLCondition.processAction(XSLCondition.java:157)
         at oracle.xml.xslt.XSLNode.processChildren(XSLNode.java:480)
         at oracle.xml.xslt.XSLTemplate.processAction(XSLTemplate.java:205)
         at oracle.xml.xslt.XSLCallTemplate.processAction(XSLCallTemplate.java:132)
         at oracle.xml.xslt.XSLNode.processChildren(XSLNode.java:480)
         at oracle.xml.xslt.XSLCondition.processAction(XSLCondition.java:181)
         at oracle.xml.xslt.XSLCondition.processAction(XSLCondition.java:157)
         at oracle.xml.xslt.XSLNode.processChildren(XSLNode.java:480)
         at oracle.xml.xslt.XSLTemplate.processAction(XSLTemplate.java:205)
         at oracle.xml.xslt.XSLApplyTemplates.processAction(XSLApplyTemplates.java:242)
         at oracle.xml.xslt.XSLApplyTemplates.processAction(XSLApplyTemplates.java:142)
         at oracle.xml.xslt.XSLNode.processChildren(XSLNode.java:480)
         at oracle.xml.xslt.XSLTemplate.processAction(XSLTemplate.java:205)
         at oracle.xml.xslt.XSLApplyTemplates.processAction(XSLApplyTemplates.java:242)
         at oracle.xml.xslt.XSLApplyTemplates.processAction(XSLApplyTemplates.java:142)
         at oracle.xml.xslt.XSLNode.processChildren(XSLNode.java:480)
         at oracle.xml.xslt.XSLTemplate.processAction(XSLTemplate.java:205)
         at oracle.xml.xslt.XSLApplyTemplates.processAction(XSLApplyTemplates.java:242)
         at oracle.xml.xslt.XSLApplyTemplates.processAction(XSLApplyTemplates.java:142)
         at oracle.xml.xslt.XSLNode.processChildren(XSLNode.java:480)
         at oracle.xml.xslt.XSLTemplate.processAction(XSLTemplate.java:205)
         at oracle.xml.xslt.XSLApplyTemplates.processAction(XSLApplyTemplates.java:242)
         at oracle.xml.xslt.XSLApplyTemplates.processAction(XSLApplyTemplates.java:142)
         at oracle.xml.xslt.XSLNode.processChildren(XSLNode.java:480)
         at oracle.xml.xslt.XSLTemplate.processAction(XSLTemplate.java:205)
         at oracle.xml.xslt.XSLApplyTemplates.processAction(XSLApplyTemplates.java:242)
         at oracle.xml.xslt.XSLApplyTemplates.processAction(XSLApplyTemplates.java:142)
         at oracle.xml.xslt.XSLNode.processChildren(XSLNode.java:480)
         at oracle.xml.xslt.XSLTemplate.processAction(XSLTemplate.java:205)
         at oracle.xml.xslt.XSLStylesheet.execute(XSLStylesheet.java:581)
         at oracle.xml.xslt.XSLStylesheet.execute(XSLStylesheet.java:548)
         at oracle.xml.xslt.XSLProcessor.processXSL(XSLProcessor.java:333)
         at oracle.xml.xslt.XSLProcessor.processXSL(XSLProcessor.java:181)
         at oracle.xml.xslt.XSLProcessor.processXSL(XSLProcessor.java:218)
         at oracle.xml.parser.v2.XSLProcessor.processXSL(XSLProcessor.java:121)
         at oracle.xml.async.XSLTransformer.run(XSLTransformer.java:136)
         at java.lang.Thread.run(Thread.java:595)
    No line number in my XSLT is written, but I have isolated it to the above code in the XSL file. This is some bug in the Oracle implementation, because when I run it against Saxon9, it produces output without complaint. Please help me with a work around for detecting the dollar sign and removing it for the output or can I find an oracle xslt patched package.
    Thanks a lot. - astewart / [email protected]
    Message was edited by:
    astewart
    Message was edited by:
    astewart
    Message was edited by:
    astewart

    Hi,
    You have posted to the wrong forum. Try posting to one of the XML forums such as:
    General XML
    Ron

  • XSL-FO Stylesheets (Oracle XSLT processor via command line)

    How does one go about editing BIP XSL-FO stylesheets converted from the MSWord plug in by using external tools?
    The converted files have many, many calls to Oracle functions that are unrecognized by the editing tools.
    We are using Stylus Studio and are getting errors on functions calls such as:
    <xsl:variable name="_XDOXSLTCTX" select="xdoxslt:set_xslt_locale($_XDOCTX, $_XDOLOCALE, $_XDOTIMEZONE, $_XDOCALENDAR, concat($_XDODFOVERRIDE,' ',$_XDOCURMASKS,' ',$_XDONFSEPARATORS))"/>
    This is but one example of course. There are many calls in each template and they are quite varied.
    Is there a way to "register" these with the tools so that they can call them (via tnsnames?). Even to having them ignored would be preferable to having the previewer completely fail.
    Scott

    Hi Scott.
    there's a JavaAPI which you can use. So it's not really a command line interface, but perhaps it can fullfill you requirements.
    Regards
    Rainer

  • 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

  • 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

  • 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.

  • 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)

  • Can i change XSLT Processor from BIP XSLT Processor to Xalan???

    Hi Oracle friends,
    I have a problem.....
    ...i'm not able to insert into customizable XSL-FO layout file the current-date() function and other similars, ....and, for this reason, i searched a solution and i have understood that the problem may be the XSLT Processor that doesn't agree extended namespaces of current date and time functions.
    I read that in order to activate these namespaces with functions it is necessary a Xalan or Saxon XSLT processor.
    After i tried to run the same customized XSL-FO file with Stylus Studio and (with a Saxon Processor) it's ok.
    How can i change XSLT Processor from Oracle BIP XSLT Processor to Xalan(or Saxon)???
    Regards
    Emanuel

    Julio, do you have one of the rare Minis with a socket for the CPU?
    Is it...
    Note (1): 2nd generation Intel® Core™ i7 (Sandy Bridge-E) processors require a new Socket R (LGA2011) Motherboard.

  • Which XSLT Processor does CF8 use?

    I'm writing some XSLTs and would like to use the fn:base-uri() that is accessible in Saxon-SA 9.1.0.7 or later editions.  I cannot find any documentation on which XSLT processor(s) CF8 uses.  Nor can I find anything on possibly upgrading it or using CF to access an external processor.  Can anyone point me in the right direction on how to do upgrade CF8's XSLT processor, use another one via CF or even another function that the fn:base-uri() can do.
    What I'm trying to do with the function is to get the XML's file name so that I can parse it out and insert it into the transformed XML.
    EXAMPLE XSLT:
    <?xml version="1.0" encoding="UTF-8"?>
    <xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
        xmlns:xs="http://www.w3.org/2001/XMLSchema" exclude-result-prefixes="xs" version="2.0">
        <xsl:output method="xml"/>
        <xsl:variable name="filepath">
            <xsl:value-of select="base-uri()"/>
        </xsl:variable>
         <xsl:template match="/">
              <xsl:value-of select="$filepath"/>
         </xsl:template>
    </xsl:stylesheet>

    Probably most of the heavy consumption is PGA related.
    http://docs.oracle.com/cd/B28359_01/server.111/b28274/memory.htm#i49320
    Have a look at the AWR history views concerning memory consumption. ADDM, ASH, AWR etc should give you more insight. See also the awr/addm/ash/-rpt.sql scripts in $ORACLE_HOME/rdbms/admin on the database server. You (officially) would need Diagnostic en Tuning pack licenses though, so be warned (even for "touching" those views). Probably the heavy consumption of memory is or (wrong) storage related or inefficient code...

  • Oracle xsl processor

    How can I configure jdeveloper to use another xsl processor rather than the oracle processor?

    Remove xmlparserv2.jar, which has the XSLT clases from Classpath & add another XSLT processor to Classpath.
    Also please refer to a previous post.
    Run XSQL servlet with an alternate XSLT Processor

  • 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

  • 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

Maybe you are looking for