XslCompiledTransform.Transform XslCompiledTransform.Transform XslCompiledTransform.Transform XslCompiledTransform.Transform Method

정의

XSLT 변환을 실행합니다.Executes the XSLT transformation.

오버로드

Transform(XmlReader, XsltArgumentList, TextWriter) Transform(XmlReader, XsltArgumentList, TextWriter) Transform(XmlReader, XsltArgumentList, TextWriter) Transform(XmlReader, XsltArgumentList, TextWriter)

XmlReader 개체에 지정된 입력 문서를 사용하여 변환을 실행하고 TextWriter에 결과를 출력합니다.Executes the transform using the input document specified by the XmlReader object and outputs the results to a TextWriter. XsltArgumentList는 추가 런타임 인수를 제공합니다.The XsltArgumentList provides additional run-time arguments.

Transform(IXPathNavigable, XsltArgumentList, XmlWriter) Transform(IXPathNavigable, XsltArgumentList, XmlWriter) Transform(IXPathNavigable, XsltArgumentList, XmlWriter) Transform(IXPathNavigable, XsltArgumentList, XmlWriter)

IXPathNavigable 개체에 지정된 입력 문서를 사용하여 변환을 실행하고 XmlWriter에 결과를 출력합니다.Executes the transform using the input document specified by the IXPathNavigable object and outputs the results to an XmlWriter. XsltArgumentList는 추가 런타임 인수를 제공합니다.The XsltArgumentList provides additional run-time arguments.

Transform(IXPathNavigable, XsltArgumentList, TextWriter) Transform(IXPathNavigable, XsltArgumentList, TextWriter) Transform(IXPathNavigable, XsltArgumentList, TextWriter) Transform(IXPathNavigable, XsltArgumentList, TextWriter)

IXPathNavigable 개체에 지정된 입력 문서를 사용하여 변환을 실행하고 TextWriter에 결과를 출력합니다.Executes the transform using the input document specified by the IXPathNavigable object and outputs the results to an TextWriter. XsltArgumentList는 추가 런타임 인수를 제공합니다.The XsltArgumentList provides additional run-time arguments.

Transform(IXPathNavigable, XsltArgumentList, Stream) Transform(IXPathNavigable, XsltArgumentList, Stream) Transform(IXPathNavigable, XsltArgumentList, Stream) Transform(IXPathNavigable, XsltArgumentList, Stream)

IXPathNavigable 개체에 지정된 입력 문서를 사용하여 변환을 실행하고 스트림에 결과를 출력합니다.Executes the transform using the input document specified by the IXPathNavigable object and outputs the results to a stream. XsltArgumentList는 추가 런타임 인수를 제공합니다.The XsltArgumentList provides additional runtime arguments.

Transform(XmlReader, XsltArgumentList, XmlWriter) Transform(XmlReader, XsltArgumentList, XmlWriter) Transform(XmlReader, XsltArgumentList, XmlWriter) Transform(XmlReader, XsltArgumentList, XmlWriter)

XmlReader 개체에 지정된 입력 문서를 사용하여 변환을 실행하고 XmlWriter에 결과를 출력합니다.Executes the transform using the input document specified by the XmlReader object and outputs the results to an XmlWriter. XsltArgumentList는 추가 런타임 인수를 제공합니다.The XsltArgumentList provides additional run-time arguments.

Transform(XmlReader, XsltArgumentList, Stream) Transform(XmlReader, XsltArgumentList, Stream) Transform(XmlReader, XsltArgumentList, Stream) Transform(XmlReader, XsltArgumentList, Stream)

XmlReader 개체에 지정된 입력 문서를 사용하여 변환을 실행하고 스트림에 결과를 출력합니다.Executes the transform using the input document specified by the XmlReader object and outputs the results to a stream. XsltArgumentList는 추가 런타임 인수를 제공합니다.The XsltArgumentList provides additional run-time arguments.

Transform(String, String) Transform(String, String) Transform(String, String) Transform(String, String)

URI로 지정된 입력 문서를 사용하여 변환을 실행하고 파일로 결과를 출력합니다.Executes the transform using the input document specified by the URI and outputs the results to a file.

Transform(String, XsltArgumentList, TextWriter) Transform(String, XsltArgumentList, TextWriter) Transform(String, XsltArgumentList, TextWriter) Transform(String, XsltArgumentList, TextWriter)

URI로 지정된 입력 문서를 사용하여 변환을 실행하고 TextWriter에 결과를 출력합니다.Executes the transform using the input document specified by the URI and outputs the results to a TextWriter.

Transform(String, XsltArgumentList, Stream) Transform(String, XsltArgumentList, Stream) Transform(String, XsltArgumentList, Stream) Transform(String, XsltArgumentList, Stream)

URI로 지정된 입력 문서를 사용하여 변환을 실행하고 스트림에 결과를 출력합니다.Executes the transform using the input document specified by the URI and outputs the results to stream. XsltArgumentList는 추가 런타임 인수를 제공합니다.The XsltArgumentList provides additional run-time arguments.

Transform(IXPathNavigable, XmlWriter) Transform(IXPathNavigable, XmlWriter) Transform(IXPathNavigable, XmlWriter) Transform(IXPathNavigable, XmlWriter)

IXPathNavigable 개체에 지정된 입력 문서를 사용하여 변환을 실행하고 XmlWriter에 결과를 출력합니다.Executes the transform using the input document specified by the IXPathNavigable object and outputs the results to an XmlWriter.

Transform(XmlReader, XmlWriter) Transform(XmlReader, XmlWriter) Transform(XmlReader, XmlWriter) Transform(XmlReader, XmlWriter)

XmlReader 개체에 지정된 입력 문서를 사용하여 변환을 실행하고 XmlWriter에 결과를 출력합니다.Executes the transform using the input document specified by the XmlReader object and outputs the results to an XmlWriter.

Transform(String, XmlWriter) Transform(String, XmlWriter) Transform(String, XmlWriter) Transform(String, XmlWriter)

URI로 지정된 입력 문서를 사용하여 변환을 실행하고 XmlWriter에 결과를 출력합니다.Executes the transform using the input document specified by the URI and outputs the results to an XmlWriter.

Transform(XmlReader, XsltArgumentList, XmlWriter, XmlResolver) Transform(XmlReader, XsltArgumentList, XmlWriter, XmlResolver) Transform(XmlReader, XsltArgumentList, XmlWriter, XmlResolver) Transform(XmlReader, XsltArgumentList, XmlWriter, XmlResolver)

XmlReader 개체에 지정된 입력 문서를 사용하여 변환을 실행하고 XmlWriter에 결과를 출력합니다.Executes the transform using the input document specified by the XmlReader object and outputs the results to an XmlWriter. XsltArgumentList는 추가 런타임 인수를 제공하고 XmlResolver는 XSLT document() 함수를 확인합니다.The XsltArgumentList provides additional run-time arguments and the XmlResolver resolves the XSLT document() function.

Transform(String, XsltArgumentList, XmlWriter) Transform(String, XsltArgumentList, XmlWriter) Transform(String, XsltArgumentList, XmlWriter) Transform(String, XsltArgumentList, XmlWriter)

URI로 지정된 입력 문서를 사용하여 변환을 실행하고 XmlWriter에 결과를 출력합니다.Executes the transform using the input document specified by the URI and outputs the results to an XmlWriter. XsltArgumentList는 추가 런타임 인수를 제공합니다.The XsltArgumentList provides additional run-time arguments.

Transform(IXPathNavigable, XsltArgumentList, XmlWriter, XmlResolver) Transform(IXPathNavigable, XsltArgumentList, XmlWriter, XmlResolver) Transform(IXPathNavigable, XsltArgumentList, XmlWriter, XmlResolver) Transform(IXPathNavigable, XsltArgumentList, XmlWriter, XmlResolver)

IXPathNavigable 개체에 지정된 입력 문서를 사용하여 변환을 실행하고 XmlWriter에 결과를 출력합니다.Executes the transform by using the input document that is specified by the IXPathNavigable object and outputs the results to an XmlWriter. XsltArgumentList는 추가 런타임 인수를 제공하고 XmlResolver는 XSLT document() 함수를 확인합니다.The XsltArgumentList provides additional run-time arguments and the XmlResolver resolves the XSLT document() function.

설명

참고

디버그 모드에서 컴파일된 XSLT와 릴리스 모드에서 컴파일된 XSLT 간에는 차이가 있습니다.There are differences between XSLT compiled in Debug mode and XSLT compiled in Release mode. 경우에 따라 디버그 모드에서 컴파일된 스타일시트는 Load 중에 오류를 발생시키지 않지만 이후에 Transform 중에 실패합니다.In some situations, style sheets compiled in Debug mode will not throw errors during Load, but will later fail during Transform. 릴리스 모드에서 컴파일된 동일한 스타일시트는 Load 중에 실패합니다.The same style sheet compiled in Release mode will fail during Load. 이러한 동작의 예는 노드 집합 형식이 아닌 변수가 노드 집합이 필요한 식에 할당된 경우입니다.An example of such behavior is when a variable that is not of a node-set type is assigned to an expression where a node-set is required.

