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.executeChildTemplates(Unknown 
Source) at org.apache.xalan.templates.ElemChoose.execute(Unknown Source) at 
org.apache.xalan.transformer.TransformerImpl.executeChildTemplates(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.executeChildTemplates(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.executeChildTemplates(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.executeChildTemplates(Unknown 
Source) at org.apache.xalan.templates.ElemLiteralResult.execute(Unknown Source) 
at org.apache.xalan.transformer.TransformerImpl.executeChildTemplates(Unknown 
Source) at 
org.apache.xalan.transformer.TransformerImpl.applyTemplateToNode(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-instruction()) + 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>
****************************************************************************************************
alan
--


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.
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

Reply via email to