In another month or so we'll be switching over to a parser-generator
approach (i.e. JavaCUP or JavaCC, YACC for the C++ version), so these bad
diagnostics should go away.

-scott




                                                                                       
                            
                    Jens                                                               
                            
                    Schaefers            To:     [EMAIL PROTECTED]              
                            
                    <schaefers@ad        cc:     (bcc: Scott Boag/CAM/Lotus)           
                            
                    esso.de>             Subject:     Re: Strange error message / 
Xalan-J 2.1.0                    
                                                                                       
                            
                    07/24/01                                                           
                            
                    08:21 AM                                                           
                            
                    Please                                                             
                            
                    respond to                                                         
                            
                    xalan-dev                                                          
                            
                                                                                       
                            
                                                                                       
                            




Hi Scott,

thanks, that was the hint I needed, because I've already limited the
error to one of the xsl templates used.

After that I've tried to verify the transformation with Saxon and the
error message was very explicit and even included the line number in the
xsl file.

It was a very trivial error:

<xsl:when test="@Class='agency' or @Class='agency.instance'">

After @Class='agency I forgot to put the closing ' and the result was
the confusing xalan error message.

Now I know that it's a good approach to verify my stylesheets with Saxon
when Xalan generates strange error messages.

Thanks for your help!

Best regards,

Jens


[EMAIL PROTECTED] wrote:
>
> It's a bad error message for a problem in one of your xpaths.  If you
post
> the XSLT file, I can tell you what is the matter and how to fix it.
>
> -scott
>
>
>                     Jens
>                     Schaefers            To:     [EMAIL PROTECTED]
>                     <schaefers@ad        cc:     (bcc: Scott
Boag/CAM/Lotus)
>                     esso.de>             Subject:     Re: Strange error
message / Xalan-J 2.1.0
>
>                     07/24/01
>                     05:23 AM
>                     Please
>                     respond to
>                     xalan-dev
>
>
>
> Hello Joseph,
>
> I've just tried Xalan 2.2.D7 and it's the same error message. I'm using
> Xalan from the command line with a batch file:
>
> -------------------
> set
> classpath=..\classes\xalan.jar;..\classes\xerces.jar;..
\classes\bsf.jar;..
> \classes\xalanj1compat.jar;
> java org.apache.xalan.xslt.Process  -IN ..\xml\umsetzung.mdl -XSL
> ..\library\html\frame\header_frame.xsl -OUT ..\output\header.html
> -------------------
>
> The output is:
>
> ---------------------
> H:\Leu Smart, Dateiformat\Xsl\test>set
> classpath=..\classes\xalan.jar;..\classes
> \xerces.jar;..\classes\bsf.jar;..\classes\xalanj1compat.jar
>
> H:\Leu Smart, Dateiformat\Xsl\test>java org.apache.xalan.xslt.Process
> -IN ..\xm
> l\umsetzung.mdl -XSL ..\library\html\frame\header_frame.xsl -OUT
> ..\output\heade
> r.html
>
> XSLT Error (javax.xml.transform.TransformerConfigurationException):
> String index
>  out of range: 43
> ---------------------
>
> Here is the dump created with the -edump switch:
>
> javax.xml.transform.TransformerConfigurationException: String index out
> of range: 43
>            at
>
org.apache.xalan.processor.TransformerFactoryImpl.newTemplates(TransformerFactoryImpl.java:876)

>
>            at Process.main(Process.java:558)
> ---------
> javax.xml.transform.TransformerException: String index out of range: 43
>            at
>
org.apache.xalan.processor.TransformerFactoryImpl.newTemplates(TransformerFactoryImpl.java:872)

>
>            at Process.main(Process.java:558)
> ---------
> java.lang.StringIndexOutOfBoundsException: String index out of range: 43
>            at
> org.apache.xerces.framework.XMLParser.parse(XMLParser.java:965)
>            at
>
org.apache.xalan.processor.ProcessorInclude.parse(ProcessorInclude.java:303)

>
>            at
>
org.apache.xalan.processor.ProcessorInclude.startElement(ProcessorInclude.java:189)

>
>            at
>
org.apache.xalan.processor.StylesheetHandler.startElement(StylesheetHandler.java:631)

>
>            at
> org.apache.xerces.parsers.SAXParser.startElement(SAXParser.java:1371)
>            at
>
org.apache.xerces.validators.common.XMLValidator.callStartElement(XMLValidator.java:840)

>
>            at
>
org.apache.xerces.framework.XMLDocumentScanner.scanElement(XMLDocumentScanner.java:1853)

>
>            at
>
org.apache.xerces.framework.XMLDocumentScanner$ContentDispatcher.dispatch(XMLDocumentScanner.java:1234)

