XsltArgumentList.AddParam(String, String, Object) Méthode

Définition

Ajoute un paramètre à XsltArgumentList et l'associe au nom qualifié d'espace de noms.

public:
 void AddParam(System::String ^ name, System::String ^ namespaceUri, System::Object ^ parameter);
public void AddParam (string name, string namespaceUri, object parameter);
member this.AddParam : string * string * obj -> unit
Public Sub AddParam (name As String, namespaceUri As String, parameter As Object)

Paramètres

name
String

Nom à associer au paramètre.

namespaceUri
String

URI d'espace de noms à associer au paramètre. Pour utiliser l'espace de noms par défaut, spécifiez une chaîne vide.

parameter
Object

Valeur de paramètre ou objet à ajouter à la liste.

Exceptions

namespaceUri est null ou http://www.w3.org/1999/XSL/Transform.

name n'est pas un nom valide conformément à la spécification du W3C relative au XML.

namespaceUri possède déjà un paramètre qui lui est associé.

Exemples

L’exemple suivant utilise la AddParam méthode pour créer un paramètre représentant la date et l’heure actuelles.

using System;
using System.IO;
using System.Xml;
using System.Xml.Xsl;

public class Sample
{

    public static void Main()
    {

        // Create the XslCompiledTransform and load the stylesheet.
        XslCompiledTransform xslt = new XslCompiledTransform();
        xslt.Load("order.xsl");

        // Create the XsltArgumentList.
        XsltArgumentList xslArg = new XsltArgumentList();

        // Create a parameter which represents the current date and time.
        DateTime d = DateTime.Now;
        xslArg.AddParam("date", "", d.ToString());

        // Transform the file.
        using (XmlWriter w = XmlWriter.Create("output.xml"))
        {
            xslt.Transform("order.xml", xslArg, w);
        }
    }
}
Imports System.IO
Imports System.Xml
Imports System.Xml.Xsl

Public Class Sample

    Public Shared Sub Main()

        ' Create the XslCompiledTransform and load the stylesheet.
        Dim xslt As New XslCompiledTransform()
        xslt.Load("order.xsl")

        ' Create the XsltArgumentList.
        Dim xslArg As New XsltArgumentList()

        ' Create a parameter which represents the current date and time.
        Dim d As DateTime = DateTime.Now
        xslArg.AddParam("date", "", d.ToString())

        Using w As XmlWriter = XmlWriter.Create("output.xml")
            ' Transform the file.
            xslt.Transform("order.xml", xslArg, w)
        End Using

    End Sub
End Class

L’exemple utilise les deux fichiers de données suivants comme entrée.

order.xml

<!--Represents a customer order-->
<order>
  <book ISBN='10-861003-324'>
    <title>The Handmaid's Tale</title>
    <price>19.95</price>
  </book>
  <cd ISBN='2-3631-4'>
    <title>Americana</title>
    <price>16.95</price>
  </cd>
</order>

order.xsl

<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
  <xsl:param name="date"/>
  <xsl:template match="/">
    <order>
      <date><xsl:value-of select="$date"/></date>
      <total><xsl:value-of select="sum(//price)"/></total>
    </order>
  </xsl:template>
</xsl:stylesheet>

Remarques

le parameter doit correspondre à un type W3C. Le tableau suivant présente les types W3C, XPath ou XSLT, et la classe corresponding.NET.

Type W3C Equivalent.NET, classe (type)
String (XPath) String
Boolean (XPath) Boolean
Number (XPath) Double
Result Tree Fragment (XSLT) XPathNavigator
Node Set (XPath) XPathNodeIterator

XPathNavigator[]
Node* (XPath) XPathNavigator

*Cela équivaut à une collection de nœuds contenant un seul nœud.

Si l’objet de paramètre appelé à partir de la feuille de style n’est pas l’un des éléments ci-dessus, il est converti selon les règles suivantes :

Tous les autres types provoquent une erreur.

S’applique à

Voir aussi