Solved

JSP xsl/xml Transformer Error

Posted on 2004-09-09
13
355 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
13 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
 

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
Top 6 Sources for Identifying Threat Actor TTPs

Understanding your enemy is essential. These six sources will help you identify the most popular threat actor tactics, techniques, and procedures (TTPs).

 
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

How to run any project with ease

Manage projects of all sizes how you want. Great for personal to-do lists, project milestones, team priorities and launch plans.
- Combine task lists, docs, spreadsheets, and chat in one
- View and edit from mobile/offline
- Cut down on emails

Join & Write a Comment

Suggested Solutions

Preface In the first article: A Better Website Login System (http://www.experts-exchange.com/A_2902.html) I introduced the EE Collaborative Login System and its intended purpose. In this article I will discuss some of the design consideratio…
Introduction Knockoutjs (Knockout) is a JavaScript framework (Model View ViewModel or MVVM framework).   The main ideology behind Knockout is to control from JavaScript how a page looks whilst creating an engaging user experience in the least …
The viewer will learn how to create and use a small PHP class to apply a watermark to an image. This video shows the viewer the setup for the PHP watermark as well as important coding language. Continue to Part 2 to learn the core code used in creat…
The viewer will learn the basics of jQuery, including how to invoke it on a web page. Reference your jQuery libraries: (CODE) Include your new external js/jQuery file: (CODE) Write your first lines of code to setup your site for jQuery.: (CODE)

708 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