>
>            at
>
org.apache.xerces.framework.XMLDocumentScanner.parseSome(XMLDocumentScanner.java:381)

>
>            at
> org.apache.xerces.framework.XMLParser.parse(XMLParser.java:948)
>            at
>
org.apache.xalan.processor.ProcessorInclude.parse(ProcessorInclude.java:303)

>
>            at
>
org.apache.xalan.processor.ProcessorInclude.startElement(ProcessorInclude.java:189)

>
>            at
>
org.apache.xalan.processor.StylesheetHandler.startElement(StylesheetHandler.java:631)

>
>            at
> org.apache.xerces.parsers.SAXParser.startElement(SAXParser.java:1371)
>            at
>
org.apache.xerces.validators.common.XMLValidator.callStartElement(XMLValidator.java:840)

>
>            at
>
org.apache.xerces.framework.XMLDocumentScanner.scanElement(XMLDocumentScanner.java:1853)

>
>            at
>
org.apache.xerces.framework.XMLDocumentScanner$ContentDispatcher.dispatch(XMLDocumentScanner.java:1234)

>
>            at
>
org.apache.xerces.framework.XMLDocumentScanner.parseSome(XMLDocumentScanner.java:381)

>
>            at
> org.apache.xerces.framework.XMLParser.parse(XMLParser.java:948)
>            at
>
org.apache.xalan.processor.TransformerFactoryImpl.newTemplates(TransformerFactoryImpl.java:864)

>
>            at Process.main(Process.java:558)
> ---------
> java.lang.StringIndexOutOfBoundsException: String index out of range: 43
>            at java.lang.String.substring(String.java:1500)
>            at org.apache.xpath.compiler.Lexer.tokenize(Lexer.java:235)
>            at org.apache.xpath.compiler.Lexer.tokenize(Lexer.java:139)
>            at
> org.apache.xpath.compiler.XPathParser.initXPath(XPathParser.java:144)
>            at org.apache.xpath.XPath.<init>(XPath.java:198)
>            at
>
org.apache.xalan.processor.StylesheetHandler.createXPath(StylesheetHandler.java:193)

>
>            at
>
org.apache.xalan.processor.XSLTAttributeDef.processEXPR(XSLTAttributeDef.java:573)

>
>            at
>
org.apache.xalan.processor.XSLTAttributeDef.processValue(XSLTAttributeDef.java:917)

>
>            at
>
org.apache.xalan.processor.XSLTAttributeDef.setAttrValue(XSLTAttributeDef.java:1075)

>
>            at
>
org.apache.xalan.processor.XSLTElementProcessor.setPropertiesFromAttributes(XSLTElementProcessor.java:375)

>
>            at
>
org.apache.xalan.processor.XSLTElementProcessor.setPropertiesFromAttributes(XSLTElementProcessor.java:311)

>
>            at
>
org.apache.xalan.processor.ProcessorTemplateElem.startElement(ProcessorTemplateElem.java:121)

>
>            at
>
org.apache.xalan.processor.StylesheetHandler.startElement(StylesheetHandler.java:631)

>
>            at
> org.apache.xerces.parsers.SAXParser.startElement(SAXParser.java:1371)
>            at
>
org.apache.xerces.validators.common.XMLValidator.callStartElement(XMLValidator.java:840)

>
>            at
>
org.apache.xerces.framework.XMLDocumentScanner.scanElement(XMLDocumentScanner.java:1853)

>
>            at
>
org.apache.xerces.framework.XMLDocumentScanner$ContentDispatcher.dispatch(XMLDocumentScanner.java:1234)

>
>            at
>
org.apache.xerces.framework.XMLDocumentScanner.parseSome(XMLDocumentScanner.java:381)

>
>            at
> org.apache.xerces.framework.XMLParser.parse(XMLParser.java:948)
>            at
>
org.apache.xalan.processor.ProcessorInclude.parse(ProcessorInclude.java:303)

>
>            at
>
org.apache.xalan.processor.ProcessorInclude.startElement(ProcessorInclude.java:189)

>
>            at
>
org.apache.xalan.processor.StylesheetHandler.startElement(StylesheetHandler.java:631)

>
>            at
> org.apache.xerces.parsers.SAXParser.startElement(SAXParser.java:1371)
>            at
>
org.apache.xerces.validators.common.XMLValidator.callStartElement(XMLValidator.java:840)

>
>            at
>
org.apache.xerces.framework.XMLDocumentScanner.scanElement(XMLDocumentScanner.java:1853)

>
>            at
>
org.apache.xerces.framework.XMLDocumentScanner$ContentDispatcher.dispatch(XMLDocumentScanner.java:1234)

