Subject: RE: [xsl] Reference to variable cannot be resolved. From: "Martinez, Brian" <brian.martinez@xxxxxxxx> Date: Thu, 13 Feb 2003 11:37:45 -0700 |
> From: Imrran Wahid [mailto:devguy2003@xxxxxxxxx] > Sent: Thursday, February 13, 2003 11:19 AM > 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]) > > 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
Current Thread |
---|
|
<- Previous | Index | Next -> |
---|---|---|
RE: [xsl] Reference to variable can, Dunning, John | Thread | RE: [xsl] Reference to variable can, Martinez, Brian |
[xsl] How can I translate a single , Chris Loschen | Date | [xsl] XSLT Namespace Problems, Michael . Flanakin |
Month |