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>