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=5242>.
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=5242

ArrayIndexOutOfBounds Exception

           Summary: ArrayIndexOutOfBounds Exception
           Product: XalanJ2
           Version: 2.2.x
          Platform: PC
        OS/Version: Windows NT/2K
            Status: NEW
          Severity: Major
          Priority: Other
         Component: org.apache.xpath
        AssignedTo: [EMAIL PROTECTED]
        ReportedBy: [EMAIL PROTECTED]


I get the following exception using v2.2d13 but NOT with v2.1.0 (the suspect 
template is below, after the stacktrace):

javax.xml.transform.TransformerException: Unknown error in XPath
        at org.apache.xpath.XPath.bool(XPath.java:411)
        at org.apache.xalan.templates.ElemIf.execute(ElemIf.java:198)
        at org.apache.xalan.templates.ElemApplyTemplates.transformSelectedNodes
(ElemApplyTemplates.java:422)
        at org.apache.xalan.templates.ElemApplyTemplates.execute
(ElemApplyTemplates.java:226)
        at org.apache.xalan.templates.ElemApplyTemplates.transformSelectedNodes
(ElemApplyTemplates.java:422)
        at org.apache.xalan.templates.ElemApplyTemplates.execute
(ElemApplyTemplates.java:226)
        at org.apache.xalan.templates.ElemApplyTemplates.transformSelectedNodes
(ElemApplyTemplates.java:422)
        at org.apache.xalan.templates.ElemApplyTemplates.execute
(ElemApplyTemplates.java:226)
        at org.apache.xalan.templates.ElemApplyTemplates.transformSelectedNodes
(ElemApplyTemplates.java:422)
        at org.apache.xalan.templates.ElemApplyTemplates.execute
(ElemApplyTemplates.java:226)
        at org.apache.xalan.transformer.TransformerImpl.executeChildTemplates
(TransformerImpl.java:2186)
        at org.apache.xalan.templates.ElemChoose.execute(ElemChoose.java:177)
        at org.apache.xalan.templates.ElemApplyTemplates.transformSelectedNodes
(ElemApplyTemplates.java:422)
        at org.apache.xalan.templates.ElemApplyTemplates.execute
(ElemApplyTemplates.java:226)
        at org.apache.xalan.transformer.TransformerImpl.executeChildTemplates
(TransformerImpl.java:2186)
        at org.apache.xalan.templates.ElemLiteralResult.execute
(ElemLiteralResult.java:710)
        at org.apache.xalan.transformer.TransformerImpl.executeChildTemplates
(TransformerImpl.java:2186)
        at org.apache.xalan.templates.ElemIf.execute(ElemIf.java:200)
        at org.apache.xalan.transformer.TransformerImpl.executeChildTemplates
(TransformerImpl.java:2186)
        at org.apache.xalan.templates.ElemLiteralResult.execute
(ElemLiteralResult.java:710)
        at org.apache.xalan.templates.ElemApplyTemplates.transformSelectedNodes
(ElemApplyTemplates.java:422)
        at org.apache.xalan.templates.ElemApplyTemplates.execute
(ElemApplyTemplates.java:226)
        at org.apache.xalan.transformer.TransformerImpl.executeChildTemplates
(TransformerImpl.java:2186)
        at org.apache.xalan.templates.ElemChoose.execute(ElemChoose.java:164)
        at org.apache.xalan.transformer.TransformerImpl.executeChildTemplates
(TransformerImpl.java:2186)
        at org.apache.xalan.templates.ElemLiteralResult.execute
(ElemLiteralResult.java:710)
        at org.apache.xalan.transformer.TransformerImpl.executeChildTemplates
(TransformerImpl.java:2186)
        at org.apache.xalan.transformer.TransformerImpl.applyTemplateToNode
(TransformerImpl.java:2012)
        at org.apache.xalan.transformer.TransformerImpl.transformNode
(TransformerImpl.java:1175)
        at org.apache.xalan.transformer.TransformerImpl.transform
(TransformerImpl.java:642)
        at org.apache.xalan.transformer.TransformerImpl.transform
(TransformerImpl.java:1092)
        at org.apache.xalan.transformer.TransformerImpl.transform
(TransformerImpl.java:1070)
...proprietary calls...
---------
java.lang.ArrayIndexOutOfBoundsException
        at org.apache.xml.utils.SuballocatedIntVector.elementAt
(SuballocatedIntVector.java:450)
        at org.apache.xml.dtm.ref.DTMDefaultBase._firstch
(DTMDefaultBase.java:527)
        at org.apache.xml.dtm.ref.DTMDefaultBase.getFirstChild
(DTMDefaultBase.java:881)
        at 
org.apache.xml.dtm.ref.DTMDefaultBaseIterators$PrecedingSiblingIterator.setStart
Node(DTMDefaultBaseIterators.java:1046)
        at org.apache.xpath.axes.OneStepIterator.setRoot
