[ http://issues.apache.org/jira/browse/XALANJ-2056?page=comments#action_59042 ] Henry Zongaro commented on XALANJ-2056: ---------------------------------------
There is actually a bug in the stylesheet, but Xalan-J Interpretive is not printing a helpful error message to diagnose that problem. XSLT 1.0 prohibits references to the current() function in patterns; the last sentence of the description of the current() function[1] reads, "It is an error to use the current function in a pattern." [1] http://www.w3.org/TR/xslt#function-current > XSLT erros after upgrade to the new version Xalan v2.6.0 > -------------------------------------------------------- > > Key: XALANJ-2056 > URL: http://issues.apache.org/jira/browse/XALANJ-2056 > Project: XalanJ2 > Type: Bug > Components: Xalan > Versions: 2.6 > Environment: AIX 5.2.2 ,JDK 1.4.2 > Reporter: Sachin Patait > Priority: Critical > Attachments: componentdb.xml, errornew.log, excludes.xml, script.xsl, > test1.xsl, xal > > I am getting following error after upgrading to Xalan 2.6.0 > file:///local/home/u627951/scripts/test1.xsl; Line #38; Column #18; Writing > src/com/roguewave/gi/mods/AssetSerializer.java > ; SystemID: file:///local/home/u627951/scripts/test1.xsl; Line#: 40; Column#: > 60 > javax.xml.transform.TransformerException: java.lang.RuntimeException: XSLT > TransformerFactory Error > at > org.apache.xalan.transformer.TransformerImpl.executeChildTemplates(TransformerImpl.java:2341) > at > org.apache.xalan.transformer.TransformerImpl.executeChildTemplates(TransformerImpl.java:2389) > at > org.apache.xalan.transformer.TransformerImpl.executeChildTemplates(TransformerImpl.java:2255) > at org.apache.xalan.lib.Redirect.write(Redirect.java:212) > at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) > at > sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:85) > at > sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:58) > at > sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:60) > at java.lang.reflect.Method.invoke(Method.java:391) > at > org.apache.xalan.extensions.ExtensionHandlerJavaClass.processElement(ExtensionHandlerJavaClass.java:495) > at > org.apache.xalan.templates.ElemExtensionCall.execute(ElemExtensionCall.java:230) > at > org.apache.xalan.templates.ElemApplyTemplates.transformSelectedNodes(ElemApplyTemplates.java:395) > at > org.apache.xalan.templates.ElemApplyTemplates.execute(ElemApplyTemplates.java:177) > at > org.apache.xalan.transformer.TransformerImpl.executeChildTemplates(TransformerImpl.java:2336) > at > org.apache.xalan.transformer.TransformerImpl.applyTemplateToNode(TransformerImpl.java:2202) > at > org.apache.xalan.transformer.TransformerImpl.transformNode(TransformerImpl.java:1276) > at > org.apache.xalan.transformer.TransformerImpl.transform(TransformerImpl.java:673) > at > org.apache.xalan.transformer.TransformerImpl.transform(TransformerImpl.java:1192) > at > org.apache.xalan.transformer.TransformerImpl.transform(TransformerImpl.java:1170) > at org.apache.xalan.xslt.Process.main(Process.java:987) > Caused by: java.lang.RuntimeException: XSLT TransformerFactory Error > at org.apache.xpath.functions.FuncCurrent.execute(FuncCurrent.java:61) > at > org.apache.xpath.axes.FilterExprIteratorSimple.executeFilterExpr(FilterExprIteratorSimple.java:126) > at > org.apache.xpath.axes.FilterExprWalker.setRoot(FilterExprWalker.java:128) > at > org.apache.xpath.axes.WalkingIterator.setRoot(WalkingIterator.java:153) > at org.apache.xpath.axes.NodeSequence.setRoot(NodeSequence.java:212) > at > org.apache.xpath.axes.LocPathIterator.execute(LocPathIterator.java:211) > at org.apache.xpath.Expression.execute(Expression.java:153) > at org.apache.xpath.operations.Operation.execute(Operation.java:107) > at > org.apache.xpath.axes.PredicatedNodeTest.executePredicates(PredicatedNodeTest.java:339) > at > org.apache.xpath.axes.PredicatedNodeTest.acceptNode(PredicatedNodeTest.java:476) > at org.apache.xpath.axes.AxesWalker.nextNode(AxesWalker.java:369) > at > org.apache.xpath.axes.WalkingIterator.nextNode(WalkingIterator.java:180) > at org.apache.xpath.axes.NodeSequence.nextNode(NodeSequence.java:280) > at org.apache.xpath.axes.NodeSequence.runTo(NodeSequence.java:434) > at org.apache.xpath.axes.NodeSequence.setRoot(NodeSequence.java:217) > at > org.apache.xpath.axes.LocPathIterator.execute(LocPathIterator.java:211) > at org.apache.xpath.functions.FuncNot.execute(FuncNot.java:42) > at org.apache.xpath.operations.And.execute(And.java:49) > at > org.apache.xpath.patterns.StepPattern.executePredicates(StepPattern.java(Compiled > Code)) > at > org.apache.xpath.patterns.StepPattern.execute(StepPattern.java(Compiled Code)) > at > org.apache.xalan.templates.TemplateList.getTemplateFast(TemplateList.java:556) > at > org.apache.xalan.templates.ElemApplyTemplates.transformSelectedNodes(ElemApplyTemplates.java:296) > at > org.apache.xalan.templates.ElemApplyTemplates.execute(ElemApplyTemplates.java:177) > at > org.apache.xalan.transformer.TransformerImpl.executeChildTemplates(TransformerImpl.java:2336) > ... 19 more > --------- > java.lang.RuntimeException: XSLT TransformerFactory Error > at org.apache.xpath.functions.FuncCurrent.execute(FuncCurrent.java:61) > at > org.apache.xpath.axes.FilterExprIteratorSimple.executeFilterExpr(FilterExprIteratorSimple.java:126) > at > org.apache.xpath.axes.FilterExprWalker.setRoot(FilterExprWalker.java:128) > at > org.apache.xpath.axes.WalkingIterator.setRoot(WalkingIterator.java:153) > at org.apache.xpath.axes.NodeSequence.setRoot(NodeSequence.java:212) > at > org.apache.xpath.axes.LocPathIterator.execute(LocPathIterator.java:211) > at org.apache.xpath.Expression.execute(Expression.java:153) > at org.apache.xpath.operations.Operation.execute(Operation.java:107) > at > org.apache.xpath.axes.PredicatedNodeTest.executePredicates(PredicatedNodeTest.java:339) > at > org.apache.xpath.axes.PredicatedNodeTest.acceptNode(PredicatedNodeTest.java:476) > at org.apache.xpath.axes.AxesWalker.nextNode(AxesWalker.java:369) > at > org.apache.xpath.axes.WalkingIterator.nextNode(WalkingIterator.java:180) > at org.apache.xpath.axes.NodeSequence.nextNode(NodeSequence.java:280) > at org.apache.xpath.axes.NodeSequence.runTo(NodeSequence.java:434) > at org.apache.xpath.axes.NodeSequence.setRoot(NodeSequence.java:217) > at > org.apache.xpath.axes.LocPathIterator.execute(LocPathIterator.java:211) > at org.apache.xpath.functions.FuncNot.execute(FuncNot.java:42) > at org.apache.xpath.operations.And.execute(And.java:49) > at > org.apache.xpath.patterns.StepPattern.executePredicates(StepPattern.java(Compiled > Code)) > at > org.apache.xpath.patterns.StepPattern.execute(StepPattern.java(Compiled Code)) > at > org.apache.xalan.templates.TemplateList.getTemplateFast(TemplateList.java:556) > at > org.apache.xalan.templates.ElemApplyTemplates.transformSelectedNodes(ElemApplyTemplates.java:296) > at > org.apache.xalan.templates.ElemApplyTemplates.execute(ElemApplyTemplates.java:177) > at > org.apache.xalan.transformer.TransformerImpl.executeChildTemplates(TransformerImpl.java:2336) > at > org.apache.xalan.transformer.TransformerImpl.executeChildTemplates(TransformerImpl.java:2389) > at > org.apache.xalan.transformer.TransformerImpl.executeChildTemplates(TransformerImpl.java:2255) > at org.apache.xalan.lib.Redirect.write(Redirect.java:212) > at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) > at > sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:85) > at > sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:58) > at > sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:60) > at java.lang.reflect.Method.invoke(Method.java:391) > at > org.apache.xalan.extensions.ExtensionHandlerJavaClass.processElement(ExtensionHandlerJavaClass.java:495) > at > org.apache.xalan.templates.ElemExtensionCall.execute(ElemExtensionCall.java:230) > at > org.apache.xalan.templates.ElemApplyTemplates.transformSelectedNodes(ElemApplyTemplates.java:395) > at > org.apache.xalan.templates.ElemApplyTemplates.execute(ElemApplyTemplates.java:177) > at > org.apache.xalan.transformer.TransformerImpl.executeChildTemplates(TransformerImpl.java:2336) > at > org.apache.xalan.transformer.TransformerImpl.applyTemplateToNode(TransformerImpl.java:2202) > at > org.apache.xalan.transformer.TransformerImpl.transformNode(TransformerImpl.java:1276) > at > org.apache.xalan.transformer.TransformerImpl.transform(TransformerImpl.java:673) > at > org.apache.xalan.transformer.TransformerImpl.transform(TransformerImpl.java:1192) > at > org.apache.xalan.transformer.TransformerImpl.transform(TransformerImpl.java:1170) > at org.apache.xalan.xslt.Process.main(Process.java:987) > I am using following shell script :- > #!/usr/bin/ksh > ANT_HOME=/app/GMRD-old/cm-old/Downloads1/Ant/apache-ant-1.6.2/ > XERCES_LIB=/app/GMRD-old/cm-old/Downloads1/Xalan/xalan-j_2_6_0/bin/xml-apis.jar:/app/GMRD-old/cm-old/Downloads1/Xalan/xalan-j_2_6_0/bin/xercesImpl.jar > XALAN_LIB=/app/GMRD-old/cm-old/Downloads1/Xalan/xalan-j_2_6_0/bin/xalan.jar > BSF_LIB=/app/GMRD-old/cm-old/Downloads1/Xalan/xalan-j_2_6_0/bin/bsf.jar > RHINO_LIB=/home/u627951/lib/js.jar > BOOTPATH=$XERCES_LIB:$XALAN_LIB > MYCLASSPATH=$ANT_HOME/lib/ant.jar:$ANT_HOME/lib/ant-launcher.jar:$ANT_HOME/lib/ant-trax.jar:$XERCES_LIB:$XALAN_LIB:$BSF_LIB:$RHINO_LIB > #TRANSFORM=../src/Tools/Build/Java/xml2modGenerator.xsl > TRANSFORM=test1.xsl > echo $MYCLASSPATH > java -Xbootclasspath/p:"$BOOTPATH" org.apache.xalan.xslt.EnvironmentCheck > java -Xbootclasspath/p:"$BOOTPATH" -cp "$MYCLASSPATH" > org.apache.xalan.xslt.Process -EDUMP -in componentdb.xml -out test -XSL > $TRANSFORM -PARAM class "Asset" > I am using following xsl :- > <?xml version="1.0" encoding="utf-8"?> > <xsl:stylesheet version="1.0" > xmlns:xsl="http://www.w3.org/1999/XSL/Transform" > xmlns:osf="osf/functions" > xmlns:xalan="http://xml.apache.org/xalan" > xmlns:redirect="org.apache.xalan.xslt.extensions.Redirect" > extension-element-prefixes="redirect" > exclude-result-prefixes="xalan"> > <xsl:output method="text" indent="yes"/> > <xsl:strip-space elements="*"/> > <xsl:include href="script.xsl"/> > <xsl:param name="class" select="'Vendor'"/> > <xsl:param name="srcdir" select="'src'"/> > <xsl:variable name="excludes" select="document('excludes.xml')"/> > <xsl:variable name="version" select="4.0"/> > <xsl:key name="baseType" > match="/OsfSchema/DB/Primitive" > use="@Name"/> > <!-- For the specified table, create the DTD. --> > <xsl:template match="/"> > <xsl:apply-templates select="/OsfSchema/DB/[EMAIL PROTECTED]"/> > </xsl:template> > <xsl:template match="Class"> > <xsl:variable name="classNode" select="."/> > <xsl:variable name="rootPart" select="Part"/> > <xsl:variable name="root" > select="osf:normalizeName(string($rootPart/@Name))"/> > <xsl:variable name="ddlVersion" select="@Version_Number"/> > <xsl:variable name="serializer" select="concat($class, 'Serializer')"/> > <xsl:variable name="filename" select="concat($srcdir, > '/com/roguewave/gi/mods/', $serializer, '.java')"/> > <xsl:message>Writing <xsl:value-of select="$filename"/></xsl:message> > <redirect:write select="$filename"> > <xsl:apply-templates select="Part" mode="rehydrate"/> > <xsl:apply-templates select="Part" mode="source"/> > </redirect:write> > </xsl:template> > <!-- Generate 'part' templates--> > <xsl:template match="Part[not(@IsComponent='true') and > not($excludes/Excludes/[EMAIL PROTECTED]()/@Name])] | [EMAIL > PROTECTED]'true']/Part" mode="rehydrate"> > <xsl:variable name="part" select="@Name"/> > </xsl:template> > <!-- Generate 'part' templates--> > <xsl:template match="Part[not(@IsComponent='true') and > not($excludes/Excludes/[EMAIL PROTECTED]()/@Name])] | [EMAIL > PROTECTED]'true']/Part" mode="source"> > <xsl:variable name="part" select="@Name"/> > </xsl:template> > </xsl:stylesheet> > Here is the output of the program:- > /app/GMRD-old/cm-old/Downloads1/Ant/apache-ant-1.6.2//lib/ant.jar:/app/GMRD-old/cm-old/Downloads1/Ant/apache-ant-1.6.2//lib/ant-launcher.jar:/app/GMRD-old/cm-old/Downloads1/Ant/apache-ant-1.6.2//lib/ant-trax.jar:/app/GMRD-old/cm-old/Downloads1/Xalan/xalan-j_2_6_0/bin/xml-apis.jar:/app/GMRD-old/cm-old/Downloads1/Xalan/xalan-j_2_6_0/bin/xercesImpl.jar:/app/GMRD-old/cm-old/Downloads1/Xalan/xalan-j_2_6_0/bin/xalan.jar:/app/GMRD-old/cm-old/Downloads1/Xalan/xalan-j_2_6_0/bin/bsf.jar:/home/u627951/lib/js.jar > #---- BEGIN writeEnvironmentReport($Revision: 1.26 $): Useful stuff found: > ---- > #---- BEGIN Listing XML-related jars in: foundclasses.sun.boot.class.path ---- > xml-apis.jar-apparent.version=xml-apis.jar from tck-jaxp-1_2_0 branch of > xml-commons, tag: xml-commons-external_1_2_01 > xml-apis.jar-path=/app/GMRD-old/cm-old/Downloads1/Xalan/xalan-j_2_6_0/bin/xml-apis.jar > xercesImpl.jar-apparent.version=xercesImpl.jar from Xerces-J-bin.2.6.2 > xercesImpl.jar-path=/app/GMRD-old/cm-old/Downloads1/Xalan/xalan-j_2_6_0/bin/xercesImpl.jar > xalan.jar-path=/app/GMRD-old/cm-old/Downloads1/Xalan/xalan-j_2_6_0/bin/xalan.jar > xml.jar-apparent.version=xml.jar present-unknown-version > xml.jar-path=/usr/java14/jre/lib/xml.jar > #----- END Listing XML-related jars in: foundclasses.sun.boot.class.path ----- > java.version=1.4.2 > version.xalan2x=Xalan Java 2.6.0 > version.JAXP=1.1 or higher > java.ext.dirs=/usr/java14/jre/lib/ext > version.SAX=2.0 > version.crimson=not-present > java.class.path= > version.ant=not-present > sun.boot.class.path=/app/GMRD-old/cm-old/Downloads1/Xalan/xalan-j_2_6_0/bin/xml-apis.jar:/app/GMRD-old/cm-old/Downloads1/Xalan/xalan-j_2_6_0/bin/xercesImpl.jar:/app/GMRD-old/cm-old/Downloads1/Xalan/xalan-j_2_6_0/bin/xalan.jar:/usr/java14/jre/lib/core.jar:/usr/java14/jre/lib/graphics.jar:/usr/java14/jre/lib/security.jar:/usr/java14/jre/lib/server.jar:/usr/java14/jre/lib/xml.jar:/usr/java14/jre/lib/charsets.jar:/usr/java14/jre/classes:/usr/java14/jre/lib/ibmcertpathprovider.jar:/usr/java14/jre/lib/ibmjaaslm.jar:/usr/java14/jre/lib/ibmjcefw.jar:/usr/java14/jre/lib/ibmjgssprovider.jar:/usr/java14/jre/lib/ibmjssefips.jar:/usr/java14/jre/lib/ibmjsseprovider.jar:/usr/java14/jre/lib/ibmorb.jar:/usr/java14/jre/lib/ibmorbapi.jar:/usr/java14/jre/lib/ibmpkcs.jar > version.DOM.draftlevel=2.0fd > version.DOM=2.0 > version.xalan1=not-present > version.xalan2_2=Xalan Java 2.6.0 > version.xerces2=Xerces-J 2.6.2 > version.xerces1=not-present > #----- END writeEnvironmentReport: Useful properties found: ----- > # YAHOO! Your environment seems to be OK. -- This message is automatically generated by JIRA. - If you think it was sent incorrectly contact one of the administrators: http://issues.apache.org/jira/secure/Administrators.jspa - If you want more information on JIRA, or have a bug to report see: http://www.atlassian.com/software/jira --------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
