DO NOT REPLY TO THIS EMAIL, BUT PLEASE POST YOUR BUG RELATED COMMENTS THROUGH THE WEB INTERFACE AVAILABLE AT <http://nagoya.apache.org/bugzilla/show_bug.cgi?id=3929>. ANY REPLY MADE TO THIS MESSAGE WILL NOT BE COLLECTED AND INSERTED IN THE BUG DATABASE.
http://nagoya.apache.org/bugzilla/show_bug.cgi?id=3929 java.lang.StringIndexOutOfBoundsException if there is single quotation mark in the end of the XPath expression Summary: java.lang.StringIndexOutOfBoundsException if there is single quotation mark in the end of the XPath expression Product: XalanJ2 Version: 2.0.0 Platform: All OS/Version: All Status: NEW Severity: Normal Priority: Other Component: org.apache.xpath AssignedTo: [EMAIL PROTECTED] ReportedBy: [EMAIL PROTECTED] Although the syntax is incorrect, the XPath parser should catch this error and report it, instead of failing with exception being thrown. Example: <xsl:when test="$id=$top-picturemessages-id'"/> produces the following stack dump: javax.xml.transform.TransformerConfigurationException: String index out of range: 29 at org.apache.xalan.processor.TransformerFactoryImpl.newTemplates (TransformerFactoryImpl.java:876) at org.apache.xalan.xslt.Process.main(Process.java:556) --------- javax.xml.transform.TransformerException: String index out of range: 29 at org.apache.xalan.processor.TransformerFactoryImpl.newTemplates (TransformerFactoryImpl.java:872) at org.apache.xalan.xslt.Process.main(Process.java:556) --------- java.lang.StringIndexOutOfBoundsException: String index out of range: 29 at org.apache.xerces.framework.XMLParser.parse(XMLParser.java:917) at org.apache.xalan.processor.TransformerFactoryImpl.newTemplates (TransformerFactoryImpl.java:864) at org.apache.xalan.xslt.Process.main(Process.java:556) --------- java.lang.StringIndexOutOfBoundsException: String index out of range: 29 at java.lang.String.substring(String.java:1522) 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:823) at org.apache.xerces.framework.XMLDocumentScanner.scanElement (XMLDocumentScanner.java:1852) at org.apache.xerces.framework.XMLDocumentScanner$ContentDispatcher.dispatch (XMLDocumentScanner.java:1233) at org.apache.xerces.framework.XMLDocumentScanner.parseSome (XMLDocumentScanner.java:380) at org.apache.xerces.framework.XMLParser.parse(XMLParser.java:900) at org.apache.xalan.processor.TransformerFactoryImpl.newTemplates (TransformerFactoryImpl.java:864) at org.apache.xalan.xslt.Process.main(Process.java:556) --------- java.lang.StringIndexOutOfBoundsException: String index out of range: 29 at org.apache.xerces.framework.XMLParser.parse(XMLParser.java:917) at org.apache.xalan.processor.TransformerFactoryImpl.newTemplates (TransformerFactoryImpl.java:864) at org.apache.xalan.xslt.Process.main(Process.java:556) --------- java.lang.StringIndexOutOfBoundsException: String index out of range: 29 at java.lang.String.substring(String.java:1522) 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:823) at org.apache.xerces.framework.XMLDocumentScanner.scanElement (XMLDocumentScanner.java:1852) at org.apache.xerces.framework.XMLDocumentScanner$ContentDispatcher.dispatch (XMLDocumentScanner.java:1233) at org.apache.xerces.framework.XMLDocumentScanner.parseSome (XMLDocumentScanner.java:380) at org.apache.xerces.framework.XMLParser.parse(XMLParser.java:900) at org.apache.xalan.processor.TransformerFactoryImpl.newTemplates (TransformerFactoryImpl.java:864) at org.apache.xalan.xslt.Process.main(Process.java:556)
