XsltArgumentList.AddParam(String, String, Object) Methode

Definition

Fügt dem XsltArgumentList Namespace einen Parameter hinzu und ordnet ihn dem qualifizierten Namespacenamen zu.

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)

Parameter

name
String

Der Name, der dem Parameter zugeordnet werden soll.

namespaceUri
String

Der Namespace-URI, der dem Parameter zugeordnet werden soll. Um den Standardnamespace zu verwenden, geben Sie eine leere Zeichenfolge an.

parameter
Object

Der Parameterwert oder das Objekt, der der Liste hinzugefügt werden soll.

Ausnahmen

Dies namespaceUri ist entweder null oder http://www.w3.org/1999/XSL/Transform.

Dies name ist kein gültiger Name gemäß der W3C-XML-Spezifikation.

Der namespaceUri Parameter ist bereits zugeordnet.

Beispiele

Im folgenden Beispiel wird die AddParam Methode verwendet, um einen Parameter zu erstellen, der das aktuelle Datum und die aktuelle Uhrzeit darstellt.

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

Im Beispiel werden die folgenden beiden Datendateien als Eingabe verwendet.

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>

Hinweise

Dies parameter sollte einem W3C-Typ entsprechen. Die folgende Tabelle zeigt die W3C-Typen, entweder XPath oder XSLT, und die entsprechende klasse.NET.

W3C-Typ Entsprechung.NET Klasse (Typ)
String (XPath) String
Boolean (XPath) Boolean
Number (XPath) Double
Result Tree Fragment (XSLT) XPathNavigator
Node Set (XPath) XPathNodeIterator

XPathNavigator[]
Node* (XPath) XPathNavigator

*Dies entspricht einem Knotensatz, der einen einzelnen Knoten enthält.

Wenn das parameterobjekt, das innerhalb des Stylesheets aufgerufen wird, nicht einer der oben genannten Ist, wird es gemäß den folgenden Regeln konvertiert:

Alle anderen Typen lösen einen Fehler aus.

Gilt für:

Weitere Informationen