>
>            at
>
org.apache.xerces.framework.XMLDocumentScanner.parseSome(XMLDocumentScanner.java:381)

>
>            at
> org.apache.xerces.framework.XMLParser.parse(XMLParser.java:948)
>            at
>
org.apache.xalan.processor.ProcessorInclude.parse(ProcessorInclude.java:303)

>
>            at
>
org.apache.xalan.processor.ProcessorInclude.startElement(ProcessorInclude.java:189)

>
>            at
>
org.apache.xalan.processor.StylesheetHandler.startElement(StylesheetHandler.java:631)

>
>            at
> org.apache.xerces.parsers.SAXParser.startElement(SAXParser.java:1371)
>            at
>
org.apache.xerces.validators.common.XMLValidator.callStartElement(XMLValidator.java:840)

>
>            at
>
org.apache.xerces.framework.XMLDocumentScanner.scanElement(XMLDocumentScanner.java:1853)

>
>            at
>
org.apache.xerces.framework.XMLDocumentScanner$ContentDispatcher.dispatch(XMLDocumentScanner.java:1234)

>
>            at
>
org.apache.xerces.framework.XMLDocumentScanner.parseSome(XMLDocumentScanner.java:381)

>
>            at
> org.apache.xerces.framework.XMLParser.parse(XMLParser.java:948)
>            at
>
org.apache.xalan.processor.TransformerFactoryImpl.newTemplates(TransformerFactoryImpl.java:864)

>
>            at Process.main(Process.java:558)
> ---------
> java.lang.StringIndexOutOfBoundsException: String index out of range: 43
>            at
> org.apache.xerces.framework.XMLParser.parse(XMLParser.java:965)
>            at
>
org.apache.xalan.processor.ProcessorInclude.parse(ProcessorInclude.java:303)

>
>            at
>
org.apache.xalan.processor.ProcessorInclude.startElement(ProcessorInclude.java:189)

>
>            at
>
org.apache.xalan.processor.StylesheetHandler.startElement(StylesheetHandler.java:631)

>
>            at
> org.apache.xerces.parsers.SAXParser.startElement(SAXParser.java:1371)
>            at
>
org.apache.xerces.validators.common.XMLValidator.callStartElement(XMLValidator.java:840)

>
>            at
>
org.apache.xerces.framework.XMLDocumentScanner.scanElement(XMLDocumentScanner.java:1853)

>
>            at
>
org.apache.xerces.framework.XMLDocumentScanner$ContentDispatcher.dispatch(XMLDocumentScanner.java:1234)

>
>            at
>
org.apache.xerces.framework.XMLDocumentScanner.parseSome(XMLDocumentScanner.java:381)

>
>            at
> org.apache.xerces.framework.XMLParser.parse(XMLParser.java:948)
>            at
>
org.apache.xalan.processor.ProcessorInclude.parse(ProcessorInclude.java:303)

>
>            at
>
org.apache.xalan.processor.ProcessorInclude.startElement(ProcessorInclude.java:189)

>
>            at
>
org.apache.xalan.processor.StylesheetHandler.startElement(StylesheetHandler.java:631)

>
>            at
> org.apache.xerces.parsers.SAXParser.startElement(SAXParser.java:1371)
>            at
>
org.apache.xerces.validators.common.XMLValidator.callStartElement(XMLValidator.java:840)

>
>            at
>
org.apache.xerces.framework.XMLDocumentScanner.scanElement(XMLDocumentScanner.java:1853)

>
>            at
>
org.apache.xerces.framework.XMLDocumentScanner$ContentDispatcher.dispatch(XMLDocumentScanner.java:1234)

>
>            at
>
org.apache.xerces.framework.XMLDocumentScanner.parseSome(XMLDocumentScanner.java:381)

>
>            at
> org.apache.xerces.framework.XMLParser.parse(XMLParser.java:948)
>            at
>
org.apache.xalan.processor.TransformerFactoryImpl.newTemplates(TransformerFactoryImpl.java:864)

>
>            at Process.main(Process.java:558)
> ---------
> java.lang.StringIndexOutOfBoundsException: String index out of range: 43
>            at java.lang.String.substring(String.java:1500)
>            at org.apache.xpath.compiler.Lexer.tokenize(Lexer.java:235)
>            at org.apache.xpath.compiler.Lexer.tokenize(Lexer.java:139)
>            at
> org.apache.xpath.compiler.XPathParser.initXPath(XPathParser.java:144)
>            at org.apache.xpath.XPath.<init>(XPath.java:198)
>            at
>
org.apache.xalan.processor.StylesheetHandler.createXPath(StylesheetHandler.java:193)

