Freigeben über


XsltArgumentList.AddParam-Methode

Fügt der XsltArgumentList einen Parameter hinzu und ordnet diesem den durch einen Namespace gekennzeichneten Namen zu.

Namespace: System.Xml.Xsl
Assembly: System.Xml (in system.xml.dll)

Syntax

'Declaration
Public Sub AddParam ( _
    name As String, _
    namespaceUri As String, _
    parameter As Object _
)
'Usage
Dim instance As XsltArgumentList
Dim name As String
Dim namespaceUri As String
Dim parameter As Object

instance.AddParam(name, namespaceUri, parameter)
public void AddParam (
    string name,
    string namespaceUri,
    Object parameter
)
public:
void AddParam (
    String^ name, 
    String^ namespaceUri, 
    Object^ parameter
)
public void AddParam (
    String name, 
    String namespaceUri, 
    Object parameter
)
public function AddParam (
    name : String, 
    namespaceUri : String, 
    parameter : Object
)

Parameter

  • name
    Der Name, der dem Parameter zugeordnet werden soll.
  • namespaceUri
    Der Namespace-URI, der dem Parameter zugeordnet werden soll. Um den Standardnamespace verwenden zu können, geben Sie eine leere Zeichenfolge an.
  • parameter
    Der Parameterwert oder das Objekt, der bzw. das der Liste hinzugefügt werden soll.

Ausnahmen

Ausnahmetyp Bedingung

ArgumentException

Der namespaceUri ist entweder NULL (Nothing in Visual Basic) oder http://www.w3.org/1999/XSL/Transform.

Der name ist kein gültiger Name entsprechend der W3C-Spezifikation zu XML.

Dem namespaceUri ist bereits ein Parameter zugeordnet.

Hinweise

Der parameter muss einem W3C-Typ entsprechen. In der folgenden Tabelle sind die W3C-Typen (XPath oder XSLT) und die entsprechenden .NET-Klassen aufgeführt.

W3C-Typ

Equivalent.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 einer Knotengruppe, die einen einzelnen Knoten enthält.

Nicht aufgeführte Parameterobjekte werden nach den folgenden Regeln konvertiert. Numerische CLR-Typen werden in Double konvertiert. Der DateTime-Typ wird in String, IXPathNavigable-Typen werden in XPathNavigator und XPathNavigator[] wird in XPathNodeIterator konvertiert.

Alle anderen Typen lösen einen Fehler aus.

Beispiel

Im folgenden Beispiel wird mit der AddParam-Methode ein Parameter erstellt, der das aktuelle Datum und die aktuelle Uhrzeit darstellt.

Imports System
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())
        
        ' Transform the file.
        xslt.Transform("order.xml", xslArg, XmlWriter.Create("output.xml"))
    
    End Sub 'Main 
End Class 'Sample
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.
     xslt.Transform("order.xml", xslArg, XmlWriter.Create("output.xml"));
    
  }
}
#using <System.Xml.dll>

using namespace System;
using namespace System::IO;
using namespace System::Xml;
using namespace System::Xml::XPath;
using namespace System::Xml::Xsl;
int main()
{
   
   // Create the XslCompiledTransform and load the stylesheet.
   XslCompiledTransform^ xslt = gcnew XslCompiledTransform;
   xslt->Load( "order.xsl" );
 
   // Create the XsltArgumentList.
   XsltArgumentList^ xslArg = gcnew XsltArgumentList;
   
   // Create a parameter which represents the current date and time.
   DateTime d = DateTime::Now;
   xslArg->AddParam( "date", "", d );
      
   // Transform the file.
   xslt->Transform("order.xml", xslArg, XmlWriter::Create("output.xml"));
}
import System.*;
import System.IO.*;
import System.Xml.*;
import System.Xml.XPath.*;
import System.Xml.Xsl.*;

public class Sample
{

    public static void main(String[] args)
    {
        // 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.get_Now();
        xslArg.AddParam("date", "", d.ToString());

        // Transform the file.
        xslt.Transform("order.xml", xslArg, XmlWriter.Create("output.xml"));
  
    } //main 
} //Sample

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>

Plattformen

Windows 98, Windows 2000 SP4, Windows Millennium Edition, Windows Server 2003, Windows XP Media Center Edition, Windows XP Professional x64 Edition, Windows XP SP2, Windows XP Starter Edition

.NET Framework unterstützt nicht alle Versionen sämtlicher Plattformen. Eine Liste der unterstützten Versionen finden Sie unter Systemanforderungen.

Versionsinformationen

.NET Framework

Unterstützt in: 2.0, 1.1, 1.0

Siehe auch

Referenz

XsltArgumentList-Klasse
XsltArgumentList-Member
System.Xml.Xsl-Namespace

Weitere Ressourcen

XSLT-Erweiterungsobjekte
XSLT-Parameter
Verwenden der XslCompiledTransform-Klasse