You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@xalan.apache.org by bu...@apache.org on 2001/05/16 17:08:44 UTC

[Bug 1776] New - Informative error message needed for bad XSL

http://nagoya.apache.org/bugzilla/show_bug.cgi?id=1776

*** shadow/1776	Wed May 16 08:08:44 2001
--- shadow/1776.tmp.9427	Wed May 16 08:08:44 2001
***************
*** 0 ****
--- 1,107 ----
+ +============================================================================+
+ | Informative error message needed for bad XSL                               |
+ +----------------------------------------------------------------------------+
+ |        Bug #: 1776                        Product: XalanJ2                 |
+ |       Status: NEW                         Version: 2.0.1                   |
+ |   Resolution:                            Platform: All                     |
+ |     Severity: Normal                   OS/Version: Other                   |
+ |     Priority:                           Component: org.apache.xalan.templa |
+ +----------------------------------------------------------------------------+
+ |  Assigned To: xalan-dev@xml.apache.org                                     |
+ |  Reported By: pwinder@arbortext.com                                        |
+ |      CC list: Cc:                                                          |
+ +----------------------------------------------------------------------------+
+ |          URL:                                                              |
+ +============================================================================+
+ |                              DESCRIPTION                                   |
+ I spent several hours trying to track down why a machine-generated stylesheet 
+ would not compile successfully on Xalan.  Finally someone suggested I try XT on 
+ it, and I had the answer in 5 minutes.
+ 
+ 
+ The problem in the stylesheet was this:
+ 
+ 
+    [396:]     <xsl:template match="table|">
+                         ....
+ 
+ 
+ On XT, the result was:
+ 
+ 
+   x.xsl:396:  expected node test
+ 
+ 
+ On Xalan, the result was
+ 
+ 
+   XSLT Error (javax.xml.transform.TransformerConfigurationException):   null
+ 
+ I'm guessing that the call to insertPatternInTable() (see stack dump below) was 
+ at line 146 in TemplateList.java.
+ A check here for a null StepPattern in the return from 
+ [UnionPattern].getPatterns() would reveal the problem,
+ and an error return from there could produce a more informative error messeage 
+ higher up.
+ 
+ Xalan's  stack dump was:
+ 
+ 
+ javax.xml.transform.TransformerConfigurationException
+         at java.lang.Throwable.fillInStackTrace(Native Method)
+         at java.lang.Throwable.fillInStackTrace(Compiled Code)
+         at java.lang.Throwable.<init>(Compiled Code)
+         at java.lang.Exception.<init>(Exception.java:42)
+         at javax.xml.transform.TransformerException.<init>
+ (TransformerException.java:185)
+         at javax.xml.transform.TransformerConfigurationException.<init>
+ (TransformerConfigurationException.java:93)
+         at org.apache.xalan.processor.TransformerFactoryImpl.newTemplates
+ (TransformerFactoryImpl.java:856)
+         at org.apache.xalan.xslt.Process.main(Compiled Code)
+ ---------
+ javax.xml.transform.TransformerException
+         at java.lang.Throwable.fillInStackTrace(Native Method)
+         at java.lang.Throwable.fillInStackTrace(Compiled Code)
+         at java.lang.Throwable.<init>(Compiled Code)
+         at java.lang.Exception.<init>(Exception.java:42)
+         at javax.xml.transform.TransformerException.<init>
+ (TransformerException.java:185)
+         at org.apache.xalan.processor.TransformerFactoryImpl.newTemplates
+ (TransformerFactoryImpl.java:852)
+         at org.apache.xalan.xslt.Process.main(Compiled Code)
+ ---------
+ java.lang.NullPointerException
+         at java.lang.Throwable.fillInStackTrace(Native Method)
+         at java.lang.Throwable.fillInStackTrace(Compiled Code)
+         at java.lang.Throwable.<init>(Compiled Code)
+         at java.lang.Exception.<init>(Compiled Code)
+         at org.xml.sax.SAXException.<init>(SAXException.java:61)
+         at org.apache.xerces.framework.XMLParser.parse(XMLParser.java:969)
+         at org.apache.xalan.processor.TransformerFactoryImpl.newTemplates
+ (TransformerFactoryImpl.java:844)
+         at org.apache.xalan.xslt.Process.main(Compiled Code)
+ ---------
+ java.lang.NullPointerException
+         at org.apache.xpath.patterns.StepPattern.getTargetString(Compiled Code)
+         at org.apache.xalan.templates.TemplateList.insertPatternInTable
+ (Compiled Code)
+         at org.apache.xalan.templates.TemplateList.setTemplate(Compiled Code)
+         at org.apache.xalan.templates.StylesheetRoot.recomposeTemplates
+ (Compiled Code)
+         at org.apache.xalan.templates.ElemTemplate.recompose(Compiled Code)
+         at org.apache.xalan.templates.StylesheetRoot.recompose(Compiled Code)
+         at org.apache.xalan.processor.StylesheetHandler.endDocument
+ (StylesheetHandler.java:496)
+         at org.apache.xerces.parsers.SAXParser.endDocument(SAXParser.java:1230)
+         at org.apache.xerces.validators.common.XMLValidator.callEndDocument
+ (XMLValidator.java:848)
+         at 
+ org.apache.xerces.framework.XMLDocumentScanner$EndOfInputDispatcher.dispatch
+ (XMLDocumentScanner.java:1551)
+         at org.apache.xerces.framework.XMLDocumentScanner.parseSome(Compiled 
+ Code)
+         at org.apache.xerces.framework.XMLParser.parse(XMLParser.java:952)
+         at org.apache.xalan.processor.TransformerFactoryImpl.newTemplates
+ (TransformerFactoryImpl.java:844)
+         at org.apache.xalan.xslt.Process.main(Compiled Code)