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

Subject: Re: [xsl] workaround for XSLT 1.0 result tree fragment usage?
From: "Andrew Welch" <andrew.j.welch@xxxxxxxxx>
Date: Wed, 19 Dec 2007 15:09:56 +0000
On 19/12/2007, Don Smith <dsmith_lockesmith@xxxxxxxxx> wrote:
> I know the real answer to my question is to move to
> XSLT 2.0, but for the sake of workplace harmony I'm
> making other efforts as well.
> 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?

3 things:

- If the <program> elements are in your source XML just refer to them
directly, without creating the variable.

- If the <program> elements are from a config file or are hard code in
your stylesheet, you can use the document() function

- use msxml:node-set()   (check the syntax because I've long forgotten it!)

If you're not sure how to use either of the first two, post back with
minimal example input and the required output.

Some people would say "workplace harmony" is an oxymoron?  :)

Andrew Welch

Current Thread