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

Définition

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

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 ou objet de paramètre à ajouter à la liste.

Exceptions

L’une namespaceUri ou l’autre nullhttp://www.w3.org/1999/XSL/Transformest .

Le name nom n’est pas valide conformément à la spécification XML W3C.

Le namespaceUri paramètre est déjà associé à celui-ci.

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

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

W3C Type Équivalent.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 à un jeu de nœuds qui contient 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 en fonction des règles suivantes :

Tous les autres types génèrent une erreur.

S’applique à

Voir aussi