You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@xalan.apache.org by bu...@apache.org on 2002/12/18 16:59:20 UTC

DO NOT REPLY [Bug 15489] New: - ArrayIndexOutOfBoundsException at

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

ArrayIndexOutOfBoundsException at 

           Summary: ArrayIndexOutOfBoundsException at
           Product: XalanJ2
           Version: 2.4Dx
          Platform: Sun
        OS/Version: Windows NT/2K
            Status: NEW
          Severity: Normal
          Priority: Other
         Component: org.apache.xalan.templates
        AssignedTo: xalan-dev@xml.apache.org
        ReportedBy: grimm.volker@krones.de


At my styleshett i get a ArrayIndexOutOfBoundsException at the code:
<xsl:for-each select="//native | document($doc)//native">
same stylesheet work with the MS parser.

I want to merge two xml files and sort the result in a step.

The bug is Reproducible!
I  use the jar's from xalan-j_2_4_1\bin

Greetings.
 Volker

---- Error ---
"mergesimple.xslt":      [xslt] 
D:/prj/P001800/mulitlang/mergesimple.xslt:16:68: Fatal Error! 
java.lang.ArrayIndexOutOfBoundsException Cause: 
java.lang.ArrayIndexOutOfBoundsException in Zeile 16, Spalte 68



      file:D:/prj/P001800/build.xml:38: Fatal error during transformation
         at org.apache.tools.ant.taskdefs.XSLTProcess.process
(XSLTProcess.java:513)
         at org.apache.tools.ant.taskdefs.XSLTProcess.execute
(XSLTProcess.java:220)
         at org.apache.tools.ant.Task.perform(Task.java:319)
         at org.apache.tools.ant.Target.execute(Target.java:309)
         at org.apache.tools.ant.Target.performTasks(Target.java:336)
         at org.apache.tools.ant.Project.executeTarget(Project.java:1306)
         at org.apache.tools.ant.Project.executeTargets(Project.java:1250)
         at org.apache.tools.ant.Main.runBuild(Main.java:610)
         at org.apache.tools.ant.Main.start(Main.java:196)
         at org.apache.tools.ant.Main.main(Main.java:235)
      --- Nested Exception ---
      Fatal error during transformation
         at org.apache.tools.ant.taskdefs.optional.TraXLiaison.fatalError
(TraXLiaison.java:241)
         at org.apache.xalan.transformer.TransformerImpl.transformNode
(TransformerImpl.java:1266)
         at org.apache.xalan.transformer.TransformerImpl.transform
(TransformerImpl.java:668)
         at org.apache.xalan.transformer.TransformerImpl.transform
(TransformerImpl.java:1129)
         at org.apache.xalan.transformer.TransformerImpl.transform
(TransformerImpl.java:1107)
         at org.apache.tools.ant.taskdefs.optional.TraXLiaison.transform
(TraXLiaison.java:188)
         at org.apache.tools.ant.taskdefs.XSLTProcess.process
(XSLTProcess.java:506)
         at org.apache.tools.ant.taskdefs.XSLTProcess.execute
(XSLTProcess.java:220)
         at org.apache.tools.ant.Task.perform(Task.java:319)
         at org.apache.tools.ant.Target.execute(Target.java:309)
         at org.apache.tools.ant.Target.performTasks(Target.java:336)
         at org.apache.tools.ant.Project.executeTarget(Project.java:1306)
         at org.apache.tools.ant.Project.executeTargets(Project.java:1250)
         at org.apache.tools.ant.Main.runBuild(Main.java:610)
         at org.apache.tools.ant.Main.start(Main.java:196)
         at org.apache.tools.ant.Main.main(Main.java:235)
      --- Nested Exception ---
      ; SystemID: file:///D:/prj/P001800/mulitlang/mergesimple.xslt; Line#: 16; 
Column#: 64
      javax.xml.transform.TransformerException: 
java.lang.ArrayIndexOutOfBoundsException
         at org.apache.xalan.transformer.TransformerImpl.executeChildTemplates
(TransformerImpl.java:2344)
         at org.apache.xalan.templates.ElemLiteralResult.execute
(ElemLiteralResult.java:710)
         at org.apache.xalan.transformer.TransformerImpl.executeChildTemplates
(TransformerImpl.java:2339)
         at org.apache.xalan.transformer.TransformerImpl.applyTemplateToNode
(TransformerImpl.java:2160)
         at org.apache.xalan.transformer.TransformerImpl.transformNode
(TransformerImpl.java:1213)
         at org.apache.xalan.transformer.TransformerImpl.transform
(TransformerImpl.java:668)
         at org.apache.xalan.transformer.TransformerImpl.transform