Transform(XmlReader, XsltArgumentList, TextWriter) Transform(XmlReader, XsltArgumentList, TextWriter) Transform(XmlReader, XsltArgumentList, TextWriter) Transform(XmlReader, XsltArgumentList, TextWriter)

XmlReader 개체에 지정된 입력 문서를 사용하여 변환을 실행하고 TextWriter에 결과를 출력합니다.Executes the transform using the input document specified by the XmlReader object and outputs the results to a TextWriter. XsltArgumentList는 추가 런타임 인수를 제공합니다.The XsltArgumentList provides additional run-time arguments.

public:
 void Transform(System::Xml::XmlReader ^ input, System::Xml::Xsl::XsltArgumentList ^ arguments, System::IO::TextWriter ^ results);
public void Transform (System.Xml.XmlReader input, System.Xml.Xsl.XsltArgumentList arguments, System.IO.TextWriter results);
member this.Transform : System.Xml.XmlReader * System.Xml.Xsl.XsltArgumentList * System.IO.TextWriter -> unit
Public Sub Transform (input As XmlReader, arguments As XsltArgumentList, results As TextWriter)

매개 변수

input
XmlReader XmlReader XmlReader XmlReader

입력 문서가 포함된 XmlReader입니다.An XmlReader containing the input document.

arguments
XsltArgumentList XsltArgumentList XsltArgumentList XsltArgumentList

변환에 대한 입력용으로 사용되는 네임스페이스 정규화 인수가 들어 있는 XsltArgumentList입니다.An XsltArgumentList containing the namespace-qualified arguments used as input to the transform. 이 값은 null일 수 있습니다.This value can be null.

results
TextWriter TextWriter TextWriter TextWriter

출력을 제공할 대상 TextWriter입니다.The TextWriter to which you want to output.

예외

input 또는 results 값이 null인 경우The input or results value is null.

XSLT 변환을 실행하는 동안 오류가 발생한 경우There was an error executing the XSLT transform.

설명

스타일 시트는 XSLT를 포함 하는 경우 document() 를 사용 하 여 해결 되었기 함수는 XmlUrlResolver 사용자 자격 증명 없이 합니다.If the style sheet includes an XSLT document() function, it is resolved using an XmlUrlResolver with no user credentials. 오버 로드를 사용 하 여 외부 리소스를 인증을 요구 하는 네트워크 리소스에 있는 경우는 XmlResolver 해당 인수 중 하나로 지정 하 고는 XmlResolver 에 필요한 자격 증명입니다.If the external resource is located on a network resource that requires authentication, use the overload that takes an XmlResolver as one of its arguments and specify an XmlResolver with the necessary credentials.

추가 정보

Transform(IXPathNavigable, XsltArgumentList, XmlWriter) Transform(IXPathNavigable, XsltArgumentList, XmlWriter) Transform(IXPathNavigable, XsltArgumentList, XmlWriter) Transform(IXPathNavigable, XsltArgumentList, XmlWriter)

IXPathNavigable 개체에 지정된 입력 문서를 사용하여 변환을 실행하고 XmlWriter에 결과를 출력합니다.Executes the transform using the input document specified by the IXPathNavigable object and outputs the results to an XmlWriter. XsltArgumentList는 추가 런타임 인수를 제공합니다.The XsltArgumentList provides additional run-time arguments.

public:
 void Transform(System::Xml::XPath::IXPathNavigable ^ input, System::Xml::Xsl::XsltArgumentList ^ arguments, System::Xml::XmlWriter ^ results);
public void Transform (System.Xml.XPath.IXPathNavigable input, System.Xml.Xsl.XsltArgumentList arguments, System.Xml.XmlWriter results);
member this.Transform : System.Xml.XPath.IXPathNavigable * System.Xml.Xsl.XsltArgumentList * System.Xml.XmlWriter -> unit
Public Sub Transform (input As IXPathNavigable, arguments As XsltArgumentList, results As XmlWriter)

매개 변수

input
IXPathNavigable IXPathNavigable IXPathNavigable IXPathNavigable

IXPathNavigable 인터페이스를 구현하는 개체입니다.An object implementing the IXPathNavigable interface. Microsoft .NET Framework에서 이 개체는 변환할 데이터를 포함하는 XmlNode 또는 XmlDocument(대개 XPathDocument)일 수 있습니다.In the Microsoft .NET Framework, this can be either an XmlNode (typically an XmlDocument), or an XPathDocument containing the data to be transformed.

arguments
XsltArgumentList XsltArgumentList XsltArgumentList XsltArgumentList

변환에 대한 입력용으로 사용되는 네임스페이스 정규화 인수가 들어 있는 XsltArgumentList입니다.An XsltArgumentList containing the namespace-qualified arguments used as input to the transform. 이 값은 null일 수 있습니다.This value can be null.

results
XmlWriter XmlWriter XmlWriter XmlWriter

출력을 제공할 대상 XmlWriter입니다.The XmlWriter to which you want to output.

스타일시트에 xsl:output 요소가 포함된 경우 OutputSettings 속성에서 반환된 XmlWriterSettings 개체를 사용하여 XmlWriter를 만들어야 합니다.If the style sheet contains an xsl:output element, you should create the XmlWriter using the XmlWriterSettings object returned from the OutputSettings property. 이렇게 해야 XmlWriter의 출력 설정이 올바르게 설정됩니다.This ensures that the XmlWriter has the correct output settings.

예외

input 또는 results 값이 null인 경우The input or results value is null.

XSLT 변환을 실행하는 동안 오류가 발생한 경우There was an error executing the XSLT transform.

설명

경우는 XSLT document() 기능을 사용 하는 자동적으로 해결 되므로 사용 하 여는 XmlUrlResolver 사용자 자격 증명 없이 합니다.If the XSLT document() function is enabled, it is resolved using an XmlUrlResolver with no user credentials. 오버 로드를 사용 하 여 외부 리소스를 인증을 요구 하는 네트워크 리소스에 있는 경우는 XmlResolver 해당 인수 중 하나로 지정 하 고는 XmlResolver 에 필요한 자격 증명입니다.If the external resource is located on a network resource that requires authentication, use the overload that takes an XmlResolver as one of its arguments and specify an XmlResolver with the necessary credentials.

이 메서드를 지원 하지 않습니다는 xsl:strip-space 요소입니다.This method does not support the xsl:strip-space element. 컴파일된 스타일 시트를 포함 하는 경우는 xsl:strip-space 를 사용 해야 요소를 Transform 오버 로드를 XmlReader 입력 인수로 합니다.If your compiled style sheet included the xsl:strip-space element, you must use the Transform overload which takes an XmlReader as the input argument.

IXPathNavigable 인터페이스는 XmlNodeXPathDocument 클래스에서 구현됩니다.The IXPathNavigable interface is implemented in the XmlNode and XPathDocument classes. 이 클래스는 XML 데이터의 메모리 내 캐시를 나타냅니다.These classes represent an in-memory cache of XML data.

  • XmlNode 클래스는 W3C DOM(문서 개체 모델)을 기반으로 하며 편집 기능이 있습니다.The XmlNode class is based on the W3C Document Object Model (DOM) and includes editing capabilities.

  • XPathDocument 클래스는 XPath 데이터 모델을 기반으로 하는 읽기 전용 데이터 저장소입니다.The XPathDocument class is a read-only data store based on the XPath data model. XPathDocument는 XSLT 처리에 권장되는 클래스입니다.XPathDocument is the recommended class for XSLT processing. 이 클래스는 XmlNode 클래스와 비교하여 속도가 더 빠릅니다.It provides faster performance when compared to the XmlNode class.

변형은 문서 전체에 적용됩니다.Transformations apply to the document as a whole. 즉, 문서 루트 노드 이외의 노드에 전달해도 변환 프로세스에서 로드된 문서의 모든 노드에 액세스할 수 있습니다.In other words, if you pass in a node other than the document root node, this does not prevent the transformation process from accessing all nodes in the loaded document. 노드 조각을 변형하려면 노드 조각만 포함하는 개체를 만들고 이 개체를 Transform 메서드에 전달해야 합니다.To transform a node fragment, you must create an object containing just the node fragment, and pass that object to the Transform method. 자세한 내용은 방법: 노드 조각 변환을 참조하세요.For more information, see How to: Transform a Node Fragment.

추가 정보

Transform(IXPathNavigable, XsltArgumentList, TextWriter) Transform(IXPathNavigable, XsltArgumentList, TextWriter) Transform(IXPathNavigable, XsltArgumentList, TextWriter) Transform(IXPathNavigable, XsltArgumentList, TextWriter)

IXPathNavigable 개체에 지정된 입력 문서를 사용하여 변환을 실행하고 TextWriter에 결과를 출력합니다.Executes the transform using the input document specified by the IXPathNavigable object and outputs the results to an TextWriter. XsltArgumentList는 추가 런타임 인수를 제공합니다.The XsltArgumentList provides additional run-time arguments.

public:
 void Transform(System::Xml::XPath::IXPathNavigable ^ input, System::Xml::Xsl::XsltArgumentList ^ arguments, System::IO::TextWriter ^ results);
