Note
Access to this page requires authorization. You can try signing in or .
Access to this page requires authorization. You can try .
XsltArgumentList.AddParam(String, String, Object) Method
Definition
- Namespace:
- System.Xml.Xsl
- Assemblies:
- netstandard.dll, System.Xml.ReaderWriter.dll
- Assembly:
- System.Xml.ReaderWriter.dll
- Assembly:
- System.Xml.dll
- Assembly:
- netstandard.dll
- Source:
- XsltArgumentList.cs
- Source:
- XsltArgumentList.cs
- Source:
- XsltArgumentList.cs
- Source:
- XsltArgumentList.cs
- Source:
- XsltArgumentList.cs
Important
Some information relates to prerelease product that may be substantially modified before itβs released. Microsoft makes no warranties, express or implied, with respect to the information provided here.
Adds a parameter to the XsltArgumentList and associates it with the namespace qualified name.
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
The name to associate with the parameter.
- namespaceUri
- String
The namespace URI to associate with the parameter. To use the default namespace, specify an empty string.
- parameter
- Object
The parameter value or object to add to the list.
Exceptions
The namespaceUri is either null or http://www.w3.org/1999/XSL/Transform.
The name is not a valid name according to the W3C XML specification.
The namespaceUri already has a parameter associated with it.
Examples
The following example uses the AddParam method to create a parameter representing the current date and time.
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
The example uses the following two data files as input.
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>
Remarks
The parameter should correspond to a W3C type. The following table shows the W3C types, either XPath or XSLT, and the corresponding.NET class.
| W3C Type | Equivalent.NET Class (Type) |
|---|---|
String (XPath) |
String |
Boolean (XPath) |
Boolean |
Number (XPath) |
Double |
Result Tree Fragment (XSLT) |
XPathNavigator |
Node Set (XPath) |
XPathNodeIteratorXPathNavigator[] |
Node* (XPath) |
XPathNavigator |
*This is equivalent to a node set that contains a single node.
If the parameter object being invoked from within the style sheet is not one of the above, it is converted according to the following rules:
CLR numeric types are converted to Double.
IXPathNavigable types are converted to XPathNavigator.
XPathNavigator[]is converted to XPathNodeIterator.
All other types throw an error.
Applies to
See also
Feedback
Was this page helpful?
