XsltArgumentList.AddParam(String, String, Object) Méthode
Définition
Important
Certaines informations portent sur la préversion du produit qui est susceptible d’être en grande partie modifiée avant sa publication. Microsoft exclut toute garantie, expresse ou implicite, concernant les informations fournies ici.
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) |
XPathNodeIteratorXPathNavigator[] |
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 :
Les types CLR numériques sont convertis en objet Double.
Les types IXPathNavigable sont convertis en XPathNavigator.
XPathNavigator[]
est converti XPathNodeIteratoren .
Tous les autres types provoquent une erreur.