다음을 통해 공유


XsltArgumentList.AddParam(String, String, Object) 메서드

정의

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

목록에 추가할 매개 변수 값 또는 개체입니다.

예외

namespaceUrinull 또는 http://www.w3.org/1999/XSL/Transform인 경우

name이 W3C XML 사양에 따른 올바른 이름이 아닌 경우

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) XPathNodeIterator

XPathNavigator[]
Node* (XPath) XPathNavigator

*단일 노드가 포함된 노드 세트와 같습니다.

스타일시트 내에서 호출되는 매개 변수 개체가 위 중 하나가 아닌 경우 다음 규칙에 따라 변환됩니다.

다른 모든 형식은 오류를 throw합니다.

적용 대상

추가 정보