public void Transform (System.Xml.XPath.IXPathNavigable input, System.Xml.Xsl.XsltArgumentList arguments, System.IO.TextWriter results);
member this.Transform : System.Xml.XPath.IXPathNavigable * System.Xml.Xsl.XsltArgumentList * System.IO.TextWriter -> unit
Public Sub Transform (input As IXPathNavigable, arguments As XsltArgumentList, results As TextWriter)

매개 변수

input
IXPathNavigable IXPathNavigable IXPathNavigable IXPathNavigable

IXPathNavigable 인터페이스를 구현하는 개체입니다.An object implementing the IXPathNavigable interface. Microsoft .NET Framework에서 이 개체는 변환할 데이터를 포함하는 XmlNode 또는 XmlDocument(대개 XPathDocument)일 수 있습니다.In the Microsoft .NET Framework, this can be either an XmlNode (typically an XmlDocument), or an XPathDocument containing the data to be transformed.

arguments
XsltArgumentList XsltArgumentList XsltArgumentList XsltArgumentList

변환에 대한 입력용으로 사용되는 네임스페이스 정규화 인수가 들어 있는 XsltArgumentList입니다.An XsltArgumentList containing the namespace-qualified arguments used as input to the transform. 이 값은 null일 수 있습니다.This value can be null.

results
TextWriter TextWriter TextWriter TextWriter

출력을 제공할 대상 TextWriter입니다.The TextWriter to which you want to output.

예외

input 또는 results 값이 null인 경우The input or results value is null.

XSLT 변환을 실행하는 동안 오류가 발생한 경우There was an error executing the XSLT transform.

설명

경우는 XSLT document() 기능을 사용 하는 자동적으로 해결 되므로 사용 하 여는 XmlUrlResolver 사용자 자격 증명 없이 합니다.If the XSLT document() function is enabled, it is resolved using an XmlUrlResolver with no user credentials. 오버 로드를 사용 하 여 외부 리소스를 인증을 요구 하는 네트워크 리소스에 있는 경우는 XmlResolver 해당 인수 중 하나로 지정 하 고는 XmlResolver 에 필요한 자격 증명입니다.If the external resource is located on a network resource that requires authentication, use the overload that takes an XmlResolver as one of its arguments and specify an XmlResolver with the necessary credentials.

이 메서드를 지원 하지 않습니다는 xsl:strip-space 요소입니다.This method does not support the xsl:strip-space element. 컴파일된 스타일 시트를 포함 하는 경우는 xsl:strip-space 를 사용 해야 요소를 Transform 오버 로드를 XmlReader 입력 인수로 합니다.If your compiled style sheet included the xsl:strip-space element, you must use the Transform overload which takes an XmlReader as the input argument.

IXPathNavigable 인터페이스는 XmlNodeXPathDocument 클래스에서 구현됩니다.The IXPathNavigable interface is implemented in the XmlNode and XPathDocument classes. 이 클래스는 XML 데이터의 메모리 내 캐시를 나타냅니다.These classes represent an in-memory cache of XML data.

  • XmlNode 클래스는 W3C DOM(문서 개체 모델)을 기반으로 하며 편집 기능이 있습니다.The XmlNode class is based on the W3C Document Object Model (DOM) and includes editing capabilities.

  • XPathDocument 클래스는 XPath 데이터 모델을 기반으로 하는 읽기 전용 데이터 저장소입니다.The XPathDocument class is a read-only data store based on the XPath data model. XPathDocument는 XSLT 처리에 권장되는 클래스입니다.XPathDocument is the recommended class for XSLT processing. 이 클래스는 XmlNode 클래스와 비교하여 속도가 더 빠릅니다.It provides faster performance when compared to the XmlNode class.

변형은 문서 전체에 적용됩니다.Transformations apply to the document as a whole. 즉, 문서 루트 노드 이외의 노드에 전달해도 변환 프로세스에서 로드된 문서의 모든 노드에 액세스할 수 있습니다.In other words, if you pass in a node other than the document root node, this does not prevent the transformation process from accessing all nodes in the loaded document. 노드 조각을 변형하려면 노드 조각만 포함하는 개체를 만들고 이 개체를 Transform 메서드에 전달해야 합니다.To transform a node fragment, you must create an object containing just the node fragment, and pass that object to the Transform method. 자세한 내용은 방법: 노드 조각 변환을 참조하세요.For more information, see How to: Transform a Node Fragment.

추가 정보

Transform(IXPathNavigable, XsltArgumentList, Stream) Transform(IXPathNavigable, XsltArgumentList, Stream) Transform(IXPathNavigable, XsltArgumentList, Stream) Transform(IXPathNavigable, XsltArgumentList, Stream)

IXPathNavigable 개체에 지정된 입력 문서를 사용하여 변환을 실행하고 스트림에 결과를 출력합니다.Executes the transform using the input document specified by the IXPathNavigable object and outputs the results to a stream. XsltArgumentList는 추가 런타임 인수를 제공합니다.The XsltArgumentList provides additional runtime arguments.

public:
 void Transform(System::Xml::XPath::IXPathNavigable ^ input, System::Xml::Xsl::XsltArgumentList ^ arguments, System::IO::Stream ^ results);
public void Transform (System.Xml.XPath.IXPathNavigable input, System.Xml.Xsl.XsltArgumentList arguments, System.IO.Stream results);
member this.Transform : System.Xml.XPath.IXPathNavigable * System.Xml.Xsl.XsltArgumentList * System.IO.Stream -> unit
Public Sub Transform (input As IXPathNavigable, arguments As XsltArgumentList, results As Stream)

매개 변수

input
IXPathNavigable IXPathNavigable IXPathNavigable IXPathNavigable

IXPathNavigable 인터페이스를 구현하는 개체입니다.An object implementing the IXPathNavigable interface. Microsoft .NET Framework에서 이 개체는 변환할 데이터를 포함하는 XmlNode 또는 XmlDocument(대개 XPathDocument)일 수 있습니다.In the Microsoft .NET Framework, this can be either an XmlNode (typically an XmlDocument), or an XPathDocument containing the data to be transformed.

arguments
XsltArgumentList XsltArgumentList XsltArgumentList XsltArgumentList

변환에 대한 입력용으로 사용되는 네임스페이스 정규화 인수가 들어 있는 XsltArgumentList입니다.An XsltArgumentList containing the namespace-qualified arguments used as input to the transform. 이 값은 null일 수 있습니다.This value can be null.

results
Stream Stream Stream Stream

출력할 대상 스트림입니다.The stream to which you want to output.

예외

input 또는 results 값이 null인 경우The input or results value is null.

XSLT 변환을 실행하는 동안 오류가 발생한 경우There was an error executing the XSLT transform.

예제

다음 예제에서는 XSLT 변환을 실행 하 고 출력 하는 FileStream합니다.The following example executes an XSLT transformation and outputs to a FileStream.

// Load the style sheet.
XslCompiledTransform xslt = new XslCompiledTransform();
xslt.Load("output.xsl");

// Create the FileStream.
using (FileStream fs = new FileStream(@"c:\data\output.xml", FileMode.Create))
{
   // Execute the transformation.
   xslt.Transform(new XPathDocument("books.xml"), null, fs);
}
' Load the style sheet.
Dim xslt As New XslCompiledTransform()
xslt.Load("output.xsl")
        
' Create the FileStream.
Using fs As New FileStream("c:\data\output.xml", FileMode.Create)
   ' Execute the transformation.
    xslt.Transform(New XPathDocument("books.xml"), Nothing, fs)
End Using

설명

경우는 XSLT document() 기능을 사용 하는 자동적으로 해결 되므로 사용 하 여는 XmlUrlResolver 사용자 자격 증명 없이 합니다.If the XSLT document() function is enabled, it is resolved using an XmlUrlResolver with no user credentials. 오버 로드를 사용 하 여 외부 리소스를 인증을 요구 하는 네트워크 리소스에 있는 경우는 XmlResolver 해당 인수 중 하나로 지정 하 고는 XmlResolver 에 필요한 자격 증명입니다.If the external resource is located on a network resource that requires authentication, use the overload that takes an XmlResolver as one of its arguments and specify an XmlResolver with the necessary credentials.

이 메서드를 지원 하지 않습니다는 xsl:strip-space 요소입니다.This method does not support the xsl:strip-space element. 컴파일된 스타일 시트를 포함 하는 경우는 xsl:strip-space 를 사용 해야 요소를 Transform 오버 로드를 XmlReader 입력 인수로 합니다.If your compiled style sheet included the xsl:strip-space element, you must use the Transform overload which takes an XmlReader as the input argument.

IXPathNavigable 인터페이스는 XmlNodeXPathDocument 클래스에서 구현됩니다.The IXPathNavigable interface is implemented in the XmlNode and XPathDocument classes. 이 클래스는 XML 데이터의 메모리 내 캐시를 나타냅니다.These classes represent an in-memory cache of XML data.

  • XmlNode 클래스는 W3C DOM(문서 개체 모델)을 기반으로 하며 편집 기능이 있습니다.The XmlNode class is based on the W3C Document Object Model (DOM) and includes editing capabilities.

  • XPathDocument 클래스는 XPath 데이터 모델을 기반으로 하는 읽기 전용 데이터 저장소입니다.The XPathDocument class is a read-only data store based on the XPath data model. XPathDocument는 XSLT 처리에 권장되는 클래스입니다.XPathDocument is the recommended class for XSLT processing. 이 클래스는 XmlNode 클래스와 비교하여 속도가 더 빠릅니다.It provides faster performance when compared to the XmlNode class.