>
>            at
>
org.apache.xalan.processor.XSLTAttributeDef.processEXPR(XSLTAttributeDef.java:573)

>
>            at
>
org.apache.xalan.processor.XSLTAttributeDef.processValue(XSLTAttributeDef.java:917)

>
>            at
>
org.apache.xalan.processor.XSLTAttributeDef.setAttrValue(XSLTAttributeDef.java:1075)

>
>            at
>
org.apache.xalan.processor.XSLTElementProcessor.setPropertiesFromAttributes(XSLTElementProcessor.java:375)

>
>            at
>
org.apache.xalan.processor.XSLTElementProcessor.setPropertiesFromAttributes(XSLTElementProcessor.java:311)

>
>            at
>
org.apache.xalan.processor.ProcessorTemplateElem.startElement(ProcessorTemplateElem.java:121)

>
>            at
>
org.apache.xalan.processor.StylesheetHandler.startElement(StylesheetHandler.java:631)

>
>            at
> org.apache.xerces.parsers.SAXParser.startElement(SAXParser.java:1371)
>            at
>
org.apache.xerces.validators.common.XMLValidator.callStartElement(XMLValidator.java:840)

>
>            at
>
org.apache.xerces.framework.XMLDocumentScanner.scanElement(XMLDocumentScanner.java:1853)

>
>            at
>
org.apache.xerces.framework.XMLDocumentScanner$ContentDispatcher.dispatch(XMLDocumentScanner.java:1234)

>
>            at
>
org.apache.xerces.framework.XMLDocumentScanner.parseSome(XMLDocumentScanner.java:381)

>
>            at
> org.apache.xerces.framework.XMLParser.parse(XMLParser.java:948)
>            at
>
org.apache.xalan.processor.ProcessorInclude.parse(ProcessorInclude.java:303)

>
>            at
>
org.apache.xalan.processor.ProcessorInclude.startElement(ProcessorInclude.java:189)

>
>            at
>
org.apache.xalan.processor.StylesheetHandler.startElement(StylesheetHandler.java:631)

>
>            at
> org.apache.xerces.parsers.SAXParser.startElement(SAXParser.java:1371)
>            at
>
org.apache.xerces.validators.common.XMLValidator.callStartElement(XMLValidator.java:840)

>
>            at
>
org.apache.xerces.framework.XMLDocumentScanner.scanElement(XMLDocumentScanner.java:1853)

>
>            at
>
org.apache.xerces.framework.XMLDocumentScanner$ContentDispatcher.dispatch(XMLDocumentScanner.java:1234)

>
>            at
>
org.apache.xerces.framework.XMLDocumentScanner.parseSome(XMLDocumentScanner.java:381)

>
>            at
> org.apache.xerces.framework.XMLParser.parse(XMLParser.java:948)
>            at
>
org.apache.xalan.processor.ProcessorInclude.parse(ProcessorInclude.java:303)

>
>            at
>
org.apache.xalan.processor.ProcessorInclude.startElement(ProcessorInclude.java:189)

>
>            at
>
org.apache.xalan.processor.StylesheetHandler.startElement(StylesheetHandler.java:631)

>
>            at
> org.apache.xerces.parsers.SAXParser.startElement(SAXParser.java:1371)
>            at
>
org.apache.xerces.validators.common.XMLValidator.callStartElement(XMLValidator.java:840)

>
>            at
>
org.apache.xerces.framework.XMLDocumentScanner.scanElement(XMLDocumentScanner.java:1853)

>
>            at
>
org.apache.xerces.framework.XMLDocumentScanner$ContentDispatcher.dispatch(XMLDocumentScanner.java:1234)

>
>            at
>
org.apache.xerces.framework.XMLDocumentScanner.parseSome(XMLDocumentScanner.java:381)

>
>            at
> org.apache.xerces.framework.XMLParser.parse(XMLParser.java:948)
>            at
>
org.apache.xalan.processor.TransformerFactoryImpl.newTemplates(TransformerFactoryImpl.java:864)

>
>            at Process.main(Process.java:558)
>
> I hope this is the information you need.
>
> Thanks for your help!
>
> Jens
>
> [EMAIL PROTECTED] wrote:
> >
> > >XSLT Error (javax.xml.transform.TransformerConfigurationException):
> > >String index out of range: 43
> >
> > That really isn't enough information. Please post a complete stack
trace
> > for the exception. so we have a better idea of what failed where and
when
> > doing what.
> >
> > Note that we're currently up to version 2.2.D7, so you might want to
> check
> > whether this problem still happens with the most recent code.




Reply via email to