-
Enhancement
-
Resolution: Unresolved
-
P3
-
8u321, 11, 17, 19, 20
Translation of large XSL file using JDK xalan fails with 'Could not compile stylesheet' error.
-bash-4.1$ java XML_XSL_Test
ERROR: 'Could not compile stylesheet'
FATAL ERROR: 'Internal XSLTC error: a method in the translet exceeds the
Java Virtual Machine limitation on the length of a method of 64 kilobytes.
This is usually caused by templates in a stylesheet that are very large. Try
restructuring your stylesheet to use smaller templates.'
:Internal XSLTC error: a method in the translet exceeds the Java
Virtual Machine limitation on the length of a method of 64 kilobytes. This
is usually caused by templates in a stylesheet that are very large. Try
restructuring your stylesheet to use smaller templates.
javax.xml.transform.TransformerConfigurationException: Internal XSLTC error:
a method in the translet exceeds the Java Virtual Machine limitation on the
length of a method of 64 kilobytes. This is usually caused by templates in a
stylesheet that are very large. Try restructuring your stylesheet to use
smaller templates.
at
com.sun.org.apache.xalan.internal.xsltc.trax.TransformerFactoryImpl.newTemplat
es(TransformerFactoryImpl.java:988)
at
com.sun.org.apache.xalan.internal.xsltc.trax.TransformerFactoryImpl.newTransfo
rmer(TransformerFactoryImpl.java:761)
at XML_XSL_Test.main(XML_XSL_Test.java:25)
Caused by:
com.sun.org.apache.xalan.internal.xsltc.compiler.util.InternalError: Internal
XSLTC error: a method in the translet exceeds the Java Virtual Machine
limitation on the length of a method of 64 kilobytes. This is usually caused
by templates in a stylesheet that are very large. Try restructuring your
stylesheet to use smaller templates.
at
com.sun.org.apache.xalan.internal.xsltc.compiler.util.MethodGenerator.outlineC
hunks(MethodGenerator.java:1193)
at
com.sun.org.apache.xalan.internal.xsltc.compiler.util.MethodGenerator.getGener
atedMethods(MethodGenerator.java:1899)
at
com.sun.org.apache.xalan.internal.xsltc.compiler.util.ClassGenerator.addMethod
(ClassGenerator.java:137)
at
com.sun.org.apache.xalan.internal.xsltc.compiler.Mode.compileApplyTemplates(Mo
de.java:1040)
at
com.sun.org.apache.xalan.internal.xsltc.compiler.Stylesheet.compileModes(Style
sheet.java:622)
at
com.sun.org.apache.xalan.internal.xsltc.compiler.Stylesheet.translate(Styleshe
et.java:735)
at
com.sun.org.apache.xalan.internal.xsltc.compiler.XSLTC.compile(XSLTC.java:478)
at
com.sun.org.apache.xalan.internal.xsltc.compiler.XSLTC.compile(XSLTC.java:553)
at
com.sun.org.apache.xalan.internal.xsltc.trax.TransformerFactoryImpl.newTemplat
es(TransformerFactoryImpl.java:947)
... 2 more
---------
com.sun.org.apache.xalan.internal.xsltc.compiler.util.InternalError: Internal
XSLTC error: a method in the translet exceeds the Java Virtual Machine
limitation on the length of a method of 64 kilobytes. This is usually caused
by templates in a stylesheet that are very large. Try restructuring your
stylesheet to use smaller templates.
at
com.sun.org.apache.xalan.internal.xsltc.compiler.util.MethodGenerator.outlineC
hunks(MethodGenerator.java:1193)
at
com.sun.org.apache.xalan.internal.xsltc.compiler.util.MethodGenerator.getGener
atedMethods(MethodGenerator.java:1899)
at
com.sun.org.apache.xalan.internal.xsltc.compiler.util.ClassGenerator.addMethod
(ClassGenerator.java:137)
at
com.sun.org.apache.xalan.internal.xsltc.compiler.Mode.compileApplyTemplates(Mo
de.java:1040)
at
com.sun.org.apache.xalan.internal.xsltc.compiler.Stylesheet.compileModes(Style
sheet.java:622)
at
com.sun.org.apache.xalan.internal.xsltc.compiler.Stylesheet.translate(Styleshe
et.java:735)
at
com.sun.org.apache.xalan.internal.xsltc.compiler.XSLTC.compile(XSLTC.java:478)
at
com.sun.org.apache.xalan.internal.xsltc.compiler.XSLTC.compile(XSLTC.java:553)
at
com.sun.org.apache.xalan.internal.xsltc.trax.TransformerFactoryImpl.newTemplat
es(TransformerFactoryImpl.java:947)
at
com.sun.org.apache.xalan.internal.xsltc.trax.TransformerFactoryImpl.newTransfo
rmer(TransformerFactoryImpl.java:761)
at XML_XSL_Test.main(XML_XSL_Test.java:25)
Works fine with Apache xalan , verified with Apache xalan-2.4.1 versions till Apache xalan-2.7.2.
-bash-4.1$ java XML_XSL_Test
ERROR: 'Could not compile stylesheet'
FATAL ERROR: 'Internal XSLTC error: a method in the translet exceeds the
Java Virtual Machine limitation on the length of a method of 64 kilobytes.
This is usually caused by templates in a stylesheet that are very large. Try
restructuring your stylesheet to use smaller templates.'
:Internal XSLTC error: a method in the translet exceeds the Java
Virtual Machine limitation on the length of a method of 64 kilobytes. This
is usually caused by templates in a stylesheet that are very large. Try
restructuring your stylesheet to use smaller templates.
javax.xml.transform.TransformerConfigurationException: Internal XSLTC error:
a method in the translet exceeds the Java Virtual Machine limitation on the
length of a method of 64 kilobytes. This is usually caused by templates in a
stylesheet that are very large. Try restructuring your stylesheet to use
smaller templates.
at
com.sun.org.apache.xalan.internal.xsltc.trax.TransformerFactoryImpl.newTemplat
es(TransformerFactoryImpl.java:988)
at
com.sun.org.apache.xalan.internal.xsltc.trax.TransformerFactoryImpl.newTransfo
rmer(TransformerFactoryImpl.java:761)
at XML_XSL_Test.main(XML_XSL_Test.java:25)
Caused by:
com.sun.org.apache.xalan.internal.xsltc.compiler.util.InternalError: Internal
XSLTC error: a method in the translet exceeds the Java Virtual Machine
limitation on the length of a method of 64 kilobytes. This is usually caused
by templates in a stylesheet that are very large. Try restructuring your
stylesheet to use smaller templates.
at
com.sun.org.apache.xalan.internal.xsltc.compiler.util.MethodGenerator.outlineC
hunks(MethodGenerator.java:1193)
at
com.sun.org.apache.xalan.internal.xsltc.compiler.util.MethodGenerator.getGener
atedMethods(MethodGenerator.java:1899)
at
com.sun.org.apache.xalan.internal.xsltc.compiler.util.ClassGenerator.addMethod
(ClassGenerator.java:137)
at
com.sun.org.apache.xalan.internal.xsltc.compiler.Mode.compileApplyTemplates(Mo
de.java:1040)
at
com.sun.org.apache.xalan.internal.xsltc.compiler.Stylesheet.compileModes(Style
sheet.java:622)
at
com.sun.org.apache.xalan.internal.xsltc.compiler.Stylesheet.translate(Styleshe
et.java:735)
at
com.sun.org.apache.xalan.internal.xsltc.compiler.XSLTC.compile(XSLTC.java:478)
at
com.sun.org.apache.xalan.internal.xsltc.compiler.XSLTC.compile(XSLTC.java:553)
at
com.sun.org.apache.xalan.internal.xsltc.trax.TransformerFactoryImpl.newTemplat
es(TransformerFactoryImpl.java:947)
... 2 more
---------
com.sun.org.apache.xalan.internal.xsltc.compiler.util.InternalError: Internal
XSLTC error: a method in the translet exceeds the Java Virtual Machine
limitation on the length of a method of 64 kilobytes. This is usually caused
by templates in a stylesheet that are very large. Try restructuring your
stylesheet to use smaller templates.
at
com.sun.org.apache.xalan.internal.xsltc.compiler.util.MethodGenerator.outlineC
hunks(MethodGenerator.java:1193)
at
com.sun.org.apache.xalan.internal.xsltc.compiler.util.MethodGenerator.getGener
atedMethods(MethodGenerator.java:1899)
at
com.sun.org.apache.xalan.internal.xsltc.compiler.util.ClassGenerator.addMethod
(ClassGenerator.java:137)
at
com.sun.org.apache.xalan.internal.xsltc.compiler.Mode.compileApplyTemplates(Mo
de.java:1040)
at
com.sun.org.apache.xalan.internal.xsltc.compiler.Stylesheet.compileModes(Style
sheet.java:622)
at
com.sun.org.apache.xalan.internal.xsltc.compiler.Stylesheet.translate(Styleshe
et.java:735)
at
com.sun.org.apache.xalan.internal.xsltc.compiler.XSLTC.compile(XSLTC.java:478)
at
com.sun.org.apache.xalan.internal.xsltc.compiler.XSLTC.compile(XSLTC.java:553)
at
com.sun.org.apache.xalan.internal.xsltc.trax.TransformerFactoryImpl.newTemplat
es(TransformerFactoryImpl.java:947)
at
com.sun.org.apache.xalan.internal.xsltc.trax.TransformerFactoryImpl.newTransfo
rmer(TransformerFactoryImpl.java:761)
at XML_XSL_Test.main(XML_XSL_Test.java:25)
Works fine with Apache xalan , verified with Apache xalan-2.4.1 versions till Apache xalan-2.7.2.