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: [EMAIL PROTECTED] ReportedBy: [EMAIL PROTECTED] 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>
