XsltArgumentList.AddParam(String, String, Object) Metod
Definition
Viktigt
En del information gäller för förhandsversionen av en produkt och kan komma att ändras avsevärt innan produkten blir allmänt tillgänglig. Microsoft lämnar inga garantier, uttryckliga eller underförstådda, avseende informationen som visas här.
Lägger till en parameter i XsltArgumentList och associerar den med det namnområdeskvalificerade namnet.
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)
Parametrar
- name
- String
Namnet som ska associeras med parametern.
- namespaceUri
- String
Den namnområdes-URI som ska associeras med parametern. Om du vill använda standardnamnområdet anger du en tom sträng.
- parameter
- Object
Parametervärdet eller objektet som ska läggas till i listan.
Undantag
namespaceUri är antingen null eller http://www.w3.org/1999/XSL/Transform.
name är inte ett giltigt namn enligt W3C XML-specifikationen.
Den namespaceUri har redan en parameter som är associerad med den.
Exempel
I följande exempel används AddParam metoden för att skapa en parameter som representerar aktuellt datum och tid.
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
I exemplet används följande två datafiler som indata.
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>
Kommentarer
parameter Ska motsvara en W3C-typ. I följande tabell visas W3C-typerna, antingen XPath eller XSLT, och motsvarande.NET-klass.
| W3C-typ | Motsvarande.NET-klass (typ) |
|---|---|
String (XPath) |
String |
Boolean (XPath) |
Boolean |
Number (XPath) |
Double |
Result Tree Fragment (XSLT) |
XPathNavigator |
Node Set (XPath) |
XPathNodeIteratorXPathNavigator[] |
Node* (XPath) |
XPathNavigator |
*Detta motsvarar en noduppsättning som innehåller en enda nod.
Om parameterobjektet som anropas inifrån formatmallen inte är något av ovanstående konverteras det enligt följande regler:
CLR-numeriska typer konverteras till Double.
IXPathNavigable -typer konverteras till XPathNavigator.
XPathNavigator[]konverteras till XPathNodeIterator.
Alla andra typer genererar ett fel.
Gäller för
Se även
- XSLT-tilläggsobjekt
- XSLT-parametrar
- Att använda klassen XslCompiledTransform