[XSL-LIST Mailing List Archive Home] [By Thread] [By Date] [Recent Entries] [Reply To This Message] RE: Reference to variable cannot be resolved.
> From: Imrran Wahid [mailto:devguy2003@xxxxxxxxx] > Sent: Thursday, February 13, 2003 11:19 AM > Subject: 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]) > > 0"> > <th><xsl:value-of select="$ItemName"/></th> > </xsl:if> > </xsl:for-each> > </tr> > </xsl:template> > </xsl:stylesheet> > > > Can anyone spot the culprit? It's a scope issue: $ItemAStruct exists only within its local template, so your matching template can't "see" it. You have two options: make $ItemAStruct a global variable (i.e., move its xsl:variable declaration outside your templates), or better yet, pass it as a parameter: <xsl:apply-templates select="//Content/ItemAs"> <xsl:with-param name="ItemAStruct" select="document('lookup.xml')/TableStructures/ItemA"/> </xsl:apply-templates> <xsl:template match="ItemAs"> <xsl:param name="ItemAStruct"/> <!-- rest of code --> </xsl:template> hth, b. | brian martinez brian.martinez@xxxxxxxx | | senior gui programmer 303.708.7248 | | trip network, inc. fax 303.790.9350 | | 6436 s. racine cir. englewood, co 80111 | | http://www.cheaptickets.com/ http://www.trip.com/ | XSL-List info and archive: http://www.mulberrytech.com/xsl/xsl-list
|
PURCHASE STYLUS STUDIO ONLINE TODAY!Purchasing Stylus Studio from our online shop is Easy, Secure and Value Priced! Download The World's Best XML IDE!Accelerate XML development with our award-winning XML IDE - Download a free trial today! Subscribe in XML format
|