Xslt jsp 2.0

Goodmorning,
with the jsp 2.0 i produced a Xml document. I want to trasform it in a html document, What do I do? How can I insert the xsltrasformation?
Luca

up

Similar Messages

  • NullPointer using weblogic's xslt jsp tags

    I get the following stack trace (at the bottom), using the xslt tag provided by weblogic
    <%@ taglib uri="xmlx.tld" prefix="x"%>
    <x:xslt xml="test.xml" />
    In, this case the test.xml contains the reference to the stylesheet.
    Any help would be greatly apprecieated.
    java.lang.NullPointerException
    at weblogicx.xml.tags.XsltTag.doEndTag(XsltTag.java:207)
    at jsp_servlet._portlets._xmltest.__content._jspService(content.jsp:7)
    at weblogic.servlet.jsp.JspBase.service(JspBase.java:27)
    at weblogic.servlet.internal.ServletStubImpl$ServletInvocationAction.run
    (ServletStubImpl.java:945)
    at weblogic.servlet.internal.ServletStubImpl.invokeServlet(ServletStubIm
    pl.java:332)
    at weblogic.servlet.internal.ServletStubImpl.invokeServlet(ServletStubIm
    pl.java:376)
    at weblogic.servlet.internal.ServletStubImpl.invokeServlet(ServletStubIm
    pl.java:242)
    at weblogic.servlet.internal.RequestDispatcherImpl.include(RequestDispat
    cherImpl.java:539)
    at weblogic.servlet.internal.RequestDispatcherImpl.include(RequestDispat
    cherImpl.java:368)
    at weblogic.servlet.jsp.PageContextImpl.include(PageContextImpl.java:119
    at jsp_servlet._framework.__portlet._jspService(portlet.jsp:84)
    at weblogic.servlet.jsp.JspBase.service(JspBase.java:27)
    at weblogic.servlet.internal.ServletStubImpl$ServletInvocationAction.run
    (ServletStubImpl.java:945)
    at weblogic.servlet.internal.ServletStubImpl.invokeServlet(ServletStubIm
    pl.java:332)
    at weblogic.servlet.internal.ServletStubImpl.invokeServlet(ServletStubIm
    pl.java:242)
    at weblogic.servlet.internal.RequestDispatcherImpl.include(RequestDispat
    cherImpl.java:539)
    at weblogic.servlet.internal.RequestDispatcherImpl.include(RequestDispat
    cherImpl.java:368)
    at weblogic.servlet.jsp.PageContextImpl.include(PageContextImpl.java:119
    at com.bea.portal.render.servlets.jsp.taglib.RenderTag.renderPortlets(Re
    nderTag.java:172)
    at com.bea.portal.render.servlets.jsp.taglib.RenderTag.doStartTag(Render
    Tag.java:60)
    at jsp_servlet._framework._layouts._spanningthreecolumn.__template._jspS
    ervice(template.jsp:10)
    at weblogic.servlet.jsp.JspBase.service(JspBase.java:27)
    at weblogic.servlet.internal.ServletStubImpl$ServletInvocationAction.run
    (ServletStubImpl.java:945)
    at weblogic.servlet.internal.ServletStubImpl.invokeServlet(ServletStubIm
    pl.java:332)
    at weblogic.servlet.internal.ServletStubImpl.invokeServlet(ServletStubIm
    pl.java:376)
    at weblogic.servlet.internal.ServletStubImpl.invokeServlet(ServletStubIm
    pl.java:242)
    at weblogic.servlet.internal.RequestDispatcherImpl.include(RequestDispat
    cherImpl.java:539)
    at weblogic.servlet.internal.RequestDispatcherImpl.include(RequestDispat
    cherImpl.java:368)
    at weblogic.servlet.jsp.PageContextImpl.include(PageContextImpl.java:119
    at jsp_servlet._framework.__page._jspService(page.jsp:64)
    at weblogic.servlet.jsp.JspBase.service(JspBase.java:27)
    at weblogic.servlet.internal.ServletStubImpl$ServletInvocationAction.run
    (ServletStubImpl.java:945)
    at weblogic.servlet.internal.ServletStubImpl.invokeServlet(ServletStubIm
    pl.java:332)
    at weblogic.servlet.internal.ServletStubImpl.invokeServlet(ServletStubIm
    pl.java:242)
    at weblogic.servlet.internal.RequestDispatcherImpl.include(RequestDispat
    cherImpl.java:539)
    at weblogic.servlet.internal.RequestDispatcherImpl.include(RequestDispat
    cherImpl.java:368)
    at weblogic.servlet.jsp.PageContextImpl.include(PageContextImpl.java:119
    at jsp_servlet._framework.__portal._jspService(portal.jsp:19)
    at weblogic.servlet.jsp.JspBase.service(JspBase.java:27)
    at weblogic.servlet.internal.ServletStubImpl$ServletInvocationAction.run
    (ServletStubImpl.java:945)
    at weblogic.servlet.internal.ServletStubImpl.invokeServlet(ServletStubIm
    pl.java:332)
    at weblogic.servlet.internal.ServletStubImpl.invokeServlet(ServletStubIm
    pl.java:242)
    at weblogic.servlet.internal.RequestDispatcherImpl$ForwardAction.run(Req
    uestDispatcherImpl.java:341)
    at weblogic.security.service.SecurityServiceManager.runAs(SecurityServic
    eManager.java:721)
    at weblogic.servlet.internal.RequestDispatcherImpl.forward(RequestDispat
    cherImpl.java:251)
    at com.bea.portal.appflow.servlets.internal.PortalWebflowServlet.doGet(P
    ortalWebflowServlet.java:146)
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:740)
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:853)
    at weblogic.servlet.internal.ServletStubImpl$ServletInvocationAction.run
    (ServletStubImpl.java:945)
    at weblogic.servlet.internal.ServletStubImpl.invokeServlet(ServletStubIm
    pl.java:332)
    at weblogic.servlet.internal.ServletStubImpl.invokeServlet(ServletStubIm
    pl.java:242)
    at weblogic.servlet.internal.WebAppServletContext$ServletInvocationActio
    n.run(WebAppServletContext.java:5360)
    at weblogic.security.service.SecurityServiceManager.runAs(SecurityServic
    eManager.java:721)
    at weblogic.servlet.internal.WebAppServletContext.invokeServlet(WebAppSe
    rvletContext.java:3043)
    at weblogic.servlet.internal.ServletRequestImpl.execute(ServletRequestIm
    pl.java:2468)
    at weblogic.kernel.ExecuteThread.execute(ExecuteThread.java:152)
    at weblogic.kernel.ExecuteThread.run(ExecuteThread.java:133)

    Soory, I used taglib from http://www.coldsuite.com/jsp.htm

  • HELP: JSP + XML + XSLT = HTML?

    Hello, all.
    I am trying out Weblogic 6 and I am trying to get the JSP + XML + XSLT =>
    HTML chain working.
    I am coming from using Orion and SAXON.. and in that situation I had a JSP
    that contained XML tags... they were filled in at runtime and then using
    Servlet-Chaining was passed along to the SAXON XSLT Processer. SAXON checked
    for the inline XSL specified and then used that to transform the document
    into HTML.
    It worked well, but there were some other features missing/not documented
    that we now need.
    With Weblogic I am trying to use the XSLT Tag Library that comes with the
    distribution, but it seems to be very finicky. I followed the directions and
    I got it to do a sort of roundabout transformation. But it doesn't seem to
    work quite right.
    The best I can get is the following:
    I have an 'xslt' directory url-pattern-mapped to xslt.jsp (as instructed)...
    but can't figure out how to specify the xsl file on-the-fly... that is, if I
    don't hard-code the XSL file in the x:xslt element in the xslt.jsp it
    complains about some XML file not having a root element.
    Ideal situation:
    1. I have a JSP that includes XML elements.
    2. It is filled from a database at runtime and specifys (using a PI) what
    XSL stylesheet it is to be processed with.
    3. Somehow (fingers crossed) the XML is processed and transformed into HTML
    by the appropriate XSL file.
    I think I am mostly stuck moving between steps 2 and 3.
    Can anyone give me some hints? Are there some Weblogic specific
    elements/tags that I have to include in the XML file that Weblogic will
    catch and re-direct to the XSL Parser?
    Please, anyone, if you have some information, I would much appreciate it.
    Dylan Parker
    PS - I apologize for the cross-post, I hope it doesn't cause too much
    traffic.

    Craig,
    I've since discovered how to do it with the WL Taglibrary... and have
    moved on =)
    It has to do with the EXTREMELY BADLY documented x:xml tag that can
    appear within the x:xslt tag body...
    So the WL Tag Library allows something like the following.
    (Please note, angled brackets are omitted in this post to prevent html
    parsing)
    [x:xslt stylesheet="sheet.xsl"]
    [x:xml]
    Here is the XML to run the sheet on.
    This should have all relevant XML syntax: the PIs, the doctype,
    root elements etc...
    [x:xml]
    [x:xslt]
    And that DOES work. But not very well. WL, a little prematurely
    incorporated versions 1.2 of Xerces and Xalan in their product -- and
    these versions have some irritating bugs.
    Also -- There tag library doesn't copy the source XML across as UTF-8
    .. so a lot of the Japanese I have embedded there (from a DB) gets
    mangled somewhere in their code...
    AND -- If you hammer a little bit on an JSP/XML that uses the WL Tag
    Library (eg clicking refresh lots of times in IE)... I get huge
    amounts of irritating exceptions appearing in the log files.
    NullPointerExceptions
    XSL Parsing Exceptions
    XML Parsing Exceptions
    but completely unpredictably...
    In my eyes.. the WL XML/XSL Tag Library using the incorporated and
    untouchable Xalan and Xerces (v1.2) is virtually unusable.
    What a pain.
    BUT! Apache offers a similar OPEN SOURCE XSL Tag Library available
    here:
    http://jakarta.apache.org/taglibs/doc/xsl-doc/intro.html
    And it uses the standard, non-weblogic-incorporated, Xerces and Xalan
    (which means you can provide whatever version you want).. and it works
    impressively well.
    It has almost identical performance as the WL Taglib, and without all
    of the bizarre exceptions being thrown.
    And it does proper passing of the character encoding type!
    If only the taglib did caching though =(
    The performance hit over pure JSP is huge. Almost two orders of
    magnitude. On my desktop box I can get around 500Requests/Sec if I am
    returning HTML direct from a JSP... while if I produce XML that gets
    processed by XSL into HTML the Requests/Sec drops to 5!!!!
    Caching. Caching. And more Caching. A lot of DiskIO is going on with
    the XML/XSL/XHTML chain of events.
    I hope this helps!
    I'd be curious as to what you find out as well.
    Dylan Parker
    On 5 Mar 2001 07:20:00 -0800, "Craig Macha"
    <[email protected]> wrote:
    >
    Yep, I feel Dylan's pain.
    I am trying to accomplish the same thing. A JSP page generating
    dynamic XML content and then utilizing an XSLT stylesheet to transform
    all the content into XHTML.
    Does anyone have some examples that show exactly how to accomplish
    this? Can I do this with WLS and the XML taglib that comes with
    it? Or do I have to move on to something like Cocoon to get this
    capability?
    Any insight would be greatly appreciated.
    Thanks,
    Craig Macha
    "Dylan Parker" <[email protected]> wrote:
    Hello, all.
    I am trying out Weblogic 6 and I am trying to get the
    JSP + XML + XSLT =>
    HTML chain working.
    I am coming from using Orion and SAXON.. and in that situation
    I had a JSP
    that contained XML tags... they were filled in at runtime
    and then using
    Servlet-Chaining was passed along to the SAXON XSLT Processer.
    SAXON checked
    for the inline XSL specified and then used that to transform
    the document
    into HTML.
    It worked well, but there were some other features missing/not
    documented
    that we now need.
    With Weblogic I am trying to use the XSLT Tag Library
    that comes with the
    distribution, but it seems to be very finicky. I followed
    the directions and
    I got it to do a sort of roundabout transformation. But
    it doesn't seem to
    work quite right.
    The best I can get is the following:
    I have an 'xslt' directory url-pattern-mapped to xslt.jsp
    (as instructed)...
    but can't figure out how to specify the xsl file on-the-fly...
    that is, if I
    don't hard-code the XSL file in the x:xslt element in
    the xslt.jsp it
    complains about some XML file not having a root element.
    Ideal situation:
    1. I have a JSP that includes XML elements.
    2. It is filled from a database at runtime and specifys
    (using a PI) what
    XSL stylesheet it is to be processed with.
    3. Somehow (fingers crossed) the XML is processed and
    transformed into HTML
    by the appropriate XSL file.
    I think I am mostly stuck moving between steps 2 and 3.
    Can anyone give me some hints? Are there some Weblogic
    specific
    elements/tags that I have to include in the XML file that
    Weblogic will
    catch and re-direct to the XSL Parser?
    Please, anyone, if you have some information, I would
    much appreciate it.
    Dylan Parker
    PS - I apologize for the cross-post, I hope it doesn't
    cause too much
    traffic.

  • Weblogic.apache.xalan.xpath.dtm.DTMException:

    Hi,
    I got two different behaviors when trying to the XSLT processor:
    1) When running the XSLT processor using the XSLT JSP tag, everything works
    fine.
    2) When running the XSLT process from a Java program, got the following
    error:
    weblogic.apache.xalan.xpath.dtm.DTMException:
    at
    weblogic.apache.xalan.xpath.dtm.DTMProxy.getChildNodes(DTMProxy.java:
    255)
    at com.agilesoft.common.BOMRollUp.getRollupPrice(BOMRollUp.java:42)
    at java.lang.reflect.Method.invoke(Native Method)
    at
    weblogic.apache.xalan.xpath.XSLTJavaClassEngine.callJava(XSLTJavaClas
    sEngine.java:397)
    at
    weblogic.apache.xalan.xpath.XSLTJavaClassEngine.callFunction(XSLTJava
    ClassEngine.java:668)
    at
    weblogic.apache.xalan.xpath.ExtensionFunctionHandler.callFunction(Ext
    ensionFunctionHandler.java:282)
    at
    weblogic.apache.xalan.xpath.xml.XMLParserLiaisonDefault.extFunction(X
    My XSL file contains Java extension to call a Java program where it needs to
    call Element.getElementsByTagName() method,
    which causes the DTMException.
    I am using WebLogic 6.0sp2 on NT. Do I need to configure the default XSLT
    parser when running
    the processor from a Java program? Is it possible to get info. about the
    XSLT JSP tags are executing
    the XSLT processor?
    Thanks,
    Hien

    Hi,
    I got two different behaviors when trying to the XSLT processor:
    1) When running the XSLT processor using the XSLT JSP tag, everything works
    fine.
    2) When running the XSLT process from a Java program, got the following
    error:
    weblogic.apache.xalan.xpath.dtm.DTMException:
    at
    weblogic.apache.xalan.xpath.dtm.DTMProxy.getChildNodes(DTMProxy.java:
    255)
    at com.agilesoft.common.BOMRollUp.getRollupPrice(BOMRollUp.java:42)
    at java.lang.reflect.Method.invoke(Native Method)
    at
    weblogic.apache.xalan.xpath.XSLTJavaClassEngine.callJava(XSLTJavaClas
    sEngine.java:397)
    at
    weblogic.apache.xalan.xpath.XSLTJavaClassEngine.callFunction(XSLTJava
    ClassEngine.java:668)
    at
    weblogic.apache.xalan.xpath.ExtensionFunctionHandler.callFunction(Ext
    ensionFunctionHandler.java:282)
    at
    weblogic.apache.xalan.xpath.xml.XMLParserLiaisonDefault.extFunction(X
    My XSL file contains Java extension to call a Java program where it needs to
    call Element.getElementsByTagName() method,
    which causes the DTMException.
    I am using WebLogic 6.0sp2 on NT. Do I need to configure the default XSLT
    parser when running
    the processor from a Java program? Is it possible to get info. about the
    XSLT JSP tags are executing
    the XSLT processor?
    Thanks,
    Hien

  • Where can I find xmlx.tld

    Where can I find xmlx.tld. Documentation says it coan be found in xmlx-tags.jar. But I can only find taglib.tld in there. Any help would be appreciated
    Thanks
    sl

    For a XSLT JSP Tag include a <taglib> tag in the web.xml file
    <taglib>
    <taglib-uri>taglib.tld</taglib-uri>
    <taglib-location>/WEB-INF/lib/xmlx-tags.jar</taglib-location>
    </taglib>
    sl wrote:
    Where can I find xmlx.tld. Documentation says it coan be found in xmlx-tags.jar. But I can only find taglib.tld in there. Any help would be appreciated
    Thanks
    sl

  • Question about JSP, XSLT and JDOM

    hi, folks. Let's say within page1.jsp, i have <jsp:include page="page2.jsp" flush="true"> On the other hand, i have a servlet helper class which queries the database, then converts the ResultSet object into a JDOM Document object. My question is i want to make the transformed output of the JDOM Document and XSLT template to be a partial content of the page2.jsp page. How can i get this done properly? I have no problem of doing the transformation, but just dont know how to concatenate the output with the rest content of page2.jsp. Hope i clearly explained the question. Any advice is greatly appreciated.
    //code fragment on page2.jsp
    <td valign="top" width="788">
        <font size="3"><br>  
            <p>
           //i want put the transformed results here
           </p>
         </font>
    </td>

    this is a fragment of my testing program, which transform direct to response output stream. but i dont want put this bounch of java code within page2.jsp. do i some other way around to get it done?
    Document myDocument = createDocument();
                   TransformerFactory tFactory = TransformerFactory.newInstance();
                // Make the input sources for the XML and XSLT documents
                org.jdom.output.DOMOutputter outputter = new org.jdom.output.DOMOutputter();
                org.w3c.dom.Document domDocument = outputter.output(myDocument);
                javax.xml.transform.Source xmlSource = new javax.xml.transform.dom.DOMSource(domDocument);
                StreamSource xsltSource = new StreamSource(new FileInputStream("d:/tomcat/webapps/project/car.xsl"));
            //Make the output result for the finished document
                StreamResult xmlResult = new StreamResult(response.getOutputStream());
                //StreamResult xmlResult = new StreamResult(System.out);
            //Get a XSLT transformer
            Transformer transformer = tFactory.newTransformer(xsltSource);
            //do the transform
                transformer.transform(xmlSource, xmlResult);

  • XML transformation using XSLT in JSP page

    Hi,
    Please help, I'm getting this error when I try to render my xml file using an xsl style sheet in my JSP page. Am I missing a JAR? Thanks
    Error 500: org/apache/xalan/xslt/XSLTInputSource
    Here's xsl file
    <?xml version="1.0" encoding="ISO-8859-1"?>
    <xsl:stylesheet version="1.0"
    xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
    <xsl:output method='html' version='1.0' encoding='UTF-8' indent='yes'/>
    <xsl:template match="/">
      <html>
      <body>
      <h2>My CD Collection</h2>
        <table border="1">
          <tr>
            <th align="left">Title</th>
            <th align="left">Artist</th>
          </tr>
          <xsl:for-each select="catalog/cd">
          <tr>
            <td><xsl:value-of select="title"/></td>
            <td><xsl:value-of select="artist"/></td>
          </tr>
          </xsl:for-each>
        </table>
      </body>
      </html>
    </xsl:template>
    </xsl:stylesheet>
    And here's my JSP page
    <%@taglib uri="http://jakarta.apache.org/taglibs/xsl-1.0" prefix="xsl"%>
    <html>
    <head><title>Phone Book</title></head>
    <body>
    <xsl:apply xml="/xml/book.xml" xsl="/xml/book.xsl" />
    </body>
    </html>
    And here's my xml file
    <?xml version="1.0" encoding="ISO-8859-1"?>
    <!-- Edited with XML Spy v4.2 -->
    <catalog>
         <cd>
              <title>Empire Burlesque</title>
              <artist>Bob Dylan</artist>
              <country>USA</country>
              <company>Columbia</company>
              <price>10.90</price>
              <year>1985</year>
         </cd>
         <cd>
              <title>Hide your heart</title>
              <artist>Bonnie Tyler</artist>
              <country>UK</country>
              <company>CBS Records</company>
              <price>9.90</price>
              <year>1988</year>
         </cd>
    </catalog>

    i would think the browser should be able do the transformation itself, rather than having to do this transformation on the server.
    If you want to do this on the server, you can always try adding xalan.jar, xml-apis.jar and xercesImpl.jar to your server's lib directory, downloaded from
    apache.org

  • How to pass parameters to an XSL for use in a transform (JSP/XSLT)?

    I have an XSL: style.xsl
    I have an XML: data.xml
    I want to do an XSL Transform on data.xml, using style.xsl, with parameter
    Language=en
    With Saxon you would do:
    saxon data.xml style.xsl Language=en
    But how would I do this with WL6.x, using the JSP XSLT tag:
    <x:xslt [xml="uri of XML file"]
    [media="media type to determine stylesheet"]
    [stylesheet="uri of stylesheet"]
    <x:xml>In-line XML goes here
    </x:xml>
    <x:stylesheet [media="media type to determine stylesheet"]
    [uri="uri of stylesheet"]
    </x:stylesheet>
    </x:xslt>
    Thanks
    Alain Jacquot

    There is currently no way to do this from the jsp xslt tag. I have filed an
    issue because this is available in the JAXP 1.1 API. If you need this
    functionality in the current version you will need to use the JAXP API
    directly.
    Sam
    "Alain Jacquot" <[email protected]> wrote in message
    news:3b368016$[email protected]..
    I have an XSL: style.xsl
    I have an XML: data.xml
    I want to do an XSL Transform on data.xml, using style.xsl, with parameter
    Language=en
    With Saxon you would do:
    saxon data.xml style.xsl Language=en
    But how would I do this with WL6.x, using the JSP XSLT tag:
    <x:xslt [xml="uri of XML file"]
    [media="media type to determine stylesheet"]
    [stylesheet="uri of stylesheet"]
    <x:xml>In-line XML goes here
    </x:xml>
    <x:stylesheet [media="media type to determine stylesheet"]
    [uri="uri of stylesheet"]
    </x:stylesheet>
    </x:xslt>
    Thanks
    Alain Jacquot

  • Passing parameters from jsp to xslt

    Hi all,
    I am trying to pass a variable string from a jsp to xslt .
    This is the code in the jsp which passes the variables .
    <c:set var="xsl">
    <?xml version="1.0"?>
    <xsl:stylesheet version="1.0"
    xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
    <xsl:import href="<%= "service_attribute.xsl" %>"/>
    <xsl:variable name="ItemId"><%= ItemId %></xsl:variable>
    <xsl:variable name="pos"><%= pos %></xsl:variable>
    <xsl:variable name="lineInfoTn"><%= lineInfoTn %></xsl:variable>
    </xsl:stylesheet>
    </c:set>
    <x:transform xmlSystemId="foo.xml" xslt="${xsl}">
    <%= FM.getOrderBean().getXml("ActivationRequest") %>
    </x:transform>
    In the service_attribute.xsl I would like to be able to check the lineInfoTn variable for content .
    something like this .
    <xsl:if test="$lineInfoTn='10pt'">
    <!-- Do something -->
    <xsl:value-of select="$lineInfoTn"/>
    </xsl:if>
    The first problem is that it complains that the $lineInfoTn is not declared .
    So I added the variable as a global variable .
    <xsl:param name="lineInfoTn">10pt</xsl:param>
    Note I have been switching between variables and parameters to try and get this working .
    I can use the itemId variable like this and I dont have a problem .
    <xsl:for-each select="q:RequestItem/q:ItemId[text() = $ItemId]/..">
    Any ideas on how to get this working .
    Thanks for your help

    Thanks for the input

  • JSP   vs.    XML/XSLT

    Hi all!
    I'm in a bit of a dilema. As the least knowledgable member of our small development group (3 people incl. me) I'm caught in the middle of a pretty fierce debate over whether or not to we should implement JSP.
    Currently to seperate business logic from presentation we have our servlets pass XML to the browser and then the browser renders the HTML using the appropriate .xsl (sometimes we use server-side transformation).
    Now one of the guys wants to use MVC/Struts and JSPs in order to create a much needed UI for an application. The plan is to not put any Java code in the JSP (seperation of logic and presentation - good, business logic in both the JSP and Servlet - bad.) but the other guy is still vehemently against it.
    He says that anything JSP can do we can already do with XML/XSLT and to add JSP to our environment would complicate things.
    And while I agree with him there, there are some things that when you do them with JSPs make the code more readable and transparent.
    If you had to take a side, which one would you choose?
    Has anyone else out there already gone through this debate? I'd be interested in knowing the outcome.
    Thanks,
    John

    I have a couple of comments.
    1> "XML to the browser and then the browser renders the HTML using the appropriate .xsl"
    I all cases you should do the transformations on the server. Lot of browser do not know how to
    do a xsl transform. And since you can do it some time why not do it not everytime?
    2> "business logic in both the JSP and Servlet"
    Business logic should neither be in servlets nor in jsp. I think they should be in business logic beans.
    3> "anything JSP can do we can already do with XML/XSLT "
    Although anything can be done using xml/xsl or jsp there are a bit of differences where struts-jsp architecture is more perferable.
    Imaging a web site which has lots of online forms(with textfiedls, checkboxes, select lists, etc) which are to be validated and if some validation fails the same form is to be shown with the values already submitted prefilled. Doing this with xml/xsl or even simple jsp could be a nightmare.
    But if you use struts MVC architecture with jsp and struts taglib this will be very very simple.
    Introducing struts-jsp will not complicate things and if the scnario described above is there or could arise in your application then you should seriously think about using struts+jsp. That does not mean you will have to scrap you xml+xsl architecture. You can still generate the xml using your action bean , put the xml in request and forward it to you jsp for rendetion. The jsp page could then use a taglib which has the xsl transformation code to do the xslt transformation.
    The above comments are not just my thoughts but i have also implemented/experienced the above during various projects and they have proved to be useful.
    Cheers!

  • JSP XML file parsing XSLT using Xalan

    Hi all
    I have created an XML file "view_campaign.xml" using JSP as shown in a code below and i wanna know how i should proceed to parse the XML file and so i can display this XML as the XSLT file i created.
    <%@ page import="java.sql.*" %>
    <%@ page import="java.io.*" %>
    <%
    // Identify a carriage return character for each output line
    int iLf = 10;
    char cLf = (char)iLf;
    // Create a new empty binary file, which will content XML output
    File outputFile = new File("C:\\WebContent\\view_campaigns.xml");
    //outputFile.createNewFile();
    FileWriter outfile = new FileWriter(outputFile);
    // the header for XML file
    outfile.write("<?xml version='1.0' encoding='ISO-8859-1'?>"+cLf);
    try {
         // Define connection string and make a connection to database
         //DriverManager.registerDriver (new org.apache.derby.jdbc.ClientDriver());
         Connection conn = DriverManager.getConnection("jdbc:derby://localhost:1527/sample","app","app");
         Statement stat = conn.createStatement();
         // Create a recordset
         ResultSet rset = stat.executeQuery("Select * From campagn");
         // Expecting at least one record
         if( !rset.next() ) {
              throw new IllegalArgumentException("No data found for the campaigns table");
         outfile.write("<campaigns>"+cLf);
         outfile.write("<campaign>"+cLf);
         outfile.write("<campaign_id>" + rset.getString("campagn_id") +"</campaign_id>"+cLf);
         outfile.write("<campaign_name>" + rset.getString("campagn_name") +"</campaign_name>"+cLf);
         outfile.write("<campaign_type>" + rset.getString("campagn_type") +"</campaign_type>"+cLf);
         outfile.write("<client>" + rset.getString("client_name") +"</client>"+cLf);
         outfile.write("<positions>" + rset.getString("positions_nbr") +"</positions>"+cLf);
         outfile.write("<begin>" + rset.getString("campagn_beginning_date") +"</begin>"+cLf);
         outfile.write("<close>" + rset.getString("campagn_ending_date") +"</close>"+cLf);
         outfile.write("</campaign>"+cLf);
         // Parse our recordset
    // Parse our recordset
         while(rset.next()) {
              outfile.write("<campaign>"+cLf);
              outfile.write("<campaign_id>" + rset.getString("campagn_id") +"</campaign_id>"+cLf);
              outfile.write("<campaign_name>" + rset.getString("campagn_name") +"</campaign_name>"+cLf);
              outfile.write("<campaign_type>" + rset.getString("campagn_type") +"</campaign_type>"+cLf);
              outfile.write("<client>" + rset.getString("client_name") +"</client>"+cLf);
              outfile.write("<positions>" + rset.getString("positions_nbr") +"</positions>"+cLf);
              outfile.write("<begin>" + rset.getString("campagn_beginning_date") +"</begin>"+cLf);
              outfile.write("<close>" + rset.getString("campagn_ending_date") +"</close>"+cLf);
              outfile.write("</campaign>"+cLf);
         outfile.write("</campaigns>"+cLf);
         // Everything must be closed
         rset.close();
         stat.close();
         conn.close();
         outfile.close();
    catch( Exception er ) {
    %>////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
    this is my .XSL file
    <?xml version="1.0" encoding="iso-8859-1" ?>
    - <!--  DWXMLSource="view_campaigns.xml"
      -->
      <!DOCTYPE xsl:stylesheet (View Source for full doctype...)>
    - <xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
      <xsl:output method="html" encoding="iso-8859-1" doctype-public="-//W3C//DTD XHTML 1.0 Transitional//EN" doctype-system="http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd" />
    - <xsl:template match="/">
    - <html xmlns="http://www.w3.org/1999/xhtml">
    - <head>
      <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
      <title>Gestion des campagnes</title>
      </head>
    - <body>
      Gestion des campagnes
    - <table border="1">
    - <tr bgcolor="#9acd32">
      <th align="left">Code</th>
      <th align="left">Nom</th>
      <th align="left">Type</th>
      <th align="left">Client</th>
      <th align="left">Nombre de positions</th>
      <th align="left">Date d'ouverture</th>
      <th align="left">Date de cl�ture</th>
      </tr>
    - <xsl:for-each select="campaigns/campaign">
    - <tr>
    - <td>
      <xsl:value-of select="campaign_id" />
      </td>
    - <td>
      <xsl:value-of select="campaign_name" />
      </td>
    - <td>
      <xsl:value-of select="campaign_type" />
      </td>
    - <td>
      <xsl:value-of select="client" />
      </td>
    - <td>
      <xsl:value-of select="positions" />
      </td>
    - <td>
      <xsl:value-of select="begin" />
      </td>
    - <td>
      <xsl:value-of select="close" />
      </td>
      </tr>
      </xsl:for-each>
      </table>
      </body>
      </html>
      </xsl:template>
      </xsl:stylesheet>I would be greatful that u answer my question what i should do have any exemple case study.

    Hi,
    Try this code
    JspWriter out = pageContext.getOut(); // Get JSP output writter
          javax.xml.transform.TransformerFactory tFactory = javax.xml.transform.TransformerFactory.newInstance(); //Instantiate a TransformerFactory.           
          String realPath = "c:/applyXsl.xsl";
          java.io.File file = new java.io.File(realPath); // crearte a file object for given XSL.
          // Use the TransformerFactory to process the stylesheet Source and  generate a Transformer.           
          javax.xml.transform.Transformer transformer = tFactory.newTransformer(new javax.xml.transform.stream.StreamSource(file));
          java.io.StringReader inputStream = new java.io.StringReader("c:/xmlFile.xml"); // create an input stream for given XML doc
          java.io.ByteArrayOutputStream obj = new java.io.ByteArrayOutputStream(); // Create an output stream for XSL applied XML doc.
          // 3. Use the Transformer to transform an XML Source and send the output to a Result object.
          transformer.transform(new javax.xml.transform.stream.StreamSource(inputStream), new javax.xml.transform.stream.StreamResult(obj));
          String outputString = obj.toString(); // get the XSL applied applied XML document for print
          out.println(outputString); // print the XSL applied XML in to JSP.
    however you need xercesImpl.jar  and xml-apis.jar files  to run this program.
    Regards,
    Ananth.P

  • Jsp xml and xslt architecture

    I am thinking of using xslt to generate html in jsps.
    Can somebody point me to some good examples on how to architecture such a server side system. On best practices and so...
    Thanks
    -S

    here is an example that you can use
    I did put all of it in a bean, this is just for testing xsl
    <%@ page
    import="javax.xml.parsers.*,
    org.w3c.dom.*,
    javax.xml.transform.*,
    javax.xml.transform.stream.*,
    java.io.*"%>
    <%
         StreamSource xml = new StreamSource(new File("c:/xml/file.xml"));
         StreamSource xsl = new StreamSource(new File("c:/xml/file.xsl"));
         StreamResult result = new StreamResult(out);
         TransformerFactory tFactory = TransformerFactory.newInstance();
         Transformer transformer = tFactory.newTransformer(xsl);
         transformer.transform(xml, result);
    %>

  • Web Based Messageboard (JSP, XML, XSLT) - Just Looking For Advice Please!

    I have a general question - I am not looking for any code, just some advice if possible. I am studying on a Masters course and I have been given an assignment to do which I am having difficult getting started. I have worked a lot with Java up until now, however this is the first time I have had to JSP on my course.
    My current assignment is that I am required to create a simple web based message board, using JSP and XML, which allows users to post messages to the board, and also to reply to messages. The content of the message board is stored in an XML file, and there is no database involved. The message data needs to be formatted for viewing in a browser using XSL transformations.
    I am stuck as to how to go about starting the project, and this is all I am asking for advice in. I have created the basic XML file which has some preliminary data stored within it, and I have created an XSL stylesheet to transform this data, however I am stuck with the JSP. Do I need to create a seperate JSP page for each page of the website? How does this link in with the XSLT?
    I would welcome and really appreciate any advice, but I stress that I am not looking for anyone to give me any code or anything like that.
    Thanks.

    You can use XSLT to convert XML to HTML. Then include this HTML in your JSP. Further on you've a plain HTML form with an input field for a message which you submit to a servlet. In the servlet validate/convert/whatever this message and add it to the XML file and then forward/redirect the request back to the JSP.

  • JSP, XML, XSLT: applying XSL on JSP-generated XML doc

    Hello,
    I am currently trying to figure out how to do the following:
    let's consider (that's not entirely hypothetical :) ) a web application working with JSP (on apache/tomcat 3.1) and oracle BC4J Application modules.
    The JSPs call oracle webbeans to perform updates and retrieve data from an 8.1.6 database.
    Now I'm thinking of moving to a combination of JSP, XML and XSL, which (hopefully) would allow to customize the application depending on the user's browser, language etc...(that's the point isn't it?)
    It doesn't seem to be a problem to produce XML from a jsp, send it directly to the client browser, which in turn goes to look for the proper XSL file and does all the transformation stuff.
    However this only works with I.E 5 for the moment right? and most website need to support various kinds of browsers...
    The need is:
    * When a non XML-capable browser is detected, apply the proper XSL(s) on the server side before sending the result back, in html/wml/whatever...
    * For XML-capable browsers, produce raw XML, maybe apply some XSL(s), and eventually send the result to the browser which handles the rest of the XSL stuff itself.
    Therefore, I'd like to:
    - Have the jsp produce the raw xml data (maybe adding extra tags, to indicate the browser and/or the language that the jsp engine has detected).
    - Pass the output to a first XSLT engine which would take care of the language stuff
    - Feed the result into a second XSLT engine to handle browser specificities for instance...
    - Send the final output to the client browser.
    Now, there are 2 problems:
    * 1/ I have seen various engines capable of chaining XSL transforms, and it is easy to produce XML from a jsp, but I don't know how to feed a jsp's output into an XML engine. is that possible? how?
    * 2/ I'm a bit concerned about the cost of applying three (or more) process stages, does anyone have insight on the performance issues this could raise?
    bonus question ;) : is there a simpler approach?
    Thanks a lot in advance, Remi
    null

    Hello,
    I am currently trying to figure out how to do the following:
    let's consider (that's not entirely hypothetical :) ) a web application working with JSP (on apache/tomcat 3.1) and oracle BC4J Application modules.
    The JSPs call oracle webbeans to perform updates and retrieve data from an 8.1.6 database.
    Now I'm thinking of moving to a combination of JSP, XML and XSL, which (hopefully) would allow to customize the application depending on the user's browser, language etc...(that's the point isn't it?)
    It doesn't seem to be a problem to produce XML from a jsp, send it directly to the client browser, which in turn goes to look for the proper XSL file and does all the transformation stuff.
    However this only works with I.E 5 for the moment right? and most website need to support various kinds of browsers...
    The need is:
    * When a non XML-capable browser is detected, apply the proper XSL(s) on the server side before sending the result back, in html/wml/whatever...
    * For XML-capable browsers, produce raw XML, maybe apply some XSL(s), and eventually send the result to the browser which handles the rest of the XSL stuff itself.
    Therefore, I'd like to:
    - Have the jsp produce the raw xml data (maybe adding extra tags, to indicate the browser and/or the language that the jsp engine has detected).
    - Pass the output to a first XSLT engine which would take care of the language stuff
    - Feed the result into a second XSLT engine to handle browser specificities for instance...
    - Send the final output to the client browser.
    Now, there are 2 problems:
    * 1/ I have seen various engines capable of chaining XSL transforms, and it is easy to produce XML from a jsp, but I don't know how to feed a jsp's output into an XML engine. is that possible? how?
    * 2/ I'm a bit concerned about the cost of applying three (or more) process stages, does anyone have insight on the performance issues this could raise?
    bonus question ;) : is there a simpler approach?
    Thanks a lot in advance, Remi
    null

  • Help,about jsp+xml+xslt

    if I write like this:
    <?xml version="1.0" encoding="GB2312"?>
    <%@ page contentType="text/html;charset=GB2312"%>
    <?xml-stylesheet type="text/xsl" href="xslt/test.xslt"?>
    <news>
    <word>
    link
    </word>
    <link>
    abc.jsp
    </link>
    </news>
    the test.xslt can convert the xml to html
    but I write like this:
    <?xml version="1.0" encoding="GB2312"?>
    <%@ page contentType="text/html;charset=GB2312"%>
    <?xml-stylesheet type="text/xsl" href="xslt/href.xslt"?>
    <%
    out.println("<news><word>link</word><link>abc.jsp</link></news>");
    %>
    the test.xslt would not work,why????

    first the xslt is in a .xsl file
    second I'm pretty sure you can't put java in an xsl file.

