XMLTansform and xsl:param values

Hello,
I would like to know if it is possible to pass xsl:param values when calling XMLTransform(xml, xsl).
If not, is there another way to render an XML with an XSL that takes parameters?
Thank you.

RDC has been deprecated since version 9 meaning no new functionality has been added to it. Cascading Parameters were added in CR 11.
There is no set of API's to access these types of Parameters at this time.

Similar Messages

  • Rendering hyperlinks using h:commanLink and setting f:param values

    dear friends,
    I want to render some hyperlinks with <h:commandLink>
    and then I want to set the <f:params > value of each hyperlink
    all those things are stored in a ArrayList whose values depends on
    parameter that I want to pass through another JSF or JSP page
    I have alredy tried combination of JSTL and JSF tags it is working
    properly
    but there is one problem when page loads for the first time
    no hyperlink gets renderd on page after refreshing page it shows all those hyperlink s
    if anybody of you is getting my question and know wht to do in this situation please guide me abt the same
    By the way Happy New Year to All Java Technology Lovers

    Actually, in your original post you used ExternalContext.getRequestMap(), not ExternalContext.getRequestParameterMap(). They both exist and there is a difference.

  • Xsl:import and xsl:call-template errors for xslt in mediator (ORAMED-03601)

    Hello,
    I decided for performance issues with bpel execution to use a mediator instead.
    In my requester i have a mediator that justs recieves an xml message, uses an xsl transformation (version 2) on that message and then sends it to the EBS.
    The xsl file that's works correctly when used in a bpel process has both <xsl:import..../>and <xsl:call_template.../> tags.
    When i tried and used the same xsl in the mediator i get an ORAMED-03601 error:
    ORAMED-03601:[Invalid transformer configuration]Unable to create transformer. It could be because of transformation file or configuration issues. Reason : "xsl/Xform_PriceListListABMReqMsg_to_PriceListEBMReqMsg.xsl"Possible Fix:Check log file for any exceptions and contact Oracle Support Services for further help
    It works correctly again if i comment/remove all the imports and call-template and incorporate them in the xsl file itself.
    Do anyone know if there are some limitations using xsl in a mediator instead of a bpel?

    Hi,
    I have a problem with call-template. I have passed
    sed some parameter with call-template tag and used
    that parameter in the conditional check tag <xsl:if>
    i am getting the error. Can any body tell how to use
    this? I actuall want to dynamically pass the tag name
    as the parameter and check the attribute value of the
    tag passed in the if condition and then i want to
    person some action. How can i do it?
    Here is the call-template code:
    <xsl:call-template name="selected-unselected">
    <xsl:with-param
    ram name="currentTag">motor-carrier</xsl:with-param>
    </xsl:call-template>
    Here is the template definition:
    <xsl:template name="selected-unselected">
    <xsl:param
    m name="currentTag">Quick-Quote</xsl:param>
         <xsl:if test="./{$currentTag}/@selected='true'">
              <xsl:text>checked</xsl:text>
         </xsl:if>
         <xsl:if test="./{$currentTag}/@selected='false'">
              <xsl:text>Unchecked</xsl:text>
         </xsl:if>
    </xsl:template>
    Here is the sample xml code:
    <motor-carrier selected="true"/>
    <motor-truck selected="false"/>
    <sched-mobile-equip selected="false"/>
    Here instead of writing the condition check for every
    tag i want to write it once and dynamically pass the
    tag name as parameter to the template. If the
    attribute of the tag has value true then one message
    should be displayed otherwise a different message
    should be displayed.try this:
    <xsl:template name="selected-unselected">
         <xsl:paramm name="currentTag">Quick-Quote</xsl:param>
         <xsl:if test="./*[name()=$currentTag]/@selected='true'">
              <xsl:text>checked</xsl:text>
         </xsl:if>
         <xsl:if test="./*[name()=$currentTag]/@selected='false'">
              <xsl:text>Unchecked</xsl:text>
         </xsl:if>
    </xsl:template>

  • JSF, tiles, xml and xsl

    Good days people, I am employed at an app that wants to integrate JSF, tiles, xml and xsl.
    Basically the app receives information of the user's interfaz, builds an url with the above mentioned information and invokes to a service web that a xml returns with the information. The idea is to generate the exit in format html or wml with an insole(staff) xsl and to send the result in this format to every jsp that is going to form a part of the page that it will generate tiles. at first I understand that it is feasible, i�d like to know if someone already has done it and since it has done it.
    Just now what I have is a managed bean that receives the parameters of the altar frontal and invokes a method of a service, like this:
    public String encuentra(){
    //deja los atributos privados rellenos.
    String mensaje ;
    crearYRellenarBusquedaVO();
    try {
    setResultado(this.getServicio().obtenerResultadosWML(this.getBusquedaVO()));
    mensaje="succesNoJS";
    }catch(java.lang.IllegalArgumentException e){
    mensaje="error";
    }catch(es.yell.frontlite.exceptions.SrvBusquedaNoxtrumServiceException e1){
    mensaje="error";
    }catch(Exception e2){
    mensaje="error";
    return mensaje;
    public String obtenerResultadosWML(es.yell.frontlite.service.impl.BusquedaVO busquedaVO){
    if (busquedaVO == null){
    throw new IllegalArgumentException(
    "obtenerResultadosJSdesactivado(es.yell.frontlite.service.impl.BusquedaVO busquedaVO) - 'busquedaVO' no puede ser nulo.");
    try{
    return this.manejarObtenerResultadosWML(busquedaVO);
    }catch(es.yell.frontlite.exceptions.SrvBusquedaNoxtrumServiceException e1){
    throw new es.yell.frontlite.exceptions.SrvBusquedaNoxtrumServiceException(
    "Error ejecutando el servicio String obtenerResultadosJSdesactivado(es.yell.frontlite.service.impl.BusquedaVO busquedaVO). " + e1.getCause(),e1);
    }catch(Exception e){
    throw new es.yell.frontlite.exceptions.SrvBusquedaNoxtrumServiceException(
    "Error ejecutando el servicio String obtenerResultadosJSdesactivado(es.yell.frontlite.service.impl.BusquedaVO busquedaVO). " + e.getCause(),e);
    //it returns html code!
    protected String manejarObtenerResultadosWML(es.yell.frontlite.service.impl.BusquedaVO busquedaVO)
    throws java.lang.Exception{
    try{
    // xmlOrigen has full xml response from server
    String xmlOrigen = manejarObtenerResultadosJSActivado(busquedaVO);
    Source xmlSource = new StreamSource(new StringBufferInputStream(xmlOrigen));
    Source xsltSource = new StreamSource(SrvBusquedaNoxtrumServiceImpl.class.getResourceAsStream(Constantes.XSL_FILE));
    StringWriter cadenaSalida = new StringWriter();
    Result bufferResultado = new StreamResult(cadenaSalida);
    TransformerFactory factoriaTrans = TransformerFactory.newInstance();
    Transformer transformador = factoriaTrans.newTransformer(xsltSource);
    transformador.transform(xmlSource, bufferResultado);
    System.out.println(cadenaSalida.toString());
    return cadenaSalida.toString();
    }catch(Exception e2){
    throw new es.yell.frontlite.exceptions.SrvBusquedaNoxtrumServiceException (e2.getMessage());
    With this exit in html, since(as,like) how could i forward it towards a jsp especially?
    faces-config.xml
    <navigation-rule>
    <from-view-id>/index.jsp</from-view-id>
    <navigation-case>
    <from-outcome>succesNoJS</from-outcome>
    <to-view-id>/jsDesactivado.jsp</to-view-id>
    </navigation-case>
    <navigation-case>
    <from-outcome>error</from-outcome>
    <to-view-id>/error.jsp</to-view-id>
    </navigation-case>
    </navigation-rule>
    index.jsp
    <%@ taglib uri="http://java.sun.com/jsf/html" prefix="h" %>
    <%@ taglib uri="http://java.sun.com/jsf/core" prefix="f" %>
    <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
    <html>
    <f:view>
    <f:loadBundle basename="MessageResources" var="msg"/>
    <head>
    <title>
    ${msg.titulo}
    </title>
    </head>
    <body>
    <h:form id="formulario">
    Que:
    <h:inputText id="campoQue" value="#{yellProxy.campoQue}" />
    Donde
    <h:inputText id="campoDonde" value="#{ yellProxy.campoDonde}" />
    <h:commandButton id="boton" value="Encuentra" action="#{yellProxy.encuentra}"/>
    </h:form>
    </f:view>
    </body>
    </html>
    jsDesactivado.jsp
    <%@page contentType="text/html"%>
    <%@page pageEncoding="UTF-8"%>
    <%--
    The taglib directive below imports the JSTL library. If you uncomment it,
    you must also add the JSTL library to the project. The Add Library... action
    on Libraries node in Projects view can be used to add the JSTL 1.1 library.
    --%>
    <%--
    <%@taglib uri=" http://java.sun.com/jsp/jstl/core" prefix="c"%>
    --%>
    <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
    " http://www.w3.org/TR/html4/loose.dtd">
    <html>
    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
    <title>JSP Page</title>
    </head>
    <body>
    <h1>JSP Page</h1>
    jsDesactivado!!
    <%--
    This example uses JSTL, uncomment the taglib directive above.
    To test, display the page like this: index.jsp?sayHello=true&name=Murphy
    --%>
    <%--
    <c:if test="${param.sayHello}">
    <!-- Let's welcome the user ${param.name} -->
    Hello ${param.name}!
    </c:if>
    --%>
    <jsp:getProperty name="yellProxy" property="resultado"/>
    </body>
    </html>
    If you could pass me a simple example of use of an app that uses JSF, tiles, xml and xsl, i�be grateful
    regards a lot!

    We too (at Viking Freight) would also be very interested to see if anybody
    has produced such a useful series of classes...
    Frank Lees, Developer
    -----Original Message-----
    From: Amin, Kamran [mailto:kamran.aminframeworkinc.com]
    Sent: Wednesday, January 19, 2000 12:11 PM
    To: 'Forte User'
    Subject: (forte-users) XML and XSL in Forte
    Has anybody integrated an XSL parser with Forte. I know Forte provides us
    with an XML parser but that does not help with parsing XSL. There a lot of
    parsers written in JAVA but that will not integrate well with Forte. We
    need something that will be easy to integrate with Forte. This parser will
    take our XML and XSL to give us a result set. If anybody can comment on the
    subject or share some information I would appreciate it.
    thanks in advance.
    ka
    For the archives, go to: http://lists.sageit.com/forte-users and use
    the login: forte and the password: archive. To unsubscribe, send in a new
    email the word: 'Unsubscribe' to: forte-users-requestlists.sageit.com

  • Help: on using xsl:param

    I am working on some xsl codes to do transformation,
    I have some codes like this:
    <xsl:template match="mytemplate">
    <xsl:param name="myparam"><xsl:number value="count()"/></xsl:param>
    function myfunction_{$cid} ()
    <!--I want the function name shows as "function myfunction_5 ", (5 is return value of count()).-->
    </xsl:template>
    Any help is greatly appreciated!

    Why would you use <xsl:param> to do that? Try this instead:
    function myfunction_<xsl:number value="count()"/> ()
    Or if you saw an example of an attribute value template somewhere else and tried to use it without understanding it, how about this:
    <xsl:variable name="cid"><xsl:number value="count()"/></xsl:variable>
    function myfunction_{$cid} ()
    Finally, what does this have to do with Java? There are plenty of active XSL mail lists where you would be much more likely to get a useful answer.

  • XSL param filter for character length?

    Hi I am using a xsl a transformation and using a param filter to only show 4 items (Works great!) but I would only like to show the first 50 Characters of the Article... is there a param filter I could pass to do this? or Would I need to make a new XML node to show?
    Thanks for any help!
    <xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
    <xsl:output method="html" encoding="UTF-8"/>
    <xsl:param name="ItemsPerPage" select="4" />
    <xsl:template match="/">
    <xsl:for-each select="dataroot/item[position() &lt;= $ItemsPerPage]">
    <xsl:sort select="date" order="descending"/>
      <h3><xsl:value-of select="title" disable-output-escaping="yes"/>
        </h3>
       <h5><xsl:value-of select="location"/> :
      <xsl:value-of select="date"/></h5>
       <h5><xsl:value-of select="author"/></h5>
        <xsl:value-of select="article" disable-output-escaping="yes"/>
          <xsl:value-of select="image"/>
           <xsl:value-of select="link"/>
    <br class="clearfloat" />
    </xsl:for-each>
    </xsl:template>
    </xsl:stylesheet>
    IsleA-Row2_Seat7

    Try this:
    <xsl:value-of select="substring(article, 1, 50)" disable-output-escaping="yes"/>
    AFAIK, that will cut it off at 50 characters. An alternative that might be more elegant is to select the first sentence and add an ellipsis like this:
    <xsl:value-of select="substring-before(article, '. ')" disable-output-escaping="yes"/>
    <xsl:text>... </xsl:text>

  • Xsl:param

    I run XSL-script from Java-servlet using XML parser v.2.0.2.9.
    I want to pass the node list to stylesheet script. How can i do it?? For example:
    XML -------------
    <root>
    <leaf>1</leaf>
    </root>
    XSL -------------
    <xsl:param name='new_leaves'/>
    <xsl:template match='leaf'>
    <xsl:copy-of select="$new_leaves"/>
    </xsl:template>
    When servlet runs XSL-script it passes parameter by setParam(...).
    The result XML-file must be something like:
    Result XML ------
    <root>
    <leaf>2</leaf>
    <leaf>3</leaf>
    </root>
    When parameter is literal value then all right. The problem rises when i want to pass the node list for a parameter.
    Thanks

    Cannot be done directly to the best of my knowledge.
    You could pass a value which is a space-separated list of numbers, then write an XSLT recursive template to parse the space-separated list of numbers and turn it into the XML fragment you're trying to create.

  • Param and with-param

    I am having problem in using <xsl:param and <xsl:with-param tags. It is not working somehow. I lloked at many examples and it is straight forward. But is does not wok.
    Could any one share some examples or thoughts.
    Thanks
    in advance
    RP

    Save the following file as "eg.xsl"
    =====================================
    <?xml version="1.0"?>
    <xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0">
    <xsl:param name="p1" select="'param1-value'"/>
    <xsl:param name="p2">param2-value</xsl:param>
    <xsl:template match="/">
    <xsl:text>In root template, p1=</xsl:text>
    <xsl:value-of select="$p1"/>
    <xsl:text>&#xa;In root template, p2=</xsl:text>
    <xsl:value-of select="$p2"/>
    <xsl:call-template name="sample">
    <xsl:with-param name="p3" select="$p1"/>
    </xsl:call-template>
    </xsl:template>
    <xsl:template name="sample">
    <xsl:param name="p3"/>
    <xsl:text>&#xa;In sample template, p3=</xsl:text>
    <xsl:value-of select="$p3"/>
    </xsl:template>
    </xsl:stylesheet>
    ================================
    Then try the following:
    $ oraxsl eg.xsl eg.xsl
    <?xml version = '1.0' encoding = 'UTF-8'?>
    In root template, p1=param1-value
    In root template, p2=param2-value
    In sample template, p3=param1-value
    $ oraxsl -p p1='newvalue' eg.xsl eg.xsl
    <?xml version = '1.0' encoding = 'UTF-8'?>
    In root template, p1=newvalue
    In root template, p2=param2-value
    In sample template, p3=newvalue
    Hope this helps.

  • Coherence 3.6.0 transactional cache and POF - NULL values

    Hi,
    We are trying to use the new transactional scheme defined in 3.6.0 and we encounter an abnormal behaviour. The code executes without any exception or warnings but in the cache we find the key associated with a NULL value.
    To try to identify the problem, we defined two services (see cache-config below):
    - one transactional cache
    - one distributed cache
    If we try to insert into transactional cache primitives or strings everything is normal (both key and value are visible using coherence console). But if we try to insert custom classes using POF, the key is inserted with a NULL value.
    In same cluster we defined a distributed cache that uses the same POF classes/configuration. A call to put will succeed in any scenario (both key and value are visible using coherence console).
    <?xml version="1.0"?>
    <!DOCTYPE cache-config SYSTEM "cache-config.dtd">
    <cache-config>
         <caching-scheme-mapping>
              <cache-mapping>
                   <cache-name>cnt.*</cache-name>
                   <scheme-name>storage.transactionalcache.cnt.scheme</scheme-name>
              </cache-mapping>
              <cache-mapping>
                   <cache-name>stt.*</cache-name>
                   <scheme-name>storage.distributedcache.stt.scheme</scheme-name>
              </cache-mapping>
         </caching-scheme-mapping>
         <caching-schemes>
              <transactional-scheme>
                   <scheme-name>storage.transactionalcache.cnt.scheme</scheme-name>
                   <service-name>storage.transactionalcache.cnt</service-name>
                   <thread-count>10</thread-count>
                   <serializer>
                        <class-name>com.tangosol.io.pof.ConfigurablePofContext</class-name>
                        <init-params>
                             <init-param>
                                  <param-type>String</param-type>
                                  <param-value>cnt-pof-config.xml</param-value>
                             </init-param>
                        </init-params>
                   </serializer>
                   <backing-map-scheme>
                        <local-scheme>
                             <high-units>250M</high-units>
                             <unit-calculator>binary</unit-calculator>
                        </local-scheme>
                   </backing-map-scheme>
                   <autostart>true</autostart>
              </transactional-scheme>
              <distributed-scheme>
                   <scheme-name>storage.distributedcache.stt.scheme</scheme-name>
                   <service-name>storage.distributedcache.stt</service-name>
                   <serializer>
                        <class-name>com.tangosol.io.pof.ConfigurablePofContext</class-name>
                        <init-params>
                             <init-param>
                                  <param-type>String</param-type>
                                  <param-value>cnt-pof-config.xml</param-value>
                             </init-param>
                        </init-params>
                   </serializer>
                   <backing-map-scheme>
                        <local-scheme>
                             <high-units>250M</high-units>
                             <unit-calculator>binary</unit-calculator>
                        </local-scheme>
                   </backing-map-scheme>
                   <autostart>true</autostart>
              </distributed-scheme>
         </caching-schemes>
    </cache-config>
    Failing code (uses transaction APIs 3.6.0):
         public static void main(String[] args)
              Connection con = new DefaultConnectionFactory().createConnection("storage.transactionalcache.cnt");
              con.setAutoCommit(false);
              try
                   OptimisticNamedCache cache = con.getNamedCache("cnt.t1");
                   CId tID = new CId();
                   tID.setId(11111L);
                   C tC = new C();
                   tC.setVal(new BigDecimal("100.1"));
                   cache.insert(tID, tC);
                   con.commit();
              catch (Exception e)
                   e.printStackTrace();
                   con.rollback();
              finally
                   con.close();
    Code that succeeds (but without transaction APIs):
         public static void main(String[] args)
              try
                   NamedCache cache = CacheFactory.getCache("stt.t1");
                   CId tID = new CId();
                   tID.setId(11111L);
                   C tC = new C();
                   tC.setVal(new BigDecimal("100.1"));
                   cache.put(tID, tC);
              catch (Exception e)
                   e.printStackTrace();
              finally
    And here is what we list using coherence console if we use transactional APIs:
    Map (cnt.t1): list
    CId {
    id = 11111
    } = null
    Any suggestion, please?

    Cristian,
    After looking at your configuration I noticed that your configuration is incorrect. For a transactional scheme you cannot specify a backing-map-scheme.
    Your config contained:
    <backing-map-scheme>
    <local-scheme>
    <high-units>250M</high-units>
    <unit-calculator>binary</unit-calculator>
    </local-scheme>
    </backing-map-scheme>To specify high-units for a transactional scheme, simply provide a high-units element directly under the transactional-scheme element.
    <transactional-scheme>
        <scheme-name>small-high-units</scheme-name>
        <service-name>TestTxnService</service-name>
        <autostart>true</autostart>
        <high-units>1M</high-units>
    </transactional-scheme>http://download.oracle.com/docs/cd/E15357_01/coh.360/e15723/api_transactionslocks.htm#BEIBACHA
    The reason that it is not allowable to specify a backing-map-scheme for a transactional scheme is that transactional caches use their own storage.
    I am not sure why this would work with primitives and only fail with POF. We will look into this further here and try to reproduce.
    Can you please change your configuration with the above changes and let us know your results.
    Thanks,
    John
    Edited by: jspeidel on Sep 16, 2010 10:44 AM

  • Cannot view PDF created by passing xml and XSL-FO using UTL_HTTP

    Hi,
    Using UTL_HTTP Iam trying to contact a servlet which uses the input XML and XSL/FO to produce a PDF.However, when I run the procedure , I get the following error 'File does not begin with -%PDF' ? I checked the output on the console and the blob values does not start with %PDF . Below is the sample from my code , please let me know if Iam commiting a mistake somewhere. I confirmed that the servlet itself is working fine by confirming with test webpage that takes xml and stylesheet input and generates a PDF when 'submitted' to servlet on the click of a button.
    INSERT INTO TESTPDF ( PDF_REPORT ) VALUES ( Empty_Blob() ) RETURNING PDF_REPORT INTO vBlobRef;
    vReportURL :='/rufop/fop?xml='||xmldoc||'&xsltRPath=../../test/PAXSL.xsl';
    req := UTL_HTTP.BEGIN_REQUEST (url=>vReportURL, method=>'POST');
    resp := utl_http.get_response(req);
    loop
    begin
    Utl_Http.read_raw(resp, vData);
    Dbms_Lob.writeAppend ( lob_loc => vBlobRef , amount => Utl_Raw.length(vData) , buffer => vData );
    exception
    when utl_http.end_of_body then
    exit;
    end;
    end loop;
    Utl_Http.end_response(resp);
    owa_util.mime_header('application/pdf',false);
    htp.p('Content-Disposition: inline; filename="test.pdf"');
    htp.p('Content-Length: '|| dbms_lob.getlength(vBlobRef));
    owa_util.http_header_close;
    wpg_docload.download_file(vBlobRef);
    Thanks in advance,
    Jen

    Hello guys! I have been assigned the same task,i.e to generate pdf through xml using xsl stylesheet.
    I have a procedure which is creating the xml and the stylesheet. But I have no idea how to write the procedure which passes this xml to fo engine. I am very new to this. Can anyone please share your thoughts with me so as how to accomplish this? By reading blogs on internet I figured I would have to use UTIL_HTTP but don't know how.
    Sunny
    Edited by: 887252 on May 29, 2012 1:24 AM

  • Howto pass dynamic jsp:param value to applet

    Hi.
    I have a JSP page with 3 to 4 links... and an applet with jsp:plugin .
    So i want to pass the URL behind the link to the applet as a Request Param..
    My JSP code looks like
    <a link href="www.google.com">Google</a>
    <a link href="www.oracle.com">Oracle</a>
    <a link href="www.gmail.com">Gmail</a>
    <jsp:plugin type="applet"
                                code="MyApplet"
                                height="0" codebase="../../jars/" width="0"
                                name="MyApplet"
                                align="bottom">
                            <jsp:params>
                                    <jsp:param name="applicationURL"
                                               value="this should be the "/>
                            </jsp:params>
                            <jsp:fallback>
                                    <p>This feature should run on applet supported
                                       browser.</p>
                            </jsp:fallback>
                    </jsp:plugin>and my applet code looks like
    init()
              String appURL = getParameter("applicationURL");
                    System.out.println(appURL);
              }I have a similar thread in Java forums... Howto pass dynamic jsp:param value to applet
    Thanks,
    Murali.

    My JSP code looks like
    <jsp:plugin type="applet"
                                code="MyApplet"
                                height="0" codebase="../../jars/" width="0"
                                name="MyApplet"
                                align="bottom">
                            <jsp:params>
                                    <jsp:param name="applicationURL"
                                               value="applicationURL"/>
                            </jsp:params>
                            <jsp:fallback>
                                    <p>This feature should run on applet supported
                                       browser.</p>
                            </jsp:fallback>
                    </jsp:plugin>and my applet code looks like
    init()
              String appURL = getParameter("applicationURL");
                    System.out.println(appURL);
              }Now i want to have links on JSP pages clicking on which corresponsing url will be displayed in applet.
    Edited by: 635237 on Jan 24, 2011 10:44 AM
    Edited by: 635237 on Jan 24, 2011 10:45 AM

  • Converting XML and XSL into HTML

    Hello!
    I'm designing a servlet class that merges an xml file and xsl file into html that will be sent to the client. But I don't understand how the (sparsely documented) javax.xml.transform.dom package works. An exception is generated for a missing "version" tag, when I've included one that has worked on client-side xml/xsl pages before. If it matters, I'm using Apache Tomcat/JDK 1.4.
    Here's the code:package mypackage.servlet.xml;
    import java.io.*;
    import java.util.*;
    import javax.servlet.*;
    import javax.servlet.http.*;
    import javax.xml.transform.*;
    import javax.xml.transform.dom.*;
    import javax.xml.parsers.*;
    import org.w3c.dom.*;
    import org.xml.sax.*;
    public class XML2HTMLServlet extends HttpServlet {
         public void doGet(HttpServletRequest request, HttpServletResponse response)
          throws IOException, ServletException {
              response.setContentType("text/html");
              PrintWriter writer = response.getWriter();
              try {
                   openFile("D:/Webdev/xml2html/data.xml", "D:/Webdev/xml2html/style.xsl", writer);
              } catch (Exception e) {
                   e.printStackTrace(writer);
         private void openFile(String xmlPath, String xslPath, PrintWriter writer)
          throws IOException, ParserConfigurationException, SAXException,
          TransformerConfigurationException, TransformerException {
              File xmlFile = new File(xmlPath);
              File xslFile = new File(xslPath);
              TransformerFactory tFact = TransformerFactory.newInstance();
              DocumentBuilderFactory dbFact = DocumentBuilderFactory.newInstance();
              DocumentBuilder builder = dbFact.newDocumentBuilder();
              Document xmlDoc = builder.parse(xmlFile);
              Document xslDoc = builder.parse(xslFile);
              Node xmlDocNode = (Node)xmlDoc;
              Node xslDocNode = (Node)xslDoc;
              DOMSource xmlSrc = new DOMSource(xmlDocNode);
              DOMSource xslSrc = new DOMSource(xslDocNode);
              DOMResult htmlResult = new DOMResult();
              Transformer transformer = tFact.newTransformer(xslSrc);  // the exception occurs here!
    When it runs, it complains:
    javax.xml.transform.TransformerConfigurationException:
    javax.xml.transform.TransformerConfigurationException:
    javax.xml.transform.TransformerException:
    javax.xml.transform.TransformerException: stylesheet requires attribute: version at
    org.apache.xalan.processor.TransformerFactoryImpl.newTransformer(TransformerFactoryImpl.java:767) at
    mypackage.servlet.xml.XML2HTMLServlet.openFile(XML2HTMLServlet.java:49) at
    ...etc...etc...
    data.xml contains:
    <?xml version="1.0"?>
    <document type="lecture">
         <title>Test Data</title>
         <section>
              <name>A New Section</name>
         </section>
    </document>
    style.xsl contains:
    <?xml version="1.0"?>
    <xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
    <xsl:template match="/">
         <html>
              <head>
                   <title><xsl:value-of select="document/title"/></title>
              </head>
              <body>
                   <xsl:apply-templates select="document/section"/>
              </body>
         </html>
    </xsl:template>
    <xsl:template match="section">
         <div><i>Section</i><br/><xsl:value-of select="name"/></div>
    </xsl:template>
    </xsl:stylesheet>I'm not sure the method calls above are what I want, so here's the client-side equivalent in Internet Explorer 5.0:
    function createStyledXMLDocument(xmlUrl, xslUrl) {
         var xmlDocument = new ActiveXObject("Microsoft.XMLDOM");
         xmlDocument.load(xmlUrl);
         var xslDocument = new ActiveXObject("Microsoft.XMLDOM");
         xslDocument.load(xslUrl);
         return xmlDocument.transformNode(xslDocument);
    }Any help would be greatly appreciated.

    Hi!
    I found the immediate answer with
    dbFact.setNamespaceAware(true);As for parser, I'm just using the default JDK install. But I'd like to hear more on Xalan. Is it independent open source? How does Xalan compare to whatever is default in JDK?
    Thanks

  • XMLTABLE() with XSQL and XSL

    HI Gentlemen,
    I have an XMLTYPE table with data loaded in it, which I would like to query with JDeveloper, formatted. For normal relational tables it works fine. However, for an XMLTYPE table, where--in addition--XMLTABLE() must be involved, I only get the constant text portions, not the selected values. (Note that the same works with XML instances file and XSL stylesheet excellently, without JDeveloper.) My question is: How can I reference a coulumn in an XMLTABLE() table that is constructed during query?
    Included is the following:
    (1) XSQL file in JDeveloper
    (2) XSL stylesheet file in JDeveloper
    (3) Output of XSQL from JDeveloper when the <?xml-stylesheet...> is commented out
    Please help if you have an idea.
    (1) XSQL file under public-html
    <?xml version="1.0" encoding='windows-1252'?>
    <?xml-stylesheet type="text/xsl" href="untitled1.xsl" ?>
    <page xmlns:xsql="urn:oracle-xsql" connection="gksconnection">
    <xsql:query xmlns:xsql="urn:oracle-xsql" >
    SELECT
    des.ziffer,
    des.kap_bez,
    des.bereich,
    des.kapitel,
    des.abschnitt,
    des.kurztext,
    des.langtext,
    des.quittungstext
    FROM
    z p,
    XMLTable(XMLNAMESPACES('urn:ehd/001' as "n1", 'urn:ehd/go/001' as "n2"),
                        'for $i in /n1:ehd
    where $i/n1:header/n1:provider/n1:organization/n1:id/@EX eq "46" and
                        $i/n1:body/n2:gnr_liste/n2:gnr/@V eq "01700V"
                   return $i/n1:body/n2:gnr_liste/n2:gnr[@V="01700V"]'
    PASSING p.xml_document
    COLUMNS
    ziffer      VARCHAR2(12) PATH '@V',
    kap_bez VARCHAR2(255) PATH 'n2:allgemein/n2:legende/n2:kap_bez/@DN',
    bereich VARCHAR2(255) PATH 'n2:allgemein/n2:legende/n2:kap_bez/n2:bereich/@DN',
    kapitel VARCHAR2(255) PATH 'n2:allgemein/n2:legende/n2:kap_bez/n2:kapitel/@DN',
    abschnitt VARCHAR2(255) PATH 'n2:allgemein/n2:legende/n2:kap_bez/n2:abschnitt/@DN',
    kurztext      VARCHAR2(255) PATH 'n2:allgemein/n2:legende/n2:kurztext/@V',
    langtext      VARCHAR2(255) PATH 'n2:allgemein/n2:legende/n2:langtext/@V',
    quittungstext VARCHAR2(255) PATH 'n2:allgemein/n2:legende/n2:quittungstext/@V') des
    <!-- select * from z -->
    </xsql:query>
    </page>
    (2) XSL stylesheet under public-html
    <?xml version="1.0" encoding="windows-1252" ?>
    <xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
    xmlns:ehd="urn:ehd/001" xmlns:pe="urn:ehd/go/001">
    <xsl:output encoding="ISO-8859-1" method="text/html" />
    <xsl:template match="/page">
    <html>
    <head>
    <title>EBM Ziffer</title>
    </head>
    <body style="font-family:verdana;color:black">
    <h2><xsl:text>Ziffer: </xsl:text>
    <xsl:value-of select="@V"/>
    </h2>
    <table border="1">
    <tr>
    <td><xsl:text>Gültigkeit</xsl:text></td>
    <td><xsl:value-of select="pe:allgemein/pe:gueltigkeit/pe:service_tmr/@V"/></td>
    </tr>
    <tr>
    <td><xsl:text>Bezeichnung Kapitel</xsl:text></td>
    <td><xsl:value-of select="pe:allgemein/pe:legende/pe:kap_bez/@V"/>
    <xsl:text> </xsl:text>
    <xsl:value-of select="pe:allgemein/pe:legende/pe:kap_bez/@DN"/></td>
    </tr>
    <tr>
    <td><xsl:text>Bereich</xsl:text></td>
    <td><xsl:value-of select="pe:allgemein/pe:legende/pe:kap_bez/pe:bereich/@V"/>
    <xsl:text> </xsl:text>
    <xsl:value-of select="pe:allgemein/pe:legende/pe:kap_bez/pe:bereich/@DN"/></td>
    </tr>
    <tr>
    <td><xsl:text>Kapitel</xsl:text></td>
    <td><xsl:value-of select="pe:allgemein/pe:legende/pe:kap_bez/pe:kapitel/@V"/>
    <xsl:text> </xsl:text>
    <xsl:value-of select="pe:allgemein/pe:legende/pe:kap_bez/pe:kapitel/@DN"/></td>
    </tr>
    <tr>
    <td><xsl:text>Abschnitt</xsl:text></td>
    <td><xsl:value-of select="pe:allgemein/pe:legende/pe:kap_bez/pe:abschnitt/@DN"/></td>
    </tr>
    <tr>
    <td><xsl:text>Unterabschnitt</xsl:text></td>
    <td><xsl:value-of select="pe:allgemein/pe:legende/pe:kap_bez/pe:uabschnitt/@DN"/></td>
    </tr>
    <tr>
    <td><xsl:text>Block</xsl:text></td>
    <td><xsl:value-of select="pe:allgemein/pe:legende/pe:kap_bez/pe:block/@DN"/></td>
    </tr>
    <tr>
    <td><xsl:text>Kurztext</xsl:text></td>
    <td><xsl:value-of select="pe:allgemein/pe:legende/pe:kurztext/@V"/></td>
    </tr>
    <tr>
    <td><xsl:text>Langtext</xsl:text></td>
    <td><xsl:value-of select="pe:allgemein/pe:legende/pe:langtext/@V"/></td>
    </tr>
    <tr>
    <td><xsl:text>Langtext (Fortsetzung)</xsl:text></td>
    <td><xsl:value-of select="pe:allgemein/pe:legende/pe:langtext_continued/@V"/></td>
    </tr>
    <tr>
    <td><xsl:text>Quittungstext</xsl:text></td>
    <td><xsl:value-of select="pe:allgemein/pe:legende/pe:quittungstext/@V"/></td>
    </tr>
    </table>
    <!-- Anmerkungen-Liste -->
    <h3><xsl:text>Anmerkungen</xsl:text></h3>
    <table border="1">
    <xsl:for-each select="pe:allgemein/pe:anmerkungen_liste/pe:anmerkung">
    <tr>
    <td><xsl:value-of select="@V"/></td>
    </tr>
    </xsl:for-each>
    </table>
    <!-- Leistungsinhalt-->
    <h3><xsl:text>Leistungsinhalt</xsl:text></h3>
    <table border="1" >
    <tr>
    <th><xsl:text>Komplex</xsl:text></th>
    <th><xsl:text>Leistung</xsl:text></th>
    </tr>
    <xsl:for-each select="pe:allgemein/pe:leistungsinhalt/pe:komplex">
    <tr>
    <td><xsl:value-of select="@V"/></td>
    <td>
    <xsl:for-each select="pe:leistung">
    <xsl:value-of select="@V"/>
    </xsl:for-each>
    </td>
    </tr>
    </xsl:for-each>
    </table>
    <!-- Bewertungsliste -->
    <h3><xsl:text>Bewertungen</xsl:text></h3>
    <table border="1">
    <tr>
    <th><xsl:text>Bewertung</xsl:text></th>
    <th><xsl:text>Einheit</xsl:text></th>
    <th><xsl:text>Gebührenordnung</xsl:text></th>
    <th><xsl:text>Leistungserbringerart</xsl:text></th>
    <th><xsl:text>Leistungstyp</xsl:text></th>
    <th><xsl:text>Versorgungsgebiet</xsl:text></th>
    </tr>
    <xsl:for-each select="pe:allgemein/pe:bewertung_liste/pe:bewertung">
    <tr>
    <td><xsl:value-of select="@V"/></td>
    <td><xsl:value-of select="@U"/></td>
    <td><xsl:value-of select="pe:gebuehrenordnung/@V"/></td>
    <td><xsl:value-of select="pe:leistungserbringerart/@V"/></td>
    <td><xsl:value-of select="pe:leistung_typ/@V"/></td>
    <td><xsl:value-of select="pe:versorgungsgebiet/@V"/></td>
    </tr>
    </xsl:for-each>
    </table>
    <!-- Zeitbedarfliste -->
    <h3><xsl:text>Zeitbedarfliste</xsl:text></h3>
    <table border="1">
    <tr>
    <th><xsl:text>Zeit</xsl:text></th>
    <th><xsl:text>Einheit</xsl:text></th>
    <th><xsl:text>Leistungstyp</xsl:text></th>
    </tr>
    <xsl:for-each select="pe:allgemein/pe:zeitbedarf_liste/pe:zeit">
    <tr>
    <td><xsl:value-of select="@V"/></td>
    <td><xsl:value-of select="@U"/></td>
    <td><xsl:value-of select="pe:leistung_typ/@V"/></td>
    </tr>
    </xsl:for-each>
    </table>
    <!-- Prüfzeit -->
    <h3><xsl:text>Prüfzeit</xsl:text></h3>
    <table border="1">
    <tr>
    <th><xsl:text>Zeitangabe</xsl:text></th>
    <th><xsl:text>Zeiteinheit</xsl:text></th>
    <th><xsl:text>Profiltyp</xsl:text></th>
    </tr>
    <tr>
    <td><xsl:value-of select="pe:allgemein/pe:pruefzeit/@V"/></td>
    <td><xsl:value-of select="pe:allgemein/pe:pruefzeit/@U"/></td>
    <td><xsl:value-of select="pe:allgemein/pe:pruefzeit/pe:zeitprofilart/@V"/></td>
    </tr>
    </table>
    <!-- RLV -->
    <h3><xsl:text>RLV</xsl:text></h3>
    <table border="1">
    <tr>
    <th><xsl:text>Kennzeichen</xsl:text></th>
    </tr>
    <tr>
    <td><xsl:value-of select="pe:allgemein/pe:rlv/@V"/></td>
    </tr>
    </table>
    <!-- Leistungsgruppe -->
    <h3><xsl:text>Leistungsgruppe</xsl:text></h3>
    <table border="1">
    <tr>
    <th><xsl:text>Code</xsl:text></th>
    </tr>
    <tr>
    <td><xsl:value-of select="pe:allgemein/pe:leistungsgruppe/@V"/></td>
    </tr>
    </table>
    <!-- Fachgruppen-Liste -->
    <h3><xsl:text>Fachgruppen</xsl:text></h3>
    <table border="1">
    <tr>
    <th><xsl:text>Versorgungsbereich</xsl:text></th>
    <th><xsl:text>Fachgruppe</xsl:text></th>
    </tr>
    <xsl:for-each select="pe:bedingung/pe:fachgruppe_liste/pe:versorgungsbereich">
    <tr>
    <td><xsl:value-of select="@V"/></td>
    <td>
    <xsl:for-each select="pe:fachgruppe">
    <xsl:value-of select="@V"/>
    </xsl:for-each>
    </td>
    </tr>
    </xsl:for-each>
    </table>
    <!-- Ausschlußiste -->
    <h3><xsl:text>Ausschlußliste</xsl:text></h3>
    <table border="1" >
    <tr>
    <th><xsl:text>Bezugsraum</xsl:text></th>
    <th><xsl:text>Ziffer</xsl:text></th>
    </tr>
    <xsl:for-each select="pe:regel/pe:ausschluss_liste/pe:bezugsraum">
    <tr>
    <td><xsl:value-of select="@U"/></td>
    <td>
    <xsl:for-each select="pe:gnr_liste/pe:gnr">
    <xsl:value-of select="@V"/>
    </xsl:for-each>
    </td>
    </tr>
    </xsl:for-each>
    </table>
    </body>
    </html>
    </xsl:template>
    </xsl:stylesheet>
    (3) XSQL output without stylesheet
    -<page>
    −<ROWSET>
    −<ROW num="1">
    <ZIFFER>01700V</ZIFFER>
    −<KAP_BEZ>
    Gesundheits- und Früherkennungsuntersuchungen, Mutterschaftsvorsorge, Empfängnisregelun g und Schwangerschaftsabbruch (vormals Sonstige Hilfen)
    </KAP_BEZ>
    <BEREICH>Arztgruppenübergreifende allgemeine Leistungen</BEREICH>
    <KAPITEL>Allgemeine Leistungen</KAPITEL>
    −<ABSCHNITT>
    Gesundheits- und Früherkennungsuntersuchungen, Mutterschaftsvorsorge, Empfängnisregel ung und Schwangerschaftsabbruch (vormals Sonstige Hilfen)
    </ABSCHNITT>
    −<KURZTEXT>
    Grundpauschale für Fachärzte für Laboratoriumsmedizin u.a.
    </KURZTEXT>
    −<LANGTEXT>
    Grundpauschale für Fachärzte für Laboratoriumsmedizin, Mikrobiologie und Infektionsepidemiologi e, Transfusionsmedizin und ermächtigte Fachwissenschaftler der Medizin für die Erbringung von Laborleistungen gemäß den Richtlinien des Gemeinsamen Bundesauss
    </LANGTEXT>
    −<QUITTUNGSTEXT>
    Grundpauschale für Fachärzte für Laboratoriumsmedizin u.a.
    </QUITTUNGSTEXT>
    </ROW>
    </ROWSET>
    </page>
    Please apologize that the stylesheet has considerably more than the XSQL query--this is going to be extended when the technique works.
    Thank you, kind regards
    Miklos HERBOLY

    Perhaps you could consider using the XMLType instead of varchar2 for the db columns, thus avoiding use of XMLTABLE() altogether.
    Consult for example the source code of :
    http://www.amazon.com/Oracle-XSQL-Combining-Publish-Dynamic/dp/0471271209
    You might also try posting to a more specialized forum such as:
    http://forums.oracle.com/forums/category.jspa?categoryID=51
    NA
    http://nickaiva.blogspot.com
    Edited by: Nick Aiva on Jan 21, 2011 9:17 PM

  • Xsl:param or xsl:variable gets reset.

    Hi, I'm trying to keep a counter using a top level variable in xsl.
    <?xml version="1.0"?>
    <xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
    <xsl:variable name="rownumber">1</xsl:variable>
    And every time my xsl calls a specific template, i want to keep a counter.
    <xsl:template match="row">
    <xsl:variable name="rownumber">     
    <xsl:number value="$rownumber+1"/>     
    </xsl:variable>     
    <xsl:variable value="$rownumber"/>
    </xsl:template>
    However, my variable $rownumber always gets reset to the default value of "1" everytime the template is called and returns a value of "2".
    Is there a work around for this? Is there a way to keep a counter in xsl? Can top level variable change?
    I don't want to count the nodes either....
    Thanks in advanced,
    jon

    You can't do that. Variables can't change. And there is no "workaround", as you put it. XSLT is not that kind of programming language. If you want to count something, you need to figure out an expression that looks at the incoming XML and determines the answer. This is often surprisingly easy once you stop writing programs that assume that statements are executed one after the other. For example, in your case it appears that you just want to count the number of "row" elements in the document. The XPath expression for that is "count(//row)". Or perhaps you want to count the number of "row" elements below the current node; that's "count(row)".

  • Xsl:param question

    hi in my xsl
    I have something that is like
    <xsl:param name="x" select="@somevalue"/>
    that @somevalue is suppose to have a value assigned to it (so it is dynamic).......but I can't figure out how it might work
    can someone provide my some info as to how @ this works in the xsl world....
    basically I want to know how i can assign value to that @somevalue...
    jaxb...?!
    thanks

    Are you asking what the @ character means? It's a shortcut for the attribute axis, so basically "@somevalue" means "the somevalue attribute of the context node".

Maybe you are looking for

  • Displaying urdu characters in report builder

    Dear All! i've stored urdu characters in database and it's displaying correctly in form builder and Toad. But on sql plus and in report builder some urdu characters are not displaying e.g پ،گ،ڈ،ٹ etc. should i need to make changes in "uifont.ali" to

  • Where do you store Hard coding values?

    Hi All, We have a requirement to call a 3rd party web service from SAP for which there are 12 - 13 attributes which are constant values and are not going to change. These can be hard coded inside the implementation methods but I do not want to do it.

  • Upgrade from CRM 4.0 7.0 Missing existing Custom fields

    Hi experts: We have recently upgraded from 4.0 to 7.0 and many of the custom fields we created in 4.0 are not available in the UI.  When I look in the BSP workbench under the page view that is defaulting in the webUI, I can see the fields in the cont

  • Explain Plan guide

    Hi ALL, I wanted to know how to use explain plan in detail,Can any one please sujext me good link for this? Regards Raghavendra Nara

  • CDAUI2000 error uccx 8

    I am currently running 8.0.2.10000-41 and in the Desktop Administrator --> silent monitoring and recording I'm getting and error "CDAUI2000 An error has occurred. Contact technical support" I was able to fix this in v7 but I do not have access to the