변형은 문서 전체에 적용됩니다.Transformations apply to the document as a whole. 즉, 문서 루트 노드 이외의 노드에 전달해도 변환 프로세스에서 로드된 문서의 모든 노드에 액세스할 수 있습니다.In other words, if you pass in a node other than the document root node, this does not prevent the transformation process from accessing all nodes in the loaded document. 노드 조각을 변형하려면 노드 조각만 포함하는 개체를 만들고 이 개체를 Transform 메서드에 전달해야 합니다.To transform a node fragment, you must create an object containing just the node fragment, and pass that object to the Transform method. 자세한 내용은 방법: 노드 조각 변환을 참조하세요.For more information, see How to: Transform a Node Fragment.

추가 정보

Transform(XmlReader, XsltArgumentList, XmlWriter) Transform(XmlReader, XsltArgumentList, XmlWriter) Transform(XmlReader, XsltArgumentList, XmlWriter) Transform(XmlReader, XsltArgumentList, XmlWriter)

XmlReader 개체에 지정된 입력 문서를 사용하여 변환을 실행하고 XmlWriter에 결과를 출력합니다.Executes the transform using the input document specified by the XmlReader object and outputs the results to an XmlWriter. XsltArgumentList는 추가 런타임 인수를 제공합니다.The XsltArgumentList provides additional run-time arguments.

public:
 void Transform(System::Xml::XmlReader ^ input, System::Xml::Xsl::XsltArgumentList ^ arguments, System::Xml::XmlWriter ^ results);
public void Transform (System.Xml.XmlReader input, System.Xml.Xsl.XsltArgumentList arguments, System.Xml.XmlWriter results);
member this.Transform : System.Xml.XmlReader * System.Xml.Xsl.XsltArgumentList * System.Xml.XmlWriter -> unit
Public Sub Transform (input As XmlReader, arguments As XsltArgumentList, results As XmlWriter)

매개 변수

input
XmlReader XmlReader XmlReader XmlReader

입력 문서가 포함된 XmlReader입니다.An XmlReader containing the input document.

arguments
XsltArgumentList XsltArgumentList XsltArgumentList XsltArgumentList

변환에 대한 입력용으로 사용되는 네임스페이스 정규화 인수가 들어 있는 XsltArgumentList입니다.An XsltArgumentList containing the namespace-qualified arguments used as input to the transform. 이 값은 null일 수 있습니다.This value can be null.

results
XmlWriter XmlWriter XmlWriter XmlWriter

출력을 제공할 대상 XmlWriter입니다.The XmlWriter to which you want to output.

스타일시트에 xsl:output 요소가 포함된 경우 OutputSettings 속성에서 반환된 XmlWriterSettings 개체를 사용하여 XmlWriter를 만들어야 합니다.If the style sheet contains an xsl:output element, you should create the XmlWriter using the XmlWriterSettings object returned from the OutputSettings property. 이렇게 해야 XmlWriter의 출력 설정이 올바르게 설정됩니다.This ensures that the XmlWriter has the correct output settings.

예외

input 또는 results 값이 null인 경우The input or results value is null.

XSLT 변환을 실행하는 동안 오류가 발생한 경우There was an error executing the XSLT transform.

설명

스타일 시트는 XSLT를 포함 하는 경우 document() 를 사용 하 여 해결 되었기 함수는 XmlUrlResolver 사용자 자격 증명 없이 합니다.If the style sheet includes an XSLT document() function, it is resolved using an XmlUrlResolver with no user credentials. 오버 로드를 사용 하 여 외부 리소스를 인증을 요구 하는 네트워크 리소스에 있는 경우는 XmlResolver 해당 인수 중 하나로 지정 하 고는 XmlResolver 에 필요한 자격 증명입니다.If the external resource is located on a network resource that requires authentication, use the overload that takes an XmlResolver as one of its arguments and specify an XmlResolver with the necessary credentials.

추가 정보

Transform(XmlReader, XsltArgumentList, Stream) Transform(XmlReader, XsltArgumentList, Stream) Transform(XmlReader, XsltArgumentList, Stream) Transform(XmlReader, XsltArgumentList, Stream)

XmlReader 개체에 지정된 입력 문서를 사용하여 변환을 실행하고 스트림에 결과를 출력합니다.Executes the transform using the input document specified by the XmlReader object and outputs the results to a stream. XsltArgumentList는 추가 런타임 인수를 제공합니다.The XsltArgumentList provides additional run-time arguments.

public:
 void Transform(System::Xml::XmlReader ^ input, System::Xml::Xsl::XsltArgumentList ^ arguments, System::IO::Stream ^ results);
public void Transform (System.Xml.XmlReader input, System.Xml.Xsl.XsltArgumentList arguments, System.IO.Stream results);
member this.Transform : System.Xml.XmlReader * System.Xml.Xsl.XsltArgumentList * System.IO.Stream -> unit
Public Sub Transform (input As XmlReader, arguments As XsltArgumentList, results As Stream)

매개 변수

input
XmlReader XmlReader XmlReader XmlReader

입력 문서가 포함된 XmlReader입니다.An XmlReader containing the input document.

arguments
XsltArgumentList XsltArgumentList XsltArgumentList XsltArgumentList

변환에 대한 입력용으로 사용되는 네임스페이스 정규화 인수가 들어 있는 XsltArgumentList입니다.An XsltArgumentList containing the namespace-qualified arguments used as input to the transform. 이 값은 null일 수 있습니다.This value can be null.

results
Stream Stream Stream Stream

출력할 대상 스트림입니다.The stream to which you want to output.

예외

input 또는 results 값이 null인 경우The input or results value is null.

XSLT 변환을 실행하는 동안 오류가 발생한 경우There was an error executing the XSLT transform.

설명

스타일 시트는 XSLT를 포함 하는 경우 document() 를 사용 하 여 해결 되었기 함수는 XmlUrlResolver 사용자 자격 증명 없이 합니다.If the style sheet includes an XSLT document() function, it is resolved using an XmlUrlResolver with no user credentials. 오버 로드를 사용 하 여 외부 리소스를 인증을 요구 하는 네트워크 리소스에 있는 경우는 XmlResolver 해당 인수 중 하나로 지정 하 고는 XmlResolver 에 필요한 자격 증명입니다.If the external resource is located on a network resource that requires authentication, use the overload that takes an XmlResolver as one of its arguments and specify an XmlResolver with the necessary credentials.

추가 정보

Transform(String, String) Transform(String, String) Transform(String, String) Transform(String, String)

URI로 지정된 입력 문서를 사용하여 변환을 실행하고 파일로 결과를 출력합니다.Executes the transform using the input document specified by the URI and outputs the results to a file.

public:
 void Transform(System::String ^ inputUri, System::String ^ resultsFile);
public void Transform (string inputUri, string resultsFile);
member this.Transform : string * string -> unit
Public Sub Transform (inputUri As String, resultsFile As String)

매개 변수

inputUri
String String String String

입력 문서의 URI입니다.The URI of the input document.

resultsFile
String String String String

출력 파일의 URI입니다.The URI of the output file.

예외

inputUri 또는 resultsFile 값이 null인 경우The inputUri or resultsFile value is null.

XSLT 변환을 실행하는 동안 오류가 발생한 경우There was an error executing the XSLT transform.

입력 문서를 찾을 수 없는 경우The input document cannot be found.

inputUri 또는 resultsFile 값에 찾을 수 없는 디렉터리나 파일 이름이 포함된 경우The inputUri or resultsFile value includes a filename or directory cannot be found.

inputUri 또는 resultsFile 값을 확인할 수 없는 경우The inputUri or resultsFile value cannot be resolved.

또는-or- 요청을 처리하는 동안 오류가 발생한 경우An error occurred while processing the request

inputUri 또는 resultsFile이 올바른 URI가 아닌 경우inputUri or resultsFile is not a valid URI.

입력 문서를 로드하는 동안 구문 분석 오류가 발생한 경우There was a parsing error loading the input document.

예제

다음 예제에서는 변환을 실행 하 고 파일에 출력 합니다.The following example executes a transform and outputs to a file.

// Load the style sheet.
XslCompiledTransform xslt = new XslCompiledTransform();
xslt.Load("output.xsl");

// Execute the transform and output the results to a file.
xslt.Transform("books.xml", "books.html");
' Load the style sheet.
Dim xslt As New XslCompiledTransform()
xslt.Load("output.xsl")
        
' Execute the transform and output the results to a file.
xslt.Transform("books.xml", "books.html")

이 샘플에서는 다음 두 개의 입력된 파일 사용:The sample uses the following two input files:

books.xml

