XsltArgumentList.AddParam(String, String, Object) Metode
Definisi
Penting
Beberapa informasi terkait produk prarilis yang dapat diubah secara signifikan sebelum dirilis. Microsoft tidak memberikan jaminan, tersirat maupun tersurat, sehubungan dengan informasi yang diberikan di sini.
Menambahkan parameter ke XsltArgumentList dan mengaitkannya dengan nama namespace yang memenuhi syarat.
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
Nama yang akan dikaitkan dengan parameter .
- namespaceUri
- String
URI namespace untuk dikaitkan dengan parameter . Untuk menggunakan namespace default, tentukan string kosong.
- parameter
- Object
Nilai parameter atau objek untuk ditambahkan ke daftar.
Pengecualian
namespaceUri adalah atau nullhttp://www.w3.org/1999/XSL/Transform.
name bukan nama yang valid sesuai dengan spesifikasi XML W3C.
namespaceUri sudah memiliki parameter yang terkait dengannya.
Contoh
Contoh berikut menggunakan AddParam metode untuk membuat parameter yang mewakili tanggal dan waktu saat ini.
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
Contohnya menggunakan dua file data berikut sebagai 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>
Keterangan
parameter harus sesuai dengan jenis W3C. Tabel berikut menunjukkan jenis W3C, baik XPath atau XSLT, dan kelas.NET yang sesuai.
| Jenis W3C | Kelas yang setara.NET (Jenis) |
|---|---|
String (XPath) |
String |
Boolean (XPath) |
Boolean |
Number (XPath) |
Double |
Result Tree Fragment (XSLT) |
XPathNavigator |
Node Set (XPath) |
XPathNodeIteratorXPathNavigator[] |
Node* (XPath) |
XPathNavigator |
*Ini setara dengan set simpul yang berisi satu simpul.
Jika objek parameter yang dipanggil dari dalam lembar gaya bukan salah satu dari yang di atas, objek parameter dikonversi sesuai dengan aturan berikut:
Jenis numerik CLR dikonversi ke Double.
IXPathNavigable jenis dikonversi ke XPathNavigator.
XPathNavigator[]dikonversi ke XPathNodeIterator.
Semua jenis lainnya menghasilkan kesalahan.