Re: [xsl] workaround for XSLT 1.0 result tree fragment usage?

Subject: Re: [xsl] workaround for XSLT 1.0 result tree fragment usage?
From: Martin Honnen <Martin.Honnen@xxxxxx>
Date: Wed, 19 Dec 2007 16:09:29 +0100
Don Smith wrote:

Using XSLT 1.0 and MSXML I've run into the limitation
of an improper use of a result tree fragment. I'm
creating a variable, "confirm_active_program" that
contains some number of <program> elements like so:

<program active="true"/>
<program active="false"/>

I then have a choose statement which contains a when
test:

<xsl:when
test="not($confirm_active_program/program[@active =
'true'])">...</xsl:when>

The only error I'm getting is that the expression
requires a node-set. Going back and reading on RTFs in
1.0 I realize this isn't going to work. Is there any
other way to accomplish my desired effect in 1.0?

MSXML supports an extension function to convert a result tree fragment into a node-set, the function is named node-set and is in the namespace urn:schemas-microsoft-com:xslt so you can do e.g.
<xsl:variable name="v1"
xmlns:msxsl="urn:schemas-microsoft-com:xslt" select="msxsl:node-set($confirm_active_program)"/>
<xsl:when test="not($v1/program[@active =
'true'])">


--

	Martin Honnen
	http://JavaScript.FAQTs.com/

Current Thread