<?xml version='1.0'?>
<!-- This file represents a fragment of a book store inventory database -->
<bookstore>
  <book genre="autobiography" publicationdate="1981" ISBN="1-861003-11-0">
    <title>The Autobiography of Benjamin Franklin</title>
    <author>
      <first-name>Benjamin</first-name>
      <last-name>Franklin</last-name>
    </author>
    <price>8.99</price>
  </book>
  <book genre="novel" publicationdate="1967" ISBN="0-201-63361-2">
    <title>The Confidence Man</title>
    <author>
      <first-name>Herman</first-name>
      <last-name>Melville</last-name>
    </author>
    <price>11.99</price>
  </book>
  <book genre="philosophy" publicationdate="1991" ISBN="1-861001-57-6">
    <title>The Gorgias</title>
    <author>
      <name>Plato</name>
    </author>
    <price>9.99</price>
  </book>
</bookstore>

output.xsl

<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0">
<xsl:template match="bookstore">
  <HTML>
    <BODY>
      <TABLE BORDER="2">
        <TR>
          <TD>ISBN</TD>
          <TD>Title</TD>
          <TD>Price</TD>
        </TR>
        <xsl:apply-templates select="book"/>
      </TABLE>
    </BODY>
  </HTML>
</xsl:template>
<xsl:template match="book">
  <TR>
    <TD><xsl:value-of select="@ISBN"/></TD>
    <TD><xsl:value-of select="title"/></TD>
    <TD><xsl:value-of select="price"/></TD>
  </TR>
</xsl:template>
</xsl:stylesheet>

설명

이 메서드는 기본 XmlUrlResolver 입력 및 출력 문서를 해결 하려면 사용자 자격 증명 없이 합니다.This method uses a default XmlUrlResolver with no user credentials to resolve the input and output documents. 인증을 요구 하는 네트워크 리소스에 있는 이러한 리소스 중 하나를 사용 하는 오버 로드를 사용는 XmlResolver 해당 인수 중 하나로 지정 하 고는 XmlResolver 에 필요한 자격 증명입니다.If any of these resources are located on a network resource that requires authentication, use the overload that takes an XmlResolver as one of its arguments and specify an XmlResolver with the necessary credentials.

XmlReader 기본값 설정을 사용 하 여 입력된 문서를 로드 합니다.An XmlReader with default settings is used to load the input document. 에서는 DTD 처리가 비활성화 됩니다는 XmlReader합니다.DTD processing is disabled on the XmlReader. DTD 처리를 필요로 하는 경우 만들기는 XmlReader 이 기능을 사용 하 여 다음을 사용 하 고 전달 하는 Transform 메서드.If you require DTD processing, create an XmlReader with this feature enabled, and pass it to the Transform method.

추가 정보

Transform(String, XsltArgumentList, TextWriter) Transform(String, XsltArgumentList, TextWriter) Transform(String, XsltArgumentList, TextWriter) Transform(String, XsltArgumentList, TextWriter)

URI로 지정된 입력 문서를 사용하여 변환을 실행하고 TextWriter에 결과를 출력합니다.Executes the transform using the input document specified by the URI and outputs the results to a TextWriter.

public:
 void Transform(System::String ^ inputUri, System::Xml::Xsl::XsltArgumentList ^ arguments, System::IO::TextWriter ^ results);
public void Transform (string inputUri, System.Xml.Xsl.XsltArgumentList arguments, System.IO.TextWriter results);
member this.Transform : string * System.Xml.Xsl.XsltArgumentList * System.IO.TextWriter -> unit
Public Sub Transform (inputUri As String, arguments As XsltArgumentList, results As TextWriter)

매개 변수

inputUri
String String String String

입력 문서의 URI입니다.The URI of the input document.

arguments
XsltArgumentList XsltArgumentList XsltArgumentList XsltArgumentList

변환에 대한 입력용으로 사용되는 네임스페이스 정규화 인수가 들어 있는 XsltArgumentList입니다.An XsltArgumentList containing the namespace-qualified arguments used as input to the transform. 이 값은 null일 수 있습니다.This value can be null.

results
TextWriter TextWriter TextWriter TextWriter

출력을 제공할 대상 TextWriter입니다.The TextWriter to which you want to output.

예외

inputUri 또는 results 값이 null인 경우The inputUri or results value is null.

XSLT 변환을 실행하는 동안 오류가 발생한 경우There was an error executing the XSLT transform.

inputUri 값에 찾을 수 없는 디렉터리나 파일 이름이 포함된 경우The inputUri value includes a filename or directory cannot be found.

inputUri 값을 확인할 수 없는 경우The inputUri value cannot be resolved.

또는-or- 요청을 처리하는 동안 오류가 발생한 경우An error occurred while processing the request

inputUri 경로는 유효한 URI가 아닙니다.inputUri is not a valid URI.

입력 문서를 로드하는 동안 구문 분석 오류가 발생한 경우There was a parsing error loading the input document.

예제

다음 예제에서는 XSLT 변환을 실행 하 고 문자열을 출력 합니다.The following example executes an XSLT transformation and outputs a string.

// Load the style sheet.
XslCompiledTransform xslt = new XslCompiledTransform();
xslt.Load("HTML_out.xsl");

// Transform the file and output an HTML string.
string HTMLoutput;
StringWriter writer = new StringWriter();
xslt.Transform("books.xml", null, writer);
HTMLoutput = writer.ToString();
writer.Close();
' Load the style sheet.
Dim xslt As New XslCompiledTransform()
xslt.Load("HTML_out.xsl")
        
' Transform the file and output an HTML string.
Dim HTMLoutput As String
Dim writer As New StringWriter()
xslt.Transform("books.xml", Nothing, writer)
HTMLoutput = writer.ToString()
writer.Close()

설명

이 메서드는 기본 XmlUrlResolver 입력된 문서와 XSLT의 모든 인스턴스를 해결 하려면 사용자 자격 증명 없이 document() 함수 스타일 시트에서 찾을 수 있습니다.This method uses a default XmlUrlResolver with no user credentials to resolve the input document and any instances of the XSLT document() function found in the style sheet. 인증을 요구 하는 네트워크 리소스에 있는 이러한 리소스 중 하나를 사용 하는 오버 로드를 사용는 XmlResolver 해당 인수 중 하나로 지정 하 고는 XmlResolver 에 필요한 자격 증명입니다.If any of these resources are located on a network resource that requires authentication, use the overload that takes an XmlResolver as one of its arguments and specify an XmlResolver with the necessary credentials.

XmlReader 기본값 설정을 사용 하 여 입력된 문서를 로드 합니다.An XmlReader with default settings is used to load the input document. 에서는 DTD 처리가 비활성화 됩니다는 XmlReader합니다.DTD processing is disabled on the XmlReader. DTD 처리를 필요로 하는 경우 만들기는 XmlReader 이 기능을 사용 하 여 다음을 사용 하 고 전달 하는 Transform 메서드.If you require DTD processing, create an XmlReader with this feature enabled, and pass it to the Transform method.

추가 정보

Transform(String, XsltArgumentList, Stream) Transform(String, XsltArgumentList, Stream) Transform(String, XsltArgumentList, Stream) Transform(String, XsltArgumentList, Stream)

URI로 지정된 입력 문서를 사용하여 변환을 실행하고 스트림에 결과를 출력합니다.Executes the transform using the input document specified by the URI and outputs the results to stream. XsltArgumentList는 추가 런타임 인수를 제공합니다.The XsltArgumentList provides additional run-time arguments.

public:
 void Transform(System::String ^ inputUri, System::Xml::Xsl::XsltArgumentList ^ arguments, System::IO::Stream ^ results);
public void Transform (string inputUri, System.Xml.Xsl.XsltArgumentList arguments, System.IO.Stream results);
member this.Transform : string * System.Xml.Xsl.XsltArgumentList * System.IO.Stream -> unit
Public Sub Transform (inputUri As String, arguments As XsltArgumentList, results As Stream)

매개 변수

inputUri
String String String String

입력 문서의 URI입니다.The URI of the input document.

arguments
XsltArgumentList XsltArgumentList XsltArgumentList XsltArgumentList

변환에 대한 입력용으로 사용되는 네임스페이스 정규화 인수가 들어 있는 XsltArgumentList입니다.An XsltArgumentList containing the namespace-qualified arguments used as input to the transform. 이 값은 null일 수 있습니다.This value can be null.

results
Stream Stream Stream Stream

출력할 대상 스트림입니다.The stream to which you want to output.

예외

inputUri 또는 results 값이 null인 경우The inputUri or results value is null.

XSLT 변환을 실행하는 동안 오류가 발생한 경우There was an error executing the XSLT transform.

inputUri 값에 찾을 수 없는 디렉터리나 파일 이름이 포함된 경우The inputUri value includes a filename or directory cannot be found.

inputUri 값을 확인할 수 없는 경우The inputUri value cannot be resolved.

또는-or- 요청을 처리하는 동안 오류가 발생한 경우An error occurred while processing the request

inputUri 경로는 유효한 URI가 아닙니다.inputUri is not a valid URI.

입력 문서를 로드하는 동안 구문 분석 오류가 발생한 경우There was a parsing error loading the input document.

설명

