Subject: RE: [xsl] Error when params are in Xpath expression From: "Michael Kay" <mike@xxxxxxxxxxxx> Date: Tue, 12 May 2009 12:13:12 +0100 |
Variable references such as $toLang can be used in place of literal values. They can't be used in place of arbitrary fragments of XPath expression text (they aren't macros). If $toLang is an element name, then you can find elements of that name using *[name()=$toLang]. Regards, Michael Kay http://www.saxonica.com/ http://twitter.com/michaelhkay > -----Original Message----- > From: Dmitri Snytkine [mailto:d.snytkine@xxxxxxxxx] > Sent: 12 May 2009 12:06 > To: xsl-list > Subject: [xsl] Error when params are in Xpath expression > > <!-- get translation of a string --> > <xsl:template name="translateString"> > <xsl:param name="str" select="'recent_albums'"/> > <xsl:param name="toLang"/> > <xsl:param name="fallback" select="'en'"/> > > <xsl:choose> > <xsl:when test="true()"> > > <xsl:value-of > select="document('')/*/trans:tr/tr_string[@str=$str]/$toLang"/> > </xsl:when> > <xsl:otherwise> > <xsl:value-of select="'not found'"/> > </xsl:otherwise> > </xsl:choose> > </xsl:template> > > > I get errors when running this template. > If I manually replace the $str and $toLang, then I am getting > the correct result. > > <xsl:value-of > select="document('')/*/trans:tr/tr_string[@str='recent_images']/ru"/> > > What is wrong with my syntax that uses params? Are params > allowed in Xpath expression?
Current Thread |
---|
|
<- Previous | Index | Next -> |
---|---|---|
[xsl] Error when params are in Xpat, Dmitri Snytkine | Thread | Re: [xsl] Error when params are in , Dmitri Snytkine |
[xsl] Error when params are in Xpat, Dmitri Snytkine | Date | Re: [xsl] Error when params are in , David Carlisle |
Month |