(TransformerImpl.java:1129)
         at org.apache.xalan.transformer.TransformerImpl.transform
(TransformerImpl.java:1107)
         at org.apache.tools.ant.taskdefs.optional.TraXLiaison.transform
(TraXLiaison.java:188)
         at org.apache.tools.ant.taskdefs.XSLTProcess.process
(XSLTProcess.java:506)
         at org.apache.tools.ant.taskdefs.XSLTProcess.execute
(XSLTProcess.java:220)
         at org.apache.tools.ant.Task.perform(Task.java:319)
         at org.apache.tools.ant.Target.execute(Target.java:309)
         at org.apache.tools.ant.Target.performTasks(Target.java:336)
         at org.apache.tools.ant.Project.executeTarget(Project.java:1306)
         at org.apache.tools.ant.Project.executeTargets(Project.java:1250)
         at org.apache.tools.ant.Main.runBuild(Main.java:610)
         at org.apache.tools.ant.Main.start(Main.java:196)
         at org.apache.tools.ant.Main.main(Main.java:235)
      ---------
      java.lang.ArrayIndexOutOfBoundsException
         at org.apache.xml.utils.SuballocatedIntVector.elementAt
(SuballocatedIntVector.java:454)
         at org.apache.xml.dtm.ref.DTMDefaultBase._exptype
(DTMDefaultBase.java:483)
         at org.apache.xml.dtm.ref.DTMDefaultBase.getNodeType
(DTMDefaultBase.java:1662)
         at org.apache.xalan.templates.ElemForEach.transformSelectedNodes
(ElemForEach.java:425)
         at org.apache.xalan.templates.ElemForEach.execute(ElemForEach.java:300)
         at org.apache.xalan.transformer.TransformerImpl.executeChildTemplates
(TransformerImpl.java:2339)
         at org.apache.xalan.templates.ElemLiteralResult.execute
(ElemLiteralResult.java:710)
         at org.apache.xalan.transformer.TransformerImpl.executeChildTemplates
(TransformerImpl.java:2339)
         at org.apache.xalan.transformer.TransformerImpl.applyTemplateToNode
(TransformerImpl.java:2160)
         at org.apache.xalan.transformer.TransformerImpl.transformNode
(TransformerImpl.java:1213)
         at org.apache.xalan.transformer.TransformerImpl.transform
(TransformerImpl.java:668)
         at org.apache.xalan.transformer.TransformerImpl.transform
(TransformerImpl.java:1129)
         at org.apache.xalan.transformer.TransformerImpl.transform
(TransformerImpl.java:1107)
         at org.apache.tools.ant.taskdefs.optional.TraXLiaison.transform
(TraXLiaison.java:188)
         at org.apache.tools.ant.taskdefs.XSLTProcess.process
(XSLTProcess.java:506)
         at org.apache.tools.ant.taskdefs.XSLTProcess.execute
(XSLTProcess.java:220)
         at org.apache.tools.ant.Task.perform(Task.java:319)
         at org.apache.tools.ant.Target.execute(Target.java:309)
         at org.apache.tools.ant.Target.performTasks(Target.java:336)
         at org.apache.tools.ant.Project.executeTarget(Project.java:1306)
         at org.apache.tools.ant.Project.executeTargets(Project.java:1250)
         at org.apache.tools.ant.Main.runBuild(Main.java:610)
         at org.apache.tools.ant.Main.start(Main.java:196)
         at org.apache.tools.ant.Main.main(Main.java:235)
      

---Files---

<?xml version="1.0" encoding="UTF-16"?>
<translation xmlns:itools="http://itools.de/xml-schemas/DdsTypes.xsd">
	<item>
		<native>Produktsorte</native>
	</item>
	<item>
		<native>Uhrzeit</native>
	</item>
	<item>
		<native>Rechnername</native>
	</item>
</translation>


--- Stylesheet ---

<?xml version="1.0" encoding="UTF-8"?>
<!--
  To merge two xml documents you have to give a parameter "doc" with the
  second filename at XSLT processor!

  Example for MS XSLT processor:
  msxsl.exe simple1.xml mergesimple.xslt -o merged.xml doc="simple2.xml"

  Merge simple1.xml and simple2.xml
-->
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
  <xsl:output method="xml" version="1.0" encoding="UTF-8" indent="yes"/>
  <xsl:param name="doc"/>
  <xsl:template match="/">
    <translation>
      <xsl:for-each select="//native | document($doc)//native">
        <xsl:sort select="."/>
        <xsl:if test=". != ''">
          <item>
            <native>
              <xsl:value-of select="normalize-space(.)"/>
            </native>
          </item>
        </xsl:if>
      </xsl:for-each>
    </translation>
  </xsl:template>
</xsl:stylesheet>