PLEASE DO NOT REPLY TO THIS MESSAGE. TO FURTHER COMMENT ON THE STATUS OF THIS BUG PLEASE FOLLOW THE LINK BELOW AND USE THE ON-LINE APPLICATION. REPLYING TO THIS MESSAGE DOES NOT UPDATE THE DATABASE, AND SO YOUR COMMENT WILL BE LOST SOMEWHERE. http://nagoya.apache.org/bugzilla/show_bug.cgi?id=2836 *** shadow/2836 Thu Jul 26 08:36:11 2001 --- shadow/2836.tmp.17166 Thu Jul 26 08:36:11 2001 *************** *** 0 **** --- 1,79 ---- + +============================================================================+ + | xsltc fails conf test modes15 runtime unable to pop operand off stack | + +----------------------------------------------------------------------------+ + | Bug #: 2836 Product: XalanJ2 | + | Status: NEW Version: CurrentCVS | + | Resolution: Platform: All | + | Severity: Major OS/Version: All | + | Priority: Other Component: org.apache.xalan.xsltc | + +----------------------------------------------------------------------------+ + | Assigned To: [EMAIL PROTECTED] | + | Reported By: [EMAIL PROTECTED] | + | CC list: Cc: | + +----------------------------------------------------------------------------+ + | URL: | + +============================================================================+ + | DESCRIPTION | + This test involves template conflict resolution in combination with modes. + At runtime, xsltc throws the following exception on test modes15: + + Exception in thread "main" java.lang.VerifyError: (class: modes15, method: + applyTemplates2 signature: + +(Lorg/apache/xalan/xsltc/dom/DOMAdapter;Lorg/apache/xalan/xsltc/NodeIterator;Lorg/apache/xalan/xsltc/TransletOutputHandler;)V) + Unable to pop operand off an empty stack + at java.lang.Class.forName0(Native Method) + at java.lang.Class.forName(Class.java:120) + at + org.apache.xalan.xsltc.cmdline.Transform.doTransform(Transform.java:127) + at org.apache.xalan.xsltc.cmdline.Transform.main(Transform.java:294) + + + XSL + === + <xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0"> + + <!-- FileName: modes15 --> + <!-- Document: http://www.w3.org/TR/xslt --> + <!-- DocVersion: 19991116 --> + <!-- Section: 5.7 Modes --> + <!-- Purpose: Re-use nodes in different modes; templates have step-paths --> + <!-- Creator: Mingfei Peng ([EMAIL PROTECTED]), altered by David Marston --> + <!-- Within a given mode, there are situations when more than one template + will match. Normal conflict-resolution rules should apply. --> + + <xsl:template match="/"> + <out> + <xsl:apply-templates select="sss/sss" mode="c"/> + <xsl:apply-templates select="sss/sss" mode="d"/> + <xsl:apply-templates select="sss//i" mode="c"/> + <xsl:apply-templates select="sss//i" mode="d"/> + <xsl:apply-templates select="/sss/sss/i" mode="c"/> + <xsl:apply-templates select="/sss/sss/i" mode="d"/> + </out> + </xsl:template> + + <xsl:template match="sss//*" mode="d"> + !Any descendant of any sss! + </xsl:template> + + <xsl:template match="/sss//*" mode="d"> + +Any descendant of root sss+ + </xsl:template> + + <xsl:template match="sss/*" mode="c"> + -Any child of any sss- + </xsl:template> + + <xsl:template match="/sss/*" mode="c"> + -Any child of root sss- + </xsl:template> + + </xsl:stylesheet> + + + XML + === + <?xml version="1.0"?> + <sss> + <sss><i>Not OK</i></sss> + </sss>
