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