XsltArgumentList.AddParam(String, String, Object) 方法
定義
重要
部分資訊涉及發行前產品,在發行之前可能會有大幅修改。 Microsoft 對此處提供的資訊,不做任何明確或隱含的瑕疵擔保。
將參數加入至 XsltArgumentList,並將其與命名空間限定名稱相關聯。
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)
參數
- name
- String
與參數關聯的名稱。
- namespaceUri
- String
與參數關聯的命名空間 URI。 若要使用預設的命名空間,請指定空字串。
- parameter
- Object
要加入至清單的參數值或物件。
例外狀況
namespaceUri
為 null
或 http://www.w3.org/1999/XSL/Transform。
根據 W3C XML 規格,name
不是有效的名稱。
namespaceUri
已經有與其相關的參數。
範例
下列範例會 AddParam 使用 方法來建立代表目前日期和時間的參數。
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
此範例使用下列兩個資料檔案作為輸入。
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>
備註
parameter
應該對應至 W3C 類型。 下表顯示 W3C 類型、XPath 或 XSLT,以及 corresponding.NET 類別。
W3C 型別 | Equivalent.NET 類別 (類型) |
---|---|
String (XPath) |
String |
Boolean (XPath) |
Boolean |
Number (XPath) |
Double |
Result Tree Fragment (XSLT) |
XPathNavigator |
Node Set (XPath) |
XPathNodeIteratorXPathNavigator[] |
Node * (XPath) |
XPathNavigator |
*這相當於含有單一節點的節點集。
如果從樣式表單內叫用的參數物件不是上述其中一項,則會根據下列規則進行轉換:
CLR 數字類型會轉換為 Double。
IXPathNavigable 類型會轉換為 XPathNavigator。
XPathNavigator[]
會 XPathNodeIterator 轉換成 。
所有其他類型都會擲回錯誤。