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 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) |
XPathNodeIteratorXPathNavigator[] |
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 :
Les types numériques CLR sont convertis en Double.
IXPathNavigable les types sont convertis en XPathNavigator.
XPathNavigator[]est converti en XPathNodeIterator.
Tous les autres types génèrent une erreur.