Solved

xml/xsl code not working

Posted on 2004-03-26
11
219 Views
Last Modified: 2011-09-20
Hi, below is a jsp file thats supposed to take an xml file and write it to an xsl file but I dont think its working, am I missing anything?, thanks.

<%@ page import = "java.io.*"%>
<%@ page import = "org.w3c.dom.*"%>
<%@ page import = "org.xml.sax.*"%>
<%@ page import = "javax.xml.parsers.*"%>
<%@ page import = "javax.xml.transform.*"%>
<%@ page import = "javax.xml.transform.dom.*"%>
<%@ page import = "javax.xml.transform.stream.*"%>
   
    <%

        // This method applies the xslFilename to inFilename and writes
        // the output to outFilename.
        String inFilename = "C:\\Documents and Settings\\Adrian Ron\\Start Menu\\Programs\\Apache Tomcat 4.1\\xmlfile.xml";
        String xslFilename = "xsl";
       // Writer out;
       
            try {
                // Create transformer factory
                TransformerFactory factory = TransformerFactory.newInstance();
   
                // Use the factory to create a template containing the xsl file
                Templates template = factory.newTemplates(new StreamSource(
                    new FileInputStream(xslFilename)));
   
                // Use the template to create a transformer
                Transformer xformer = template.newTransformer();
   
                // Prepare the input and output files
                Source source = new StreamSource(new FileInputStream(inFilename));
                Result result = new StreamResult(out);
   
                // Apply the xsl file to the source file and write the result to the output file
                xformer.transform(source, result);
            } catch (FileNotFoundException e) {
            } catch (TransformerConfigurationException e) {
                // An error occurred in the XSL file
            } catch (TransformerException e) {
                // An error occurred while applying the XSL file
                // Get location of error in input file
                SourceLocator locator = e.getLocator();
                int col = locator.getColumnNumber();
                int line = locator.getLineNumber();
                String publicId = locator.getPublicId();
                String systemId = locator.getSystemId();
            }
    %>

0
Comment
Question by:Ronayne
  • 6
  • 5
11 Comments
 
LVL 92

Expert Comment

by:objects
ID: 10691123
what gets displayed?
0
 
LVL 92

Expert Comment

by:objects
ID: 10691135
i'd suggest not ignoring any exceptions so you know if something has gone wrong.

e.printStackTrace();
out.println("Error: "+e);
0
 

Author Comment

by:Ronayne
ID: 10691448

nothing get displayed, just a blank page
0
 

Author Comment

by:Ronayne
ID: 10691476

what I want to do is open the xml document with a stylesheel and display it as an html document.
0
 
LVL 92

Expert Comment

by:objects
ID: 10691531
check those exceptions, i'm guessing one is getting thrown
if so, the exception should give u an indication of what the problem is.

perhaps it's not finding the xsl file.
0
How your wiki can always stay up-to-date

Quip doubles as a “living” wiki and a project management tool that evolves with your organization. As you finish projects in Quip, the work remains, easily accessible to all team members, new and old.
- Increase transparency
- Onboard new hires faster
- Access from mobile/offline

 

Author Comment

by:Ronayne
ID: 10691666

Well I did'nt create an xsl file, could you guide me as to what I need to do so I can open the xml document with a stylesheel and display it as an html document?
0
 

Author Comment

by:Ronayne
ID: 10691778
Im trying to work off thsi tutorial which I think is sufficient for what I want to do.

http://www.xmlscript.org/docs/Tutorial.2.2.html

What do you think?
0
 
LVL 92

Accepted Solution

by:
objects earned 50 total points
ID: 10691885
0
 

Author Comment

by:Ronayne
ID: 10692017
Thanks for that, im working off this: http://www.w3schools.com/xsl/xsl_transformation.asp. The server will be accessing the xml file on the clients computer and transforming it to html on the clients computer. Here is what I came up with. Can I just put the xml style sheet in a tomcat directory, is this line ok: <?xml-stylesheet type="text/xsl" href="localhost:8080\cdcatalog.xsl"?>. Ill increase the points.

//the xml document
<?xml version='1.0' encoding='ISO-8859-1'?>
<?xml-stylesheet type="text/xsl" href="localhost:8080\cdcatalog.xsl"?>
<Table>
<Product>
<Name>xml</Name>
<Type>isa </Type>
<Amount>file</Amount>
</Product>
</Table>

////the style sheet
<?xml version="1.0" encoding="ISO-8859-1"?>

<xsl:stylesheet version="1.0"
xmlns:xsl="http://www.w3.org/1999/XSL/Transform">

<xsl:template match="/">
  <html>
  <body>
    <h2>My XML File</h2>
    <table border="1">
    <tr bgcolor="#9acd32">
      <th align="left">Name</th>
      <th align="left">Type</th>
  <th align="left">Amt</th>
    </tr>
    <xsl:for-each select="Table/Product">
    <tr>
      <td><xsl:value-of select="Name"/></td>
      <td><xsl:value-of select="Title"/></td>
      <td><xsl:value-of select="Amount"/></td>
    </tr>
    </xsl:for-each>
    </table>
  </body>
  </html>
</xsl:template>

</xsl:stylesheet>
0
 

Author Comment

by:Ronayne
ID: 10692160

its ok, that tutorial you posted really helped me, thanks a million
0
 
LVL 92

Expert Comment

by:objects
ID: 10692898
0

Featured Post

6 Surprising Benefits of Threat Intelligence

All sorts of threat intelligence is available on the web. Intelligence you can learn from, and use to anticipate and prepare for future attacks.

Join & Write a Comment

Suggested Solutions

Java contains several comparison operators (e.g., <, <=, >, >=, ==, !=) that allow you to compare primitive values. However, these operators cannot be used to compare the contents of objects. Interface Comparable is used to allow objects of a cl…
Go is an acronym of golang, is a programming language developed Google in 2007. Go is a new language that is mostly in the C family, with significant input from Pascal/Modula/Oberon family. Hence Go arisen as low-level language with fast compilation…
Viewers learn about the third conditional statement “else if” and use it in an example program. Then additional information about conditional statements is provided, covering the topic thoroughly. Viewers learn about the third conditional statement …
The viewer will learn how to implement Singleton Design Pattern in Java.

746 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question

Need Help in Real-Time?

Connect with top rated Experts

11 Experts available now in Live!

Get 1:1 Help Now