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.