?
Solved

JSP xsl/xml Transformer Error

Posted on 2004-09-09
13
Medium Priority
?
374 Views
Last Modified: 2013-11-19
<%  
Hello all,

This JSP was working fine for weeks, now all of sudden this code is nto working. This is the Error:
*******
javax.xml.transform.TransformerException: The element type "input" must be terminated by the matching end-tag "</input>".  ********
When I'm seeing XML output without stylesheet its showing fine. But when I try this transform its not working. my XSL is still same which worked all this weekssss I checked my xsl its fine no error.


My JSP code:

<%@ page import="javax.xml.transform.*, javax.xml.transform.stream.*, java.net.*, java.io.*, org.apache.xpath.*, org.apache.xpath.objects.XObject,org.w3c.dom.*, com.mid.mm.servlet.*"%>

try {    
   StringBuffer reqURL = request.getRequestURL();
   String contextURL = reqURL.substring(0,reqURL.lastIndexOf(request.getServletPath()));    
   URL url = new URL(contextURL + "/resource/GetResourceHierarchy");        
   HttpURLConnection conn = (HttpURLConnection)url.openConnection();            
   conn.setDoInput(true);                
   TransformerFactory tFactory = TransformerFactory.newInstance();
      ServletContext context = getServletContext();
   InputStream is = context.getResourceAsStream("/stylesheets/LiveResourceTree.xsl");
   Transformer transformer = tFactory.newTransformer(new StreamSource(is) );
   transformer.transform(new StreamSource(conn.getInputStream()), new StreamResult(out));

} catch (Exception ex) {out.println( ex.toString() );}
%>

Any other way to improve my code.

Regards,
H
0
Comment
Question by:princehyderabad
  • 4
  • 3
  • 3
  • +2
12 Comments
 
LVL 2

Expert Comment

by:Paullkha
ID: 12021016
>>JSP xsl/xml Transformer Error
>>50 points
Good luck....you'll need it!
0
 

Author Comment

by:princehyderabad
ID: 12021194
howz that ...
0
 
LVL 11

Expert Comment

by:sompol_kiatkamolchai
ID: 12023257
Could you dump the file that contains <input> tag?
I think there is no matching for this.
0
Independent Software Vendors: We Want Your Opinion

We value your feedback.

Take our survey and automatically be enter to win anyone of the following:
Yeti Cooler, Amazon eGift Card, and Movie eGift Card!

 

Author Comment

by:princehyderabad
ID: 12023523
hi sompol,

I hv no idea where is the <input> tag. I cant see this tag in jps nor in xsl.
Just in JSP i can find only "InputStream"

Thx
Hyd
0
 
LVL 11

Expert Comment

by:sompol_kiatkamolchai
ID: 12023553
Could you paste LiveResourceTree.xsl and this resource?

/resource/GetResourceHierarchy
0
 

Author Comment

by:princehyderabad
ID: 12023636
Right now I 'm at home cant paste you that code. But 1 thing, /resource/GetResourceHierarchy is working fine with not error. I mean when I try on browse without xsl, that GetResourceHierarchy servlet is giving correct xml output. I dont know why all of sudden this is happening, I mean this jsp, xsl stuff was working fine for weekssss...

0
 
LVL 21

Expert Comment

by:MogalManic
ID: 12025040
One way to improve your code is to have better error handling.  JAXP exceptions are notorious for nesting their exceptions and the file/line information can be imbedded inside the stack history.  This is my exception handler for transformations:
      SourceLocator loc = null;
      StringBuffer msg = new StringBuffer();
      msg.append("<li>")
            .append((exception.getMessage() != null)
                  ? exception.getMessage() : exception.getClass().getName())
            .append("</li>");

      while (exception!=null)
      {
            loc=null;
            String locMsg="";
            if (exception instanceof TransformerException) {
                  loc = ((TransformerException) exception).getLocator();
            }
            if (exception instanceof SAXParseException) {
                  loc = new SAXSourceLocator((SAXParseException) exception);
            }
            if (loc != null) {
                  locMsg = ":Error occured at line "+ loc.getLineNumber()
                                    + " and column "
                                    + loc.getColumnNumber()
                                    + " from file "
                                    + loc.getSystemId();
            }
            msg.append("<li>").append(exception.getClass().getName()).append(':')
                  .append(exception.getMessage())
                  .append(locMsg)
                  .append("</li>");
            if (exception.getCause()==null || exception.getCause()==exception)
                  break;
            exception=exception.getCause();
      }
      return msg.toString();
0
 
LVL 21

Expert Comment

by:MogalManic
ID: 12025052
the exception
javax.xml.transform.TransformerException: The element type "input" must be terminated by the matching end-tag "</input>".  
says it all.  The error is in the XSL (not XML).  All of you <input> tags must be well formed XML.  So they must be closed like this:
<input type...name... />
   OR
<input ...></input>
0
 

Author Comment

by:princehyderabad
ID: 12046524
Morning Everyone,
I'm Back from weekend, well guys as I told u earlier my servlet is giving correct output ie (/resource/GetResourceHierarchy) when i tried on browser. But seems like only error with transform. And I'm tellikng you I worked with same stylesheet and it has been working for last weeks and all of sudden last week I gotthis error and today also same error unable to figure out.
javax.xml.transform.TransformerException: The element type "input" must be terminated by the matching end-tag "</input>".
      at org.apache.xalan.transformer.TransformerImpl.fatalError(Unknown Source)
      at org.apache.xalan.transformer.TransformerImpl.transform(Unknown Source)
      at org.apache.xalan.transformer.TransformerImpl.transform(Unknown Source)
      at org.apache.xalan.transformer.TransformerImpl.transform(Unknown Source)

My JSP code is already above. And there is no <input> tag in stylesheet dont know from where it is getting <input> unterminated ?????
0
 
LVL 21

Expert Comment

by:MogalManic
ID: 12051013
Can you post your stylesheet?
0
 
LVL 11

Expert Comment

by:sompol_kiatkamolchai
ID: 12056532
Would it be possible to post stylesheet since I've never seen it before?
0
 

Accepted Solution

by:
ee_ai_construct earned 0 total points
ID: 12414667
Question answered by asker or dialog valuable.
Closed, 300 points refunded.
ee_ai_construct (replacement part #xm34)
Community Support Admin
0

Featured Post

What does it mean to be "Always On"?

Is your cloud always on? With an Always On cloud you won't have to worry about downtime for maintenance or software application code updates, ensuring that your bottom line isn't affected.

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

Most of the sites are being standardized with W3C Web Standards. W3C provides lot of web standard services to the web. They have the web specification, process and documentation for all the web standards. You can apply HTML, CSS and Accessibility st…
JavaScript has plenty of pieces of code people often just copy/paste from somewhere but never quite fully understand. Self-Executing functions are just one good example that I'll try to demystify here.
This tutorial will teach you the core code needed to finalize the addition of a watermark to your image. The viewer will use a small PHP class to learn and create a watermark.
HTML5 has deprecated a few of the older ways of showing media as well as offering up a new way to create games and animations. Audio, video, and canvas are just a few of the adjustments made between XHTML and HTML5. As we learned in our last micr…
Suggested Courses

839 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