XsltArgumentList.AddParam(String, String, Object) Metoda
Definice
Důležité
Některé informace platí pro předběžně vydaný produkt, který se může zásadně změnit, než ho výrobce nebo autor vydá. Microsoft neposkytuje žádné záruky, výslovné ani předpokládané, týkající se zde uváděných informací.
Přidá do něj XsltArgumentList parametr a přidruží ho k kvalifikovanému názvu oboru názvů.
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)
Parametry
- name
- String
Název, který chcete přidružit k parametru.
- namespaceUri
- String
Identifikátor URI oboru názvů, který se má přidružit k parametru. Pokud chcete použít výchozí obor názvů, zadejte prázdný řetězec.
- parameter
- Object
Hodnota parametru nebo objekt, který chcete přidat do seznamu.
Výjimky
Je namespaceUri
to buď null
nebo http://www.w3.org/1999/XSL/Transform.
Není name
platný název podle specifikace W3C XML.
Parametr namespaceUri
už má přidružený.
Příklady
Následující příklad používá metodu AddParam k vytvoření parametru představujícího aktuální datum a čas.
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
V příkladu se jako vstup používají následující dva datové soubory.
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>
Poznámky
Měl parameter
by odpovídat typu W3C. Následující tabulka uvádí typy W3C, XPath nebo XSLT a třídu corresponding.NET.
Typ W3C | Equivalent.NET – třída (typ) |
---|---|
String (XPath) |
String |
Boolean (XPath) |
Boolean |
Number (XPath) |
Double |
Result Tree Fragment (XSLT) |
XPathNavigator |
Node Set (XPath) |
XPathNodeIteratorXPathNavigator[] |
Node * (XPath) |
XPathNavigator |
*Toto je ekvivalentem sady uzlů, která obsahuje jeden uzel.
Pokud objekt parametru vyvolaný ze šablony stylů není jedním z výše uvedených, převede se podle následujících pravidel:
Číselné typy CLR jsou převedeny na Double.
IXPathNavigable typy jsou převedeny na XPathNavigator.
XPathNavigator[]
je převeden na XPathNodeIterator.
Všechny ostatní typy vyvolá chybu.