Thank you for the input.

I forget to point out that RuleSet is retrieved from xml doc. Is this a valid 
thing to do? Or is there a way around this?
Just to recap, it is working fine with MSMXL but I keep getting this error in 
XalanC: XSLT
error: The variable 'ActiveBO' is not defined, source tree node: FIELD (
file:///D:\OnDemandXSLT\Step1.xsl, line 178, column 174). 


<xsl:variable name="RuleSet" select="document('D:\Rule2.xml')"/>

<!-- Main Template Rules -->

<xsl:template match="/TXNS">
        <xsl:variable name="ActiveBO">Test</xsl:variable>
        <xsl:element name="TXNS">
                        <xsl:apply-templates select="$RuleSet//[EMAIL 
PROTECTED] = $ActiveBO]" mode="GetSrcField">
                        </xsl:apply-templates>
        </xsl:element>
</xsl:template>
</xsl:stylesheet>


Thank you

Maya


-----Original Message-----
From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED]
Sent: Thursday, March 25, 2004 11:49 AM
To: [email protected]
Subject: Re: Question on syntax error on Xalan that works on MSXML






Hi Maya,

On the surface, that would appear to be a bug.  Can you reduce it to a
simple test case and create a Bugzilla report?  That's the best way to get
a problem resolved.

By the way, since you are just starting out with XSLT, let me point out
something you are doing that's not necessary.  This definition of
xsl:with-param creates a result tree fragment:

   <xsl:with-param name="Field"><xsl:value-of
   select="@Name"/></xsl:with-param>

This defintion creates only a string, which is far more efficient:

   <xsl:with-param name="Field" select="@Name"/>

You should avoid creating an instance of xsl:variable, xsl:with-param, or
xsl:param with xsl:value-of as the only child, because it's usually more
expensive than the corresponding string version.

Thanks!



|---------+--------------------------->
|         |           "Maya Widyasari"|
|         |           <Maya.Widyasari@|
|         |           Siebel.com>     |
|         |                           |
|         |           03/25/2004 11:30|
|         |           AM              |
|         |           Please respond  |
|         |           to xalan-c-users|
|---------+--------------------------->
  
>--------------------------------------------------------------------------------------------------------------------------------------------------|
  |                                                                             
                                                                     |
  |        To:      [email protected]                                
                                                                     |
  |        cc:      (bcc: David N Bertoni/Cambridge/IBM)                        
                                                                     |
  |        Subject: Question on syntax error on Xalan that works on MSXML       
                                                                     |
  
>--------------------------------------------------------------------------------------------------------------------------------------------------|



Hi,

I am trying to run this code in Xalan 1.7, but I keep getting error: XSLT
error: The variable 'ActiveBO' is not defined, source tree node: FIELD (
file:///D:\OnDemandXSLT\Step1.xsl, line 178, column 174). However, this is
working fine in MSXML.

Any tips or pointer?

<xsl:template match="TEST/OPERATION/FIELDS/FIELD" mode="GetErrorFieldRule">
 <xsl:param name="ActiveBO"/>
 <xsl:param name="ActiveBC"/>

 <xsl:variable name="ErrorField">
  <xsl:apply-templates select="$RuleSet//[EMAIL PROTECTED] =
'CreateErrorNotification']/[EMAIL PROTECTED] = $ActiveBO]/[EMAIL PROTECTED] =
$ActiveBC]/SRCFIELDS/SRCFIELD" mode="GetSrcField">
   <xsl:with-param name="Field"><xsl:value-of
select="@Name"/></xsl:with-param>
  </xsl:apply-templates>
 </xsl:variable>

 <xsl:value-of select="count(msxsl:node-set($ErrorField)//SRCFIELD)"/>
</xsl:template>
Any help will be appreaciated, this is my first day learning XSLT.

Thank you

Maya




Reply via email to