Subject: RE: [xsl] ClassCastException From: "Michael Kay" <mhk@xxxxxxxxx> Date: Fri, 12 Dec 2003 11:26:57 -0000 |
A ClassCastException or any other kind of exception that causes a stack trace like this, with no user extension functions involved, is prima facie evidence of a bug in your XSLT processor and should be reported to your supplier. Michael Kay > -----Original Message----- > From: owner-xsl-list@xxxxxxxxxxxxxxxxxxxxxx > [mailto:owner-xsl-list@xxxxxxxxxxxxxxxxxxxxxx] On Behalf Of > alana@xxxxxxxxxx > Sent: 11 December 2003 11:07 > To: xsl-list@xxxxxxxxxxxxxxxxxxxxxx > Subject: [xsl] ClassCastException > > > why do i get the exception.....the node.xsl file is pasted below > ************************************************************** > ********************** > //XML > <DATA> > <component id="description_of_plates" type="question"> > <property id="label"> > <value>Description of Plates:</value> > </property> > <property id="help"/> > <property id="tooltip"/> > <property id="format"> > <value>textbox</value> > </property> > <property id="cid"></property> > <component id="description_of_plates" type="answer"> > <property id="ans"> > <value></value> > </property> > </component> > </component> > > </DATA> > > > ************************************************************** > ********************** > //XSL > <xsl:call-template name="getvalue2"> > <xsl:with-param name="nodew"> > /DATA/component/<xsl:value-of select="$reqnode"/> > </xsl:with-param> > <xsl:with-param name="selectid">ans</xsl:with-param> > <xsl:with-param name="attr"><xsl:value-of > select="."/></xsl:with-param> </xsl:call-template> > > > <xsl:template name="getvalue2" > > <xsl:param name="nodew"/> > <xsl:param name="selectid"/> > <xsl:param name="attr"/> > <xsl:value-of select="$nodew"/> > <xsl:call-template name="node:xpath"> > <xsl:with-param name="node" > > <xsl:value-of select="$nodew"/> > </xsl:with-param> > </xsl:call-template> > </xsl:template> > ************************************************************** > ********************** > > > This code gives the following error > > java.lang.ClassCastException; SystemID: > http://127.0.0.1:9999/liberty/xsl/node.xsl; Line#: 17; > Column#: 61 javax.xml.transform.TransformerException:j > ava.lang.ClassCastException at > org.apache.xalan.transformer.TransformerImpl.executeChildTempl > ates(Unknown Source) at > org.apache.xalan.templates.ElemChoose.execute(Unknown Source) > at > org.apache.xalan.transformer.TransformerImpl.executeChildTempl > ates(Unknown Source) at > org.apache.xalan.templates.ElemTemplate.execute(Unknown > Source) at > org.apache.xalan.templates.ElemCallTemplate.execute(Unknown > Source) at > org.apache.xalan.transformer.TransformerImpl.executeChildTempl > ates(Unknown Source) at > org.apache.xalan.templates.ElemTemplate.execute(Unknown > Source) at > org.apache.xalan.templates.ElemCallTemplate.execute(Unknown > Source) at > org.apache.xalan.transformer.TransformerImpl.executeChildTempl > ates(Unknown Source) at > org.apache.xalan.templates.ElemLiteralResult.execute(Unknown > Source) at > org.apache.xalan.transformer.TransformerImpl.executeChildTempl > ates(Unknown Source) at > org.apache.xalan.templates.ElemLiteralResult.execute(Unknown > Source) at org.apache.xalan.transformer.TransformerImpl! > .executeChildTemplates(Unknown Source) at > org.apache.xalan.templates.ElemLiteralResult.execute(Unknown > Source) at > org.apache.xalan.transformer.TransformerImpl.executeChildTempl > ates(Unknown Source) at > org.apache.xalan.transformer.TransformerImpl.applyTemplateToNo > de(Unknown Source) > > > ************************************************************** > **************** > node.xsl > <?xml version="1.0"?> > > <xsl:stylesheet version="1.0" > xmlns:xsl="http://www.w3.org/1999/XSL/Transform" > xmlns:node="http://xsltsl.org/node" > > > > > > <xsl:template name="node:xpath"> > <xsl:param name="node" select="."/> > > <xsl:choose> > > <xsl:when test="$node"> > > <xsl:for-each select="$node[1]/ancestor-or-self::*"> > <xsl:text/>/<xsl:value-of select="name()"/> > <xsl:text/>[<xsl:value-of > select="count(preceding-sibling::*[name() = name(current())]) > + 1"/>]<xsl:text/> > </xsl:for-each> > > <xsl:choose> > > <xsl:when test="$node[1]/self::comment()"> > <xsl:text>/comment()</xsl:text> > <xsl:text/>[<xsl:value-of > select="count($node[1]/preceding-sibling::comment()) + 1" > />]<xsl:text/> > </xsl:when> > > <xsl:when test="$node[1]/self::processing-instruction()"> > <xsl:text>/processing-instruction()</xsl:text> > <xsl:text/>[<xsl:value-of > select="count($node[1]/preceding-sibling::processing-instructi > on()) + 1" />]<xsl:text/> > </xsl:when> > > <xsl:when test="$node[1]/self::text()"> > <xsl:text>/text()</xsl:text> > <xsl:text/>[<xsl:value-of > select="count($node[1]/preceding-sibling::text()) + 1" />]<xsl:text/> > </xsl:when> > > <xsl:when test="not($node[1]/..)"> > <xsl:text>/</xsl:text> > </xsl:when> > > <xsl:when test="count($node[1]/../namespace::* | > $node[1]) = count($node[1]/../namespace::*)"> > <xsl:text/>/namespace::<xsl:value-of > select="name($node[1])" /> > </xsl:when> > > <xsl:when test="count($node[1]/../@* | $node[1]) = > count($node[1]/../@*)"> > <xsl:text/>/@<xsl:value-of select="name($node[1])" /> > </xsl:when> > > </xsl:choose> > </xsl:when> > > <xsl:otherwise> > <xsl:text>/..</xsl:text> > </xsl:otherwise> > > </xsl:choose> > > </xsl:template> > > > > <xsl:template name="node:type"> > <xsl:param name="node" select="."/> > > <xsl:choose> > <xsl:when test="not($node)"/> > <xsl:when test="$node[1]/self::*"> > <xsl:text>element</xsl:text> > </xsl:when> > <xsl:when test="$node[1]/self::text()"> > <xsl:text>text</xsl:text> > </xsl:when> > <xsl:when test="$node[1]/self::comment()"> > <xsl:text>comment</xsl:text> > </xsl:when> > <xsl:when test="$node[1]/self::processing-instruction()"> > <xsl:text>processing instruction</xsl:text> > </xsl:when> > <xsl:when test="not($node[1]/parent::*)"> > <xsl:text>root</xsl:text> > </xsl:when> > <xsl:when test="count($node[1] | > $node[1]/../namespace::*) = count($node[1]/../namespace::*)"> > <xsl:text>namespace</xsl:text> > </xsl:when> > <xsl:when test="count($node[1] | $node[1]/../@*) = > count($node[1]/../@*)"> > <xsl:text>attribute</xsl:text> > </xsl:when> > </xsl:choose> > </xsl:template> > > </xsl:stylesheet> > ************************************************************** > ************************************** > > -- > > > MASTEK > "Making a valuable difference" > Mastek in NASSCOM's 'India Top 20' Software Service Exporters > List. In the US, we're called MAJESCO > > ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ > ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ > Opinions expressed in this e-mail are those of the individual > and not that of Mastek Limited, unless specifically indicated > to that effect. Mastek Limited does not accept any > responsibility or liability for it. This e-mail and > attachments (if any) transmitted with it are confidential > and/or privileged and solely for the use of the intended > person or entity to which it is addressed. Any review, > re-transmission, dissemination or other use of or taking of > any action in reliance upon this information by persons or > entities other than the intended recipient is prohibited. > This e-mail and its attachments have been scanned for the > presence of computer viruses. It is the responsibility of the > recipient to run the virus check on e-mails and attachments > before opening them. If you have received this e-mail in > error, kindly delete this e-mail from all computers. > ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ > ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ > > > XSL-List info and archive: http://www.mulberrytech.com/xsl/xsl-list > XSL-List info and archive: http://www.mulberrytech.com/xsl/xsl-list
Current Thread |
---|
|
<- Previous | Index | Next -> |
---|---|---|
Re: [xsl] ClassCastException, David Carlisle | Thread | [xsl] ClassCastException, alana |
RE: [xsl] how to estimate speed of , Michael Kay | Date | RE: [xsl] how to estimate speed of , Michael Kay |
Month |