XsltArgumentList.AddParam(String, String, Object) Methode

Definitie

Voegt een parameter toe aan de XsltArgumentList parameter en koppelt deze aan de naamruimte gekwalificeerde naam.

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)

Parameters

name
String

De naam die moet worden gekoppeld aan de parameter.

namespaceUri
String

De naamruimte-URI die moet worden gekoppeld aan de parameter. Als u de standaardnaamruimte wilt gebruiken, geeft u een lege tekenreeks op.

parameter
Object

De parameterwaarde of het object dat u aan de lijst wilt toevoegen.

Uitzonderingen

De namespaceUri is of nullhttp://www.w3.org/1999/XSL/Transform.

Het name is geen geldige naam volgens de W3C XML-specificatie.

Er namespaceUri is al een parameter aan gekoppeld.

Voorbeelden

In het volgende voorbeeld wordt de AddParam methode gebruikt om een parameter te maken die de huidige datum en tijd vertegenwoordigt.

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

In het voorbeeld worden de volgende twee gegevensbestanden als invoer gebruikt.

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>

Opmerkingen

Het parameter moet overeenkomen met een W3C-type. In de volgende tabel ziet u de W3C-typen, XPath of XSLT, en de bijbehorende klasse.NET.

W3C-type Equivalent.NET klasse (type)
String (XPath) String
Boolean (XPath) Boolean
Number (XPath) Double
Result Tree Fragment (XSLT) XPathNavigator
Node Set (XPath) XPathNodeIterator

XPathNavigator[]
Node* (XPath) XPathNavigator

*Dit komt overeen met een knooppuntset die één knooppunt bevat.

Als het parameterobject dat vanuit het opmaakmodel wordt aangeroepen, niet een van de bovenstaande is, wordt het geconverteerd volgens de volgende regels:

Alle andere typen veroorzaken een fout.

Van toepassing op

Zie ook