Maybe you are looking for

  • How do I find music and movies that didn't copy over after restoring Ipod?

    I restored my ipod and all of my movies and music didn't copy back over. (Most did.) How do I find the ones that didn't?  When I check Itunes it showed them in the cloud before and now they are not even showing up in Itunes.  What are we doing wrong?

  • [SOLVED] sed not accepting a long string (Bash)

    I would like to use the following commands to read a text from file into variable and then append the text to a certain place inside another text. I am using includeRules as "anchor" that will be overwritten to indicate the place for the text. test=`

  • What is downloading in the background?

    the available capacity of my hard disk is constantly decreasing- i can tell from the info window of my hd, but i am not aware of any downloads happening, all p2p apps are closed, messages are not incoming etc....what could be downloading and how do i

  • Making CS2 recognize a changed startup images folder

    Hi there, I'm trying to make Photoshop CS2 recognize externally from VB/VBA a change the folder that a user saves a newly created (in this case, scanned) document to. (e.g., this is the folder that appears when you click File -> Open or File -> Save

  • ALTER TABLESPACE "USERS" OFFLINE NORMAL; takes a checkpoint

    I have an Oracle 10g database. I am trying to go back to a state when I created a physical copy of datafiles in the USERS tablespace. I use the procedure described in http://www.stanford.edu/dept/itss/docs/oracle/10g/server.101/b10734/osrecov.htm#100