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)

Reply via email to