이 메서드는 기본 XmlUrlResolver 입력된 문서와 XSLT의 모든 인스턴스를 해결 하려면 사용자 자격 증명 없이 document() 함수 스타일 시트에서 찾을 수 있습니다.This method uses a default XmlUrlResolver with no user credentials to resolve the input document and any instances of the XSLT document() function found in the style sheet. 인증을 요구 하는 네트워크 리소스에 있는 이러한 리소스 중 하나를 사용 하는 오버 로드를 사용는 XmlResolver 해당 인수 중 하나로 지정 하 고는 XmlResolver 에 필요한 자격 증명입니다.If any of these resources are located on a network resource that requires authentication, use the overload that takes an XmlResolver as one of its arguments and specify an XmlResolver with the necessary credentials.

XmlReader 기본값 설정을 사용 하 여 입력된 문서를 로드 합니다.An XmlReader with default settings is used to load the input document. 에서는 DTD 처리가 비활성화 됩니다는 XmlReader합니다.DTD processing is disabled on the XmlReader. DTD 처리를 필요로 하는 경우 만들기는 XmlReader 이 기능을 사용 하 여 다음을 사용 하 고 전달 하는 Transform 메서드.If you require DTD processing, create an XmlReader with this feature enabled, and pass it to the Transform method.

추가 정보

Transform(IXPathNavigable, XmlWriter) Transform(IXPathNavigable, XmlWriter) Transform(IXPathNavigable, XmlWriter) Transform(IXPathNavigable, XmlWriter)

IXPathNavigable 개체에 지정된 입력 문서를 사용하여 변환을 실행하고 XmlWriter에 결과를 출력합니다.Executes the transform using the input document specified by the IXPathNavigable object and outputs the results to an XmlWriter.

public:
 void Transform(System::Xml::XPath::IXPathNavigable ^ input, System::Xml::XmlWriter ^ results);
public void Transform (System.Xml.XPath.IXPathNavigable input, System.Xml.XmlWriter results);
member this.Transform : System.Xml.XPath.IXPathNavigable * System.Xml.XmlWriter -> unit
Public Sub Transform (input As IXPathNavigable, results As XmlWriter)

매개 변수

input
IXPathNavigable IXPathNavigable IXPathNavigable IXPathNavigable

IXPathNavigable 인터페이스를 구현하는 개체입니다.An object implementing the IXPathNavigable interface. Microsoft .NET Framework에서 이 개체는 변환할 데이터를 포함하는 XmlNode 또는 XmlDocument(대개 XPathDocument)일 수 있습니다.In the Microsoft .NET Framework, this can be either an XmlNode (typically an XmlDocument), or an XPathDocument containing the data to be transformed.

results
XmlWriter XmlWriter XmlWriter XmlWriter

출력을 제공할 대상 XmlWriter입니다.The XmlWriter to which you want to output.

스타일시트에 xsl:output 요소가 포함된 경우 OutputSettings 속성에서 반환된 XmlWriterSettings 개체를 사용하여 XmlWriter를 만들어야 합니다.If the style sheet contains an xsl:output element, you should create the XmlWriter using the XmlWriterSettings object returned from the OutputSettings property. 이렇게 해야 XmlWriter의 출력 설정이 올바르게 설정됩니다.This ensures that the XmlWriter has the correct output settings.

예외

input 또는 results 값이 null인 경우The input or results value is null.

XSLT 변환을 실행하는 동안 오류가 발생한 경우There was an error executing the XSLT transform.

예제

다음 예제에서는 XSLT 변환을 실행 하 고 출력 하는 XmlWriter 개체입니다.The following example executes an XSLT transformation and outputs to an XmlWriter object.

// Load the style sheet.
XslCompiledTransform xslt = new XslCompiledTransform();
xslt.Load("output.xsl");

// Create the writer.
XmlWriterSettings settings = new XmlWriterSettings();
settings.Indent = true;
settings.IndentChars = "\t";
XmlWriter writer = XmlWriter.Create("output.xml", settings);

// Execute the transformation.
xslt.Transform(new XPathDocument("books.xml"), writer);
writer.Close();
' Load the style sheet.
Dim xslt As New XslCompiledTransform()
xslt.Load("output.xsl")
        
' Create the writer.
Dim settings As New XmlWriterSettings()
settings.Indent = True
settings.IndentChars = vbTab
Dim writer As XmlWriter = XmlWriter.Create("output.xml", settings)
        
' Execute the transformation.
xslt.Transform(New XPathDocument("books.xml"), writer)
writer.Close()

설명

경우는 XSLT document() 기능을 사용 하는 자동적으로 해결 되므로 사용 하 여는 XmlUrlResolver 사용자 자격 증명 없이 합니다.If the XSLT document() function is enabled, it is resolved using an XmlUrlResolver with no user credentials. 오버 로드를 사용 하 여 외부 리소스를 인증을 요구 하는 네트워크 리소스에 있는 경우는 XmlResolver 해당 인수 중 하나로 지정 하 고는 XmlResolver 에 필요한 자격 증명입니다.If the external resource is located on a network resource that requires authentication, use the overload that takes an XmlResolver as one of its arguments and specify an XmlResolver with the necessary credentials.

이 메서드를 지원 하지 않습니다는 xsl:strip-space 요소입니다.This method does not support the xsl:strip-space element. 컴파일된 스타일 시트를 포함 하는 경우는 xsl:strip-space 를 사용 해야 요소를 Transform 오버 로드를 XmlReader 입력 인수로 합니다.If your compiled style sheet included the xsl:strip-space element, you must use the Transform overload which takes an XmlReader as the input argument.

IXPathNavigable 인터페이스는 XmlNodeXPathDocument 클래스에서 구현됩니다.The IXPathNavigable interface is implemented in the XmlNode and XPathDocument classes. 이 클래스는 XML 데이터의 메모리 내 캐시를 나타냅니다.These classes represent an in-memory cache of XML data.

  • XmlNode 클래스는 W3C DOM(문서 개체 모델)을 기반으로 하며 편집 기능이 있습니다.The XmlNode class is based on the W3C Document Object Model (DOM) and includes editing capabilities.

  • XPathDocument 클래스는 XPath 데이터 모델을 기반으로 하는 읽기 전용 데이터 저장소입니다.The XPathDocument class is a read-only data store based on the XPath data model. XPathDocument는 XSLT 처리에 권장되는 클래스입니다.XPathDocument is the recommended class for XSLT processing. 이 클래스는 XmlNode 클래스와 비교하여 속도가 더 빠릅니다.It provides faster performance when compared to the XmlNode class.

변형은 문서 전체에 적용됩니다.Transformations apply to the document as a whole. 즉, 문서 루트 노드 이외의 노드에 전달해도 변환 프로세스에서 로드된 문서의 모든 노드에 액세스할 수 있습니다.In other words, if you pass in a node other than the document root node, this does not prevent the transformation process from accessing all nodes in the loaded document. 노드 조각을 변형하려면 노드 조각만 포함하는 개체를 만들고 이 개체를 Transform 메서드에 전달해야 합니다.To transform a node fragment, you must create an object containing just the node fragment, and pass that object to the Transform method. 자세한 내용은 방법: 노드 조각 변환을 참조하세요.For more information, see How to: Transform a Node Fragment.

추가 정보

Transform(XmlReader, XmlWriter) Transform(XmlReader, XmlWriter) Transform(XmlReader, XmlWriter) Transform(XmlReader, XmlWriter)

XmlReader 개체에 지정된 입력 문서를 사용하여 변환을 실행하고 XmlWriter에 결과를 출력합니다.Executes the transform using the input document specified by the XmlReader object and outputs the results to an XmlWriter.

public:
 void Transform(System::Xml::XmlReader ^ input, System::Xml::XmlWriter ^ results);
public void Transform (System.Xml.XmlReader input, System.Xml.XmlWriter results);
member this.Transform : System.Xml.XmlReader * System.Xml.XmlWriter -> unit
Public Sub Transform (input As XmlReader, results As XmlWriter)

매개 변수

input
XmlReader XmlReader XmlReader XmlReader

입력 문서가 포함된 XmlReader입니다.The XmlReader containing the input document.

results
XmlWriter XmlWriter XmlWriter XmlWriter

출력을 제공할 대상 XmlWriter입니다.The XmlWriter to which you want to output.

스타일시트에 xsl:output 요소가 포함된 경우 OutputSettings 속성에서 반환된 XmlWriterSettings 개체를 사용하여 XmlWriter를 만들어야 합니다.If the style sheet contains an xsl:output element, you should create the XmlWriter using the XmlWriterSettings object returned from the OutputSettings property. 이렇게 해야 XmlWriter의 출력 설정이 올바르게 설정됩니다.This ensures that the XmlWriter has the correct output settings.

예외

input 또는 results 값이 null인 경우The input or results value is null.

XSLT 변환을 실행하는 동안 오류가 발생한 경우There was an error executing the XSLT transform.

예제

다음 예제에서는 books.xml 파일의 첫 번째 책을 변환합니다.The following example transforms the first book in the books.xml file.

// Load the style sheet.
XslCompiledTransform xslt = new XslCompiledTransform();
xslt.Load("output.xsl");

// Create the writer.
XmlWriterSettings settings = new XmlWriterSettings();
settings.Indent = true;
settings.IndentChars = "\t";
XmlWriter writer = XmlWriter.Create("output.xml", settings);

