Subject: Re: [xsl] Setting variable based on passed in parameter From: "Hardy Merrill" <HMerrill@xxxxxxxxxxxxxxxx> Date: Tue, 30 Nov 2004 11:38:57 -0500 |
I ran into the exact same problem as Matthew. As Richard said, your processor probably has a "node-set" function that you can call to turn a "result tree fragment" into a node set. In MSXML4 I had to do this: <xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:msxsl="urn:schemas-microsoft-com:xslt"> The last line of that is what matters for using "node-set". And then I called node-set like this: select="msxsl:node-set($fragment_variable)" or similar. HTH. Hardy Merrill >>> richardlewis@xxxxxxxxxxxxxx 11/30/04 11:24AM >>> On Tue, 30 Nov 2004 09:12:41 -0700, "Matthew Hailstone" <mhailstone@xxxxxxxxxx> said: > I'm trying to assign a variable a node-set that depends on a parameter > passed into the stylesheet. > > <xsl:param name="nodeValue">something</xsl:param> > <xsl:param name="valueSearch">false</xsl:param> > <xsl:variable name="initialResult"> > <xsl:choose> > <xsl:when test="$valueSearch='false'"> > <xsl:value-of > select="/one/two[three/four[contains(text(),$nodeValue)]]"/> > </xsl:when> > <xsl:otherwise> > <xsl:value-of > select="/one/two[three/four[contains(text(),$nodeValue)]]"/> > </xsl:otherwise> > </xsl:choose> > </xsl:variable> > <xsl:template match="/"> > <xsl:apply-templates select="$initialResult"/> > </xsl:template> > <xsl:template match="/one/two"> > ... > </xsl:template> > > > I get an error in oXygen saying, "Cannot process a result tree fragment > as a node-set under XSLT 1.0" > EXSLT provides the function exslt:node-set(some-node-set) (in the namespace xmlns:exslt="http://exslt.org/common", but only if your processor supports it) which turns a variable into a node set. Its quite expensive, though. Richard. -- Richard Lewis richardlewis@xxxxxxxxxxxxxx
Current Thread |
---|
|
<- Previous | Index | Next -> |
---|---|---|
Re: [xsl] Setting variable based on, David Carlisle | Thread | [xsl] XML + Javascript, ケンジイ ムヤモト |
Re: [xsl] Setting variable based on, que Li | Date | Re: [xsl] Setting variable based on, David Carlisle |
Month |