Re: node-set() function in MSXML?

Subject: Re: node-set() function in MSXML?
From: "Steve Muench" <smuench@xxxxxxxxxxxxx>
Date: Tue, 1 Aug 2000 16:49:48 -0700
| 
| Does MSXML implement a node-set() function (in a standard way)?
| 

Not sure what you mean by "in a standard way", since the
node-set() function is not part of the XSLT 1.0 Recommendation,
but my experience playing with MSXSL3 (retested just now on the 
July 2000) is that MSXSL3 does not require a node-set()
function because it treats Result Tree Fragments as node-sets

Try the following with MSXSL3 (using any convenient XML file as input):

<test xsl:version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform";>
  <xsl:variable name="x">
    <a>
      <b>one</b>
      <b>two</b>
    </a>
  </xsl:variable>
  <xsl:for-each select="$x/a/b">
    <c><xsl:value-of select="."/></c>
  </xsl:for-each>
</test>

You'll get:

<?xml version="1.0" encoding="UTF-16"?>
<test><c>one</c><c>two</c></test>

as output.

Late-model versions of Saxon, OracleXSL, XT, and Xalan
complain about "cannot convert result tree fragment",
so require an extension function to achieve this.

______________________________________________________________
Steve Muench, Lead XML Evangelist & Consulting Product Manager
BC4J & XSQL Servlet Development Teams, Oracle Rep to XSL WG
Author "Building Oracle XML Applications", O'Reilly
http://www.oreilly.com/catalog/orxmlapp/



 XSL-List info and archive:  http://www.mulberrytech.com/xsl/xsl-list


Current Thread