XmlReader reader = XmlReader.Create("books.xml");
reader.MoveToContent();

// Execute the transformation.
xslt.Transform(reader, writer);
writer.Close();
reader.Close();
' Load the style sheet.
Dim xslt As New XslCompiledTransform()
xslt.Load("output.xsl")
        
' Create the writer.
Dim settings As New XmlWriterSettings()
settings.Indent = True
settings.IndentChars = vbTab
Dim writer As XmlWriter = XmlWriter.Create("output.xml", settings)
        
Dim reader As XmlReader = XmlReader.Create("books.xml")
reader.MoveToContent()
        
' Execute the transformation.
xslt.Transform(reader, writer)
writer.Close()
reader.Close()

설명

경우는 XSLT document() 기능을 사용 하는 자동적으로 해결 되므로 사용 하 여는 XmlUrlResolver 사용자 자격 증명 없이 합니다.If the XSLT document() function is enabled, it is resolved using an XmlUrlResolver with no user credentials. 오버 로드를 사용 하 여 외부 리소스를 인증을 요구 하는 네트워크 리소스에 있는 경우는 XmlResolver 해당 인수 중 하나로 지정 하 고는 XmlResolver 에 필요한 자격 증명입니다.If the external resource is located on a network resource that requires authentication, use the overload that takes an XmlResolver as one of its arguments and specify an XmlResolver with the necessary credentials.

추가 정보

Transform(String, XmlWriter) Transform(String, XmlWriter) Transform(String, XmlWriter) Transform(String, XmlWriter)

URI로 지정된 입력 문서를 사용하여 변환을 실행하고 XmlWriter에 결과를 출력합니다.Executes the transform using the input document specified by the URI and outputs the results to an XmlWriter.

public:
 void Transform(System::String ^ inputUri, System::Xml::XmlWriter ^ results);
public void Transform (string inputUri, System.Xml.XmlWriter results);
member this.Transform : string * System.Xml.XmlWriter -> unit
Public Sub Transform (inputUri As String, results As XmlWriter)

매개 변수

inputUri
String String String String

입력 문서의 URI입니다.The URI of the input document.

results
XmlWriter XmlWriter XmlWriter XmlWriter

출력을 제공할 대상 XmlWriter입니다.The XmlWriter to which you want to output.

스타일시트에 xsl:output 요소가 포함된 경우 OutputSettings 속성에서 반환된 XmlWriterSettings 개체를 사용하여 XmlWriter를 만들어야 합니다.If the style sheet contains an xsl:output element, you should create the XmlWriter using the XmlWriterSettings object returned from the OutputSettings property. 이렇게 해야 XmlWriter의 출력 설정이 올바르게 설정됩니다.This ensures that the XmlWriter has the correct output settings.

예외

inputUri 또는 results 값이 null인 경우The inputUri or results value is null.

XSLT 변환을 실행하는 동안 오류가 발생한 경우There was an error executing the XSLT transform.

inputUri 값에 찾을 수 없는 디렉터리나 파일 이름이 포함된 경우The inputUri value includes a filename or directory cannot be found.

inputUri 값을 확인할 수 없는 경우The inputUri value cannot be resolved.

또는-or- 이 요청을 처리하는 동안 오류가 발생했습니다.An error occurred while processing the request.

inputUri 경로는 유효한 URI가 아닙니다.inputUri is not a valid URI.

입력 문서를 로드하는 동안 구문 분석 오류가 발생한 경우There was a parsing error loading the input document.

예제

다음 예제에서는 XSLT 변환을 실행 하 고 출력 하는 XmlWriter 개체입니다.The following example executes an XSLT transformation and outputs to an XmlWriter object.

// Load the style sheet.
XslCompiledTransform xslt = new XslCompiledTransform();
xslt.Load("output.xsl");

// Create the writer.
XmlWriterSettings settings = new XmlWriterSettings();
settings.Indent = true;
settings.IndentChars = "\t";
XmlWriter writer = XmlWriter.Create("output.xml", settings);

// Execute the transformation.
xslt.Transform("books.xml", writer);
writer.Close();
' Load the style sheet.
Dim xslt As New XslCompiledTransform()
xslt.Load("output.xsl")
        
' Create the writer.
Dim settings As New XmlWriterSettings()
settings.Indent = True
settings.IndentChars = vbTab
Dim writer As XmlWriter = XmlWriter.Create("output.xml", settings)
        
' Execute the transformation.
xslt.Transform("books.xml", writer)
writer.Close()

설명

이 메서드는 기본 XmlUrlResolver 입력된 문서와 XSLT의 모든 인스턴스를 해결 하려면 사용자 자격 증명 없이 document() 함수 스타일 시트에서 찾을 수 있습니다.This method uses a default XmlUrlResolver with no user credentials to resolve the input document and any instances of the XSLT document() function found in the style sheet. 인증을 요구 하는 네트워크 리소스에 있는 이러한 리소스 중 하나를 사용 하는 오버 로드를 사용는 XmlResolver 해당 인수 중 하나로 지정 하 고는 XmlResolver 에 필요한 자격 증명입니다.If any of these resources are located on a network resource that requires authentication, use the overload that takes an XmlResolver as one of its arguments and specify an XmlResolver with the necessary credentials.

XmlReader 기본값 설정을 사용 하 여 입력된 문서를 로드 합니다.An XmlReader with default settings is used to load the input document. 에서는 DTD 처리가 비활성화 됩니다는 XmlReader합니다.DTD processing is disabled on the XmlReader. DTD 처리를 필요로 하는 경우 만들기는 XmlReader 이 기능을 사용 하 여 다음을 사용 하 고 전달 하는 Transform 메서드.If you require DTD processing, create an XmlReader with this feature enabled, and pass it to the Transform method.

이 메서드를 지원 하지 않습니다는 xsl:strip-space 요소입니다.This method does not support the xsl:strip-space element. 컴파일된 스타일 시트를 포함 하는 경우는 xsl:strip-space 를 사용 해야 요소를 Transform 오버 로드를 XmlReader 입력 인수로 합니다.If your compiled style sheet included the xsl:strip-space element, you must use the Transform overload which takes an XmlReader as the input argument.

추가 정보

Transform(XmlReader, XsltArgumentList, XmlWriter, XmlResolver) Transform(XmlReader, XsltArgumentList, XmlWriter, XmlResolver) Transform(XmlReader, XsltArgumentList, XmlWriter, XmlResolver) Transform(XmlReader, XsltArgumentList, XmlWriter, XmlResolver)

XmlReader 개체에 지정된 입력 문서를 사용하여 변환을 실행하고 XmlWriter에 결과를 출력합니다.Executes the transform using the input document specified by the XmlReader object and outputs the results to an XmlWriter. XsltArgumentList는 추가 런타임 인수를 제공하고 XmlResolver는 XSLT document() 함수를 확인합니다.The XsltArgumentList provides additional run-time arguments and the XmlResolver resolves the XSLT document() function.

public:
 void Transform(System::Xml::XmlReader ^ input, System::Xml::Xsl::XsltArgumentList ^ arguments, System::Xml::XmlWriter ^ results, System::Xml::XmlResolver ^ documentResolver);
public void Transform (System.Xml.XmlReader input, System.Xml.Xsl.XsltArgumentList arguments, System.Xml.XmlWriter results, System.Xml.XmlResolver documentResolver);
member this.Transform : System.Xml.XmlReader * System.Xml.Xsl.XsltArgumentList * System.Xml.XmlWriter * System.Xml.XmlResolver -> unit
Public Sub Transform (input As XmlReader, arguments As XsltArgumentList, results As XmlWriter, documentResolver As XmlResolver)

매개 변수

input
XmlReader XmlReader XmlReader XmlReader

입력 문서가 포함된 XmlReader입니다.An XmlReader containing the input document.

arguments
XsltArgumentList XsltArgumentList XsltArgumentList XsltArgumentList

변환에 대한 입력용으로 사용되는 네임스페이스 정규화 인수가 들어 있는 XsltArgumentList입니다.An XsltArgumentList containing the namespace-qualified arguments used as input to the transform. 이 값은 null일 수 있습니다.This value can be null.

results
XmlWriter XmlWriter XmlWriter XmlWriter

출력을 제공할 대상 XmlWriter입니다.The XmlWriter to which you want to output.

스타일시트에 xsl:output 요소가 포함된 경우 OutputSettings 속성에서 반환된 XmlWriterSettings 개체를 사용하여 XmlWriter를 만들어야 합니다.If the style sheet contains an xsl:output element, you should create the XmlWriter using the XmlWriterSettings object returned from the OutputSettings property. 이렇게 해야 XmlWriter의 출력 설정이 올바르게 설정됩니다.This ensures that the XmlWriter has the correct output settings.

documentResolver
XmlResolver XmlResolver XmlResolver XmlResolver

XSLT document() 함수 확인에 사용되는 XmlResolver입니다.The XmlResolver used to resolve the XSLT document() function. 이 값이 null이면 document() 함수가 확인되지 않습니다.If this is null, the document() function is not resolved.

예외

input 또는 results 값이 null인 경우The input or results value is null.

XSLT 변환을 실행하는 동안 오류가 발생한 경우There was an error executing the XSLT transform.

