RE: [xsl] Reference to variable cannot be resolved.

Subject: RE: [xsl] Reference to variable cannot be resolved.
From: "Dunning, John" <JDunning@xxxxxxxxx>
Date: Thu, 13 Feb 2003 13:31:45 -0500
Move
<xsl:variable name="ItemAStruct"
select="document('lookup.xml')/TableStructures/ItemA"/>

out of the first template, as it's not in scope when it is passed to the
second template, e.g.:

<xsl:stylesheet ...>
<xsl:variable name="ItemAStruct".../>
<xsl:template match="/">
</>
<xsl:template match="ItemAs">
</xsl:template>
</xsl:stylesheet>

HTH,
John

-----Original Message-----
From: Imrran Wahid [mailto:devguy2003@xxxxxxxxx]
Sent: Thursday, February 13, 2003 1:19 PM
To: xsl-list@xxxxxxxxxxxxxxxxxxxxxx
Subject: [xsl] Reference to variable cannot be resolved.


I get the following error when attempting to transform
an xml using IE 6.

"A reference to variable or parameter 'ItemAStruct'
cannot be resolved. The variable or parameter may not
be defined, or it may not be in scope."

Here's a snippet from my xsl:
<xsl:template match="/">
  <html>
   <body bgcolor="#B0C4DE">
    <xsl:variable name="ItemAStruct"
select="document('lookup.xml')/TableStructures/ItemA"/>
    
    <xsl:apply-templates select="//Content/ItemAs" /> 
  </body>
  </html>
</xsl:template>

<xsl:template match="ItemAs">
  <xsl:variable name="ItemAs" select="."/>
  <!-- process each ItemA element from lookup.xml -->
  <tr>
  <xsl:for-each select="$ItemAStruct">
    <xsl:variable name="ItemName"
select="string(name(.))"/>
    <xsl:if test="count($ItemAs/*[name(.)=$ItemName])
&gt; 0">
      <th><xsl:value-of select="$ItemName"/></th>
    </xsl:if>
  </xsl:for-each>
  </tr>
</xsl:template>
</xsl:stylesheet>


Can anyone spot the culprit?
Imrran



__________________________________________________
Do you Yahoo!?
Yahoo! Shopping - Send Flowers for Valentine's Day
http://shopping.yahoo.com

 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