Supporto per la funzione msxsl:node-set()Support for the msxsl:node-set() Function

La funzione msxsl:node-set consente di convertire un frammento di albero risultato in un set di nodi.The msxsl:node-set function enables you to convert a result tree fragment into a node set. Il set di nodi risultante contiene sempre un nodo singolo ed è il nodo radice dell'albero.The resulting node set always contains a single node and is the root node of the tree.

Nota

La classe XslTransform è obsoleta in .NET Framework 2.0.NET Framework 2.0.The XslTransform class is obsolete in the .NET Framework 2.0.NET Framework 2.0. È possibile eseguire le trasformazioni XSLT (Extensible Stylesheet Language for Transformations) usando la classe XslCompiledTransform.You can perform Extensible Stylesheet Language for Transformations (XSLT) transformations using the XslCompiledTransform class. Per altre informazioni, vedere Utilizzo della classe XslCompiledTransform e Migrazione dalla classe XslTransform.See Using the XslCompiledTransform Class and Migrating From the XslTransform Class for more information.

La funzione msxsl:node-set consente di convertire un frammento di albero risultato in un set di nodi.The msxsl:node-set function enables you to convert a result tree fragment into a node set. Il set di nodi risultante contiene sempre un nodo singolo ed è il nodo radice dell'albero.The resulting node set always contains a single node and is the root node of the tree.

EsempioExample

Nell'esempio seguente $var è una variabile che rappresenta l'albero dei nodi del foglio di stile.In the following example, $var is a variable that is a node tree in the style sheet. L'istruzione for-each combinata con la funzione node-set consente all'utente di eseguire un'iterazione su questo albero come set di nodi.The for-each statement combined with the node-set function allows the user to iterate over this node tree as a node set.

nodeset.xslnodeset.xsl

<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform"  
                xmlns:msxsl="urn:schemas-microsoft-com:xslt"  
                xmlns:user="http://www.contoso.com"  
                version="1.0">  
    <xsl:variable name="books">  
        <book author="Michael Howard">Writing Secure Code</book>  
        <book author="Michael Kay">XSLT Reference</book>  
    </xsl:variable>  

    <xsl:template match="/">  
        <authors>  
            <xsl:for-each select="msxsl:node-set($books)/book">   
                <author><xsl:value-of select="@author"/)</author>  
            </xsl:for-each>  
        </authors>  
    </xsl:template>  
</xsl:stylesheet>  

OutputOutput

Output della trasformazione:The output of the transformation is

<?xml version="1.0" encoding="utf-8"?>  
<authors><author>Michael Howard</author><author>Michael Kay</author></authors>  

Vedere ancheSee Also

Implementazione del processore XSLT da parte della classe XslTransformXslTransform Class Implements the XSLT Processor