예제

다음 예제는 XmlSecureResolver XSLT를 해결 하려면 document() 함수입니다.The following example uses an XmlSecureResolver to resolve the XSLT document() function.

// Create a resolver and specify the necessary credentials.
XmlSecureResolver resolver = new XmlSecureResolver(new XmlUrlResolver(), "http://serverName/data/");
System.Net.NetworkCredential myCred;
myCred  = new System.Net.NetworkCredential(UserName,SecurelyStoredPassword,Domain);  
resolver.Credentials = myCred;

XsltSettings settings = new XsltSettings();
settings.EnableDocumentFunction = true;
  
// Load the style sheet.
XslCompiledTransform xslt = new XslCompiledTransform();
xslt.Load("http://serverName/data/xsl/sort.xsl", settings, resolver);

// Transform the file.
using (XmlReader reader = XmlReader.Create("books.xml"))
{
   using (XmlWriter writer = XmlWriter.Create("output.xml")) 
   {
      xslt.Transform(reader, null, writer, resolver);
   }
}
' Create a resolver and specify the necessary credentials.
Dim resolver As New XmlSecureResolver(New XmlUrlResolver(), "http://serverName/data/")
Dim myCred As System.Net.NetworkCredential
myCred = New System.Net.NetworkCredential(UserName, SecurelyStoredPassword, Domain)
resolver.Credentials = myCred
        
Dim settings As New XsltSettings()
settings.EnableDocumentFunction = True
        
' Load the style sheet.
Dim xslt As New XslCompiledTransform()
xslt.Load("http://serverName/data/xsl/sort.xsl", settings, resolver)
        
' Transform the file.
        Using reader As XmlReader = XmlReader.Create("books.xml")

            Using writer As XmlWriter = XmlWriter.Create("output.xml")
                xslt.Transform(reader, Nothing, writer, resolver)
            End Using

        End Using
추가 정보

Transform(String, XsltArgumentList, XmlWriter) Transform(String, XsltArgumentList, XmlWriter) Transform(String, XsltArgumentList, XmlWriter) Transform(String, XsltArgumentList, XmlWriter)

URI로 지정된 입력 문서를 사용하여 변환을 실행하고 XmlWriter에 결과를 출력합니다.Executes the transform using the input document specified by the URI and outputs the results to an XmlWriter. XsltArgumentList는 추가 런타임 인수를 제공합니다.The XsltArgumentList provides additional run-time arguments.

public:
 void Transform(System::String ^ inputUri, System::Xml::Xsl::XsltArgumentList ^ arguments, System::Xml::XmlWriter ^ results);
public void Transform (string inputUri, System.Xml.Xsl.XsltArgumentList arguments, System.Xml.XmlWriter results);
member this.Transform : string * System.Xml.Xsl.XsltArgumentList * System.Xml.XmlWriter -> unit
Public Sub Transform (inputUri As String, arguments As XsltArgumentList, results As XmlWriter)

매개 변수

inputUri
String String String String

입력 문서의 URI입니다.The URI of the input document.

arguments
XsltArgumentList XsltArgumentList XsltArgumentList XsltArgumentList

변환에 대한 입력용으로 사용되는 네임스페이스 정규화 인수가 들어 있는 XsltArgumentList입니다.An XsltArgumentList containing the namespace-qualified arguments used as input to the transform. 이 값은 null일 수 있습니다.This value can be null.

results
XmlWriter XmlWriter XmlWriter XmlWriter

출력을 제공할 대상 XmlWriter입니다.The XmlWriter to which you want to output.

스타일시트에 xsl:output 요소가 포함된 경우 OutputSettings 속성에서 반환된 XmlWriterSettings 개체를 사용하여 XmlWriter를 만들어야 합니다.If the style sheet contains an xsl:output element, you should create the XmlWriter using the XmlWriterSettings object returned from the OutputSettings property. 이렇게 해야 XmlWriter의 출력 설정이 올바르게 설정됩니다.This ensures that the XmlWriter has the correct output settings.

예외

inputUri 또는 results 값이 null인 경우The inputUri or results value is null.

XSLT 변환을 실행하는 동안 오류가 발생한 경우There was an error executing the XSLT transform.

inputtUri 값에 찾을 수 없는 디렉터리나 파일 이름이 포함된 경우The inputtUri value includes a filename or directory cannot be found.

inputUri 값을 확인할 수 없는 경우The inputUri value cannot be resolved.

또는-or- 이 요청을 처리하는 동안 오류가 발생했습니다.An error occurred while processing the request.

inputUri 경로는 유효한 URI가 아닙니다.inputUri is not a valid URI.

입력 문서를 로드하는 동안 구문 분석 오류가 발생한 경우There was a parsing error loading the input document.

예제

다음 예제에서는 XsltArgumentList 현재 날짜 및 시간을 나타내는 매개 변수를 만들려면 개체입니다.The following example uses an XsltArgumentList object 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.xmlorder.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.xslorder.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>

설명

이 메서드는 기본 XmlUrlResolver 입력된 문서와 XSLT의 모든 인스턴스를 해결 하려면 사용자 자격 증명 없이 document() 함수 스타일 시트에서 찾을 수 있습니다.This method uses a default XmlUrlResolver with no user credentials to resolve the input document and any instances of the XSLT document() function found in the style sheet. 인증을 요구 하는 네트워크 리소스에 있는 이러한 리소스 중 하나를 사용 하는 오버 로드를 사용는 XmlResolver 해당 인수 중 하나로 지정 하 고는 XmlResolver 에 필요한 자격 증명입니다.If any of these resources are located on a network resource that requires authentication, use the overload that takes an XmlResolver as one of its arguments and specify an XmlResolver with the necessary credentials.

XmlReader 기본값 설정을 사용 하 여 입력된 문서를 로드 합니다.An XmlReader with default settings is used to load the input document. 에서는 DTD 처리가 비활성화 됩니다는 XmlReader합니다.DTD processing is disabled on the XmlReader. DTD 처리를 필요로 하는 경우 만들기는 XmlReader 이 기능을 사용 하 여 다음을 사용 하 고 전달 하는 Transform 메서드.If you require DTD processing, create an XmlReader with this feature enabled, and pass it to the Transform method.

추가 정보

Transform(IXPathNavigable, XsltArgumentList, XmlWriter, XmlResolver) Transform(IXPathNavigable, XsltArgumentList, XmlWriter, XmlResolver) Transform(IXPathNavigable, XsltArgumentList, XmlWriter, XmlResolver) Transform(IXPathNavigable, XsltArgumentList, XmlWriter, XmlResolver)

IXPathNavigable 개체에 지정된 입력 문서를 사용하여 변환을 실행하고 XmlWriter에 결과를 출력합니다.Executes the transform by using the input document that is specified by the IXPathNavigable object and outputs the results to an XmlWriter. XsltArgumentList는 추가 런타임 인수를 제공하고 XmlResolver는 XSLT document() 함수를 확인합니다.The XsltArgumentList provides additional run-time arguments and the XmlResolver resolves the XSLT document() function.

public:
 void Transform(System::Xml::XPath::IXPathNavigable ^ input, System::Xml::Xsl::XsltArgumentList ^ arguments, System::Xml::XmlWriter ^ results, System::Xml::XmlResolver ^ documentResolver);
public void Transform (System.Xml.XPath.IXPathNavigable input, System.Xml.Xsl.XsltArgumentList arguments, System.Xml.XmlWriter results, System.Xml.XmlResolver documentResolver);
member this.Transform : System.Xml.XPath.IXPathNavigable * System.Xml.Xsl.XsltArgumentList * System.Xml.XmlWriter * System.Xml.XmlResolver -> unit
Public Sub Transform (input As IXPathNavigable, arguments As XsltArgumentList, results As XmlWriter, documentResolver As XmlResolver)

매개 변수

input
IXPathNavigable IXPathNavigable IXPathNavigable IXPathNavigable

IXPathNavigable 개체에서 지정되는 변환할 문서입니다.The document to transform that is specified by the IXPathNavigable object.

arguments
XsltArgumentList XsltArgumentList XsltArgumentList XsltArgumentList

XsltArgumentList로 표시되는 인수 목록입니다.Argument list as XsltArgumentList.

results
XmlWriter XmlWriter XmlWriter XmlWriter

출력을 제공할 대상 XmlWriter입니다.The XmlWriter to which you want to output.

스타일시트에 xsl:output 요소가 포함된 경우 OutputSettings 속성에서 반환되는 XmlWriterSettings 개체를 사용하여 XmlWriter를 만들어야 합니다.If the style sheet contains an xsl:output element, you should create the XmlWriter by using the XmlWriterSettings object that is returned from the OutputSettings property. 이렇게 해야 XmlWriter의 출력 설정이 올바르게 설정됩니다.This ensures that the XmlWriter has the correct output settings.

documentResolver
XmlResolver XmlResolver XmlResolver XmlResolver

XSLT document() 함수 확인에 사용되는 XmlResolver입니다.The XmlResolver used to resolve the XSLT document() function. 이 값이 null이면 document() 함수가 확인되지 않습니다.If this is null, the document() function is not resolved.

적용 대상