(OneStepIterator.java:80)
        at org.apache.xpath.axes.LocPathIterator.execute
(LocPathIterator.java:242)
        at org.apache.xpath.axes.PredicatedNodeTest.executePredicates
(PredicatedNodeTest.java:313)
        at org.apache.xpath.axes.PredicatedNodeTest.acceptNode
(PredicatedNodeTest.java:444)
        at org.apache.xpath.axes.ChildTestIterator.nextNode
(ChildTestIterator.java:243)
        at org.apache.xpath.objects.XNodeSet.bool(XNodeSet.java:207)
        at org.apache.xpath.functions.FuncNot.execute(FuncNot.java:85)
        at org.apache.xpath.Expression.bool(Expression.java:208)
        at org.apache.xpath.operations.And.bool(And.java:111)
        at org.apache.xpath.XPath.bool(XPath.java:388)
        at org.apache.xalan.templates.ElemIf.execute(ElemIf.java:198)
        at org.apache.xalan.templates.ElemApplyTemplates.transformSelectedNodes
(ElemApplyTemplates.java:422)
        at org.apache.xalan.templates.ElemApplyTemplates.execute
(ElemApplyTemplates.java:226)
        at org.apache.xalan.templates.ElemApplyTemplates.transformSelectedNodes
(ElemApplyTemplates.java:422)
        at org.apache.xalan.templates.ElemApplyTemplates.execute
(ElemApplyTemplates.java:226)
        at org.apache.xalan.templates.ElemApplyTemplates.transformSelectedNodes
(ElemApplyTemplates.java:422)
        at org.apache.xalan.templates.ElemApplyTemplates.execute
(ElemApplyTemplates.java:226)
        at org.apache.xalan.templates.ElemApplyTemplates.transformSelectedNodes
(ElemApplyTemplates.java:422)
        at org.apache.xalan.templates.ElemApplyTemplates.execute
(ElemApplyTemplates.java:226)
        at org.apache.xalan.transformer.TransformerImpl.executeChildTemplates
(TransformerImpl.java:2186)
        at org.apache.xalan.templates.ElemChoose.execute(ElemChoose.java:177)
        at org.apache.xalan.templates.ElemApplyTemplates.transformSelectedNodes
(ElemApplyTemplates.java:422)
        at org.apache.xalan.templates.ElemApplyTemplates.execute
(ElemApplyTemplates.java:226)
        at org.apache.xalan.transformer.TransformerImpl.executeChildTemplates
(TransformerImpl.java:2186)
        at org.apache.xalan.templates.ElemLiteralResult.execute
(ElemLiteralResult.java:710)
        at org.apache.xalan.transformer.TransformerImpl.executeChildTemplates
(TransformerImpl.java:2186)
        at org.apache.xalan.templates.ElemIf.execute(ElemIf.java:200)
        at org.apache.xalan.transformer.TransformerImpl.executeChildTemplates
(TransformerImpl.java:2186)
        at org.apache.xalan.templates.ElemLiteralResult.execute
(ElemLiteralResult.java:710)
        at org.apache.xalan.templates.ElemApplyTemplates.transformSelectedNodes
(ElemApplyTemplates.java:422)
        at org.apache.xalan.templates.ElemApplyTemplates.execute
(ElemApplyTemplates.java:226)
        at org.apache.xalan.transformer.TransformerImpl.executeChildTemplates
(TransformerImpl.java:2186)
        at org.apache.xalan.templates.ElemChoose.execute(ElemChoose.java:164)
        at org.apache.xalan.transformer.TransformerImpl.executeChildTemplates
(TransformerImpl.java:2186)
        at org.apache.xalan.templates.ElemLiteralResult.execute
(ElemLiteralResult.java:710)
        at org.apache.xalan.transformer.TransformerImpl.executeChildTemplates
(TransformerImpl.java:2186)
        at org.apache.xalan.transformer.TransformerImpl.applyTemplateToNode
(TransformerImpl.java:2012)
        at org.apache.xalan.transformer.TransformerImpl.transformNode
(TransformerImpl.java:1175)
        at org.apache.xalan.transformer.TransformerImpl.transform
(TransformerImpl.java:642)
        at org.apache.xalan.transformer.TransformerImpl.transform
(TransformerImpl.java:1092)
        at org.apache.xalan.transformer.TransformerImpl.transform
(TransformerImpl.java:1070)
...proprietary calls...


-----------


I believe the if clause of the following template is causing the exception 
(although, it may be something else). I apologize for having to obfuscate the 
template, but the semantics remain:

<xsl:template match="text()">
  <xsl:if test="not(ancestor-or-self::node()[preceding-sibling::*[1][self::foo
[@type='type1' or @type='type2']]]) and not(parent::bar)">
    <xsl:value-of select="."/>
  </xsl:if>
</xsl:template>


I hope that's enough info for you to go on, sorry I can't release more,
Brian.

Reply via email to