XslTransform.Transform 메서드
정의
중요
일부 정보는 릴리스되기 전에 상당 부분 수정될 수 있는 시험판 제품과 관련이 있습니다. Microsoft는 여기에 제공된 정보에 대해 어떠한 명시적이거나 묵시적인 보증도 하지 않습니다.
로드한 XSLT 스타일시트를 사용하여 XML 데이터를 변환합니다.
오버로드
설명
참고
클래스는 XslTransform .NET Framework 버전 2.0에서 사용되지 않습니다. 클래스는 XslCompiledTransform 새 XSLT 프로세서입니다. 자세한 내용은 XslCompiledTransform 클래스 사용 및 XslTransform 클래스에서 마이그레이션을 참조하세요.
Transform(XPathNavigator, XsltArgumentList, XmlResolver)
지정된 args
를 사용하여 XPathNavigator의 XML 데이터를 변환하고 그 결과를 XmlReader로 출력합니다.
public:
System::Xml::XmlReader ^ Transform(System::Xml::XPath::XPathNavigator ^ input, System::Xml::Xsl::XsltArgumentList ^ args, System::Xml::XmlResolver ^ resolver);
public System.Xml.XmlReader Transform (System.Xml.XPath.XPathNavigator input, System.Xml.Xsl.XsltArgumentList? args, System.Xml.XmlResolver? resolver);
public System.Xml.XmlReader Transform (System.Xml.XPath.XPathNavigator input, System.Xml.Xsl.XsltArgumentList args, System.Xml.XmlResolver resolver);
member this.Transform : System.Xml.XPath.XPathNavigator * System.Xml.Xsl.XsltArgumentList * System.Xml.XmlResolver -> System.Xml.XmlReader
Public Function Transform (input As XPathNavigator, args As XsltArgumentList, resolver As XmlResolver) As XmlReader
매개 변수
- input
- XPathNavigator
변환할 데이터를 포함하는 XPathNavigator입니다.
- args
- XsltArgumentList
변환에 대한 입력용으로 사용되는 네임스페이스 정규화 인수가 들어 있는 XsltArgumentList입니다.
- resolver
- XmlResolver
XSLT document()
함수 확인에 사용되는 XmlResolver입니다. 이 값이 null
이면 document()
함수가 확인되지 않습니다.
XmlResolver 메서드가 완료된 다음 Transform(XPathNavigator, XsltArgumentList, XmlResolver)가 캐시되지 않습니다.
반환
변환 결과가 들어 있는 XmlReader입니다.
예외
XSLT 변환을 처리하는 동안 오류가 발생한 경우
참고: 이는 이전 버전에서 업그레이드되면서 변경된 동작입니다. Microsoft .NET Framework version 1.1이나 그 이전 버전을 사용할 경우에는 XsltException이 throw됩니다.
설명
참고
클래스는 XslTransform .NET Framework 버전 2.0에서 사용되지 않습니다. 클래스는 XslCompiledTransform 새 XSLT 프로세서입니다. 자세한 내용은 XslCompiledTransform 클래스 사용 및 XslTransform 클래스에서 마이그레이션을 참조하세요.
XslTransform 는 XSLT 1.0 구문을 지원합니다. XSLT 스타일시트에는 네임스페이스 선언 xmlns:xsl= http://www.w3.org/1999/XSL/Transform
이 포함되어야 합니다.
스타일 args
시트에 정의된 요소와 xsl:param
일치합니다. 변환 선택은 문서 전체에 적용됩니다. 즉, 현재 노드가 문서 루트 노드가 아닌 노드 트리에 설정된 경우 변환 프로세스가 로드된 문서의 모든 노드에 액세스하는 것을 방지하지는 않습니다. 변환이 수행된 XPathNavigator 후 원래 상태로 유지됩니다. 즉, 변환 프로세스 이전의 현재 노드는 메서드가 호출된 후 현재 노드로 Transform 유지됩니다.
읽기 전용 출력을 xsl:output
제공하므로 XmlReader 요소는 무시됩니다. 자세한 내용은 XslTransform의 출력 을 참조하세요.
이 메서드를 사용하면 원본 문서의 비동기 변환을 수행할 수 있습니다.
추가 정보
적용 대상
Transform(XPathNavigator, XsltArgumentList, TextWriter, XmlResolver)
지정된 args
를 사용하여 XPathNavigator의 XML 데이터를 변환하고 그 결과를 TextWriter로 출력합니다.
public:
void Transform(System::Xml::XPath::XPathNavigator ^ input, System::Xml::Xsl::XsltArgumentList ^ args, System::IO::TextWriter ^ output, System::Xml::XmlResolver ^ resolver);
public void Transform (System.Xml.XPath.XPathNavigator input, System.Xml.Xsl.XsltArgumentList? args, System.IO.TextWriter output, System.Xml.XmlResolver? resolver);
public void Transform (System.Xml.XPath.XPathNavigator input, System.Xml.Xsl.XsltArgumentList args, System.IO.TextWriter output, System.Xml.XmlResolver resolver);
member this.Transform : System.Xml.XPath.XPathNavigator * System.Xml.Xsl.XsltArgumentList * System.IO.TextWriter * System.Xml.XmlResolver -> unit
Public Sub Transform (input As XPathNavigator, args As XsltArgumentList, output As TextWriter, resolver As XmlResolver)
매개 변수
- input
- XPathNavigator
변환할 데이터를 포함하는 XPathNavigator입니다.
- args
- XsltArgumentList
변환에 대한 입력용으로 사용되는 네임스페이스 정규화 인수가 들어 있는 XsltArgumentList입니다.
- output
- TextWriter
출력을 제공할 대상 TextWriter입니다.
- resolver
- XmlResolver
XSLT document()
함수 확인에 사용되는 XmlResolver입니다. 이 값이 null
이면 document()
함수가 확인되지 않습니다.
XmlResolver 메서드가 완료된 다음 Transform(XPathNavigator, XsltArgumentList, TextWriter, XmlResolver)가 캐시되지 않습니다.
예외
XSLT 변환을 처리하는 동안 오류가 발생한 경우
참고: 이는 이전 버전에서 업그레이드되면서 변경된 동작입니다. Microsoft .NET Framework version 1.1이나 그 이전 버전을 사용할 경우에는 XsltException이 throw됩니다.
설명
참고
클래스는 XslTransform .NET Framework 버전 2.0에서 사용되지 않습니다. XslCompiledTransform 클래스는 새 XSLT 프로세서입니다. 자세한 내용은 XslCompiledTransform 클래스 사용 및 XslTransform 클래스에서 마이그레이션을 참조하세요.
XslTransform 는 XSLT 1.0 구문을 지원합니다. XSLT 스타일시트에는 네임스페이스 선언 xmlns:xsl= http://www.w3.org/1999/XSL/Transform
이 포함되어야 합니다.
스타일 args
시트에 정의된 요소와 xsl:param
일치합니다. 변환 선택은 문서 전체에 적용됩니다. 즉, 현재 노드가 문서 루트 노드가 아닌 노드 트리에 설정된 경우 변환 프로세스가 로드된 문서의 모든 노드에 액세스하는 것을 방지하지는 않습니다. 변환이 수행되면 XPathNavigator 원래 상태로 유지됩니다. 즉, 변환 프로세스 전에 현재 노드는 메서드가 호출된 후 현재 노드로 Transform 유지됩니다.
에 출력TextWriter할 때 요소의 xsl:output
인코딩 특성이 지원되지 않습니다. 지원되는 특성에 대한 자세한 내용은 XslTransform 의 xsl:output
출력을 참조하세요.
추가 정보
적용 대상
Transform(XPathNavigator, XsltArgumentList, Stream, XmlResolver)
지정된 args
를 사용하여 XPathNavigator의 XML 데이터를 변환하고 그 결과를 Stream로 출력합니다.
public:
void Transform(System::Xml::XPath::XPathNavigator ^ input, System::Xml::Xsl::XsltArgumentList ^ args, System::IO::Stream ^ output, System::Xml::XmlResolver ^ resolver);
public void Transform (System.Xml.XPath.XPathNavigator input, System.Xml.Xsl.XsltArgumentList? args, System.IO.Stream output, System.Xml.XmlResolver? resolver);
public void Transform (System.Xml.XPath.XPathNavigator input, System.Xml.Xsl.XsltArgumentList args, System.IO.Stream output, System.Xml.XmlResolver resolver);
member this.Transform : System.Xml.XPath.XPathNavigator * System.Xml.Xsl.XsltArgumentList * System.IO.Stream * System.Xml.XmlResolver -> unit
Public Sub Transform (input As XPathNavigator, args As XsltArgumentList, output As Stream, resolver As XmlResolver)
매개 변수
- input
- XPathNavigator
변환할 데이터를 포함하는 XPathNavigator입니다.
- args
- XsltArgumentList
변환에 대한 입력용으로 사용되는 네임스페이스 정규화 인수가 들어 있는 XsltArgumentList입니다.
- output
- Stream
출력할 대상 스트림입니다.
- resolver
- XmlResolver
XSLT document()
함수 확인에 사용되는 XmlResolver입니다. 이 값이 null
이면 document()
함수가 확인되지 않습니다.
XmlResolver 메서드가 완료된 다음 Transform(XPathNavigator, XsltArgumentList, Stream, XmlResolver)가 캐시되지 않습니다.
예외
XSLT 변환을 처리하는 동안 오류가 발생한 경우
참고: 이는 이전 버전에서 업그레이드되면서 변경된 동작입니다. Microsoft .NET Framework version 1.1이나 그 이전 버전을 사용할 경우에는 XsltException이 throw됩니다.
예제
다음 예제에서는 고객 테이블을 XmlDataDocument 한 테이블에 로드하고 XSLT 변환을 수행하여 고객 데이터를 HTML 테이블로 가져옵니다. 이 예제에서는 Microsoft SQL Server 2000 Northwind 데이터베이스를 사용합니다.
using System;
using System.IO;
using System.Data;
using System.Data.SqlClient;
using System.Xml;
using System.Xml.XPath;
using System.Xml.Xsl;
public class Sample
{
public static void Main()
{
// Create a DataSet and load it with customer data.
DataSet dsNorthwind = new DataSet();
String sConnect;
sConnect="Data Source=localhost;Integrated Security=SSPI;Initial Catalog=Northwind";
SqlConnection nwconnect = new SqlConnection(sConnect);
String sCommand = "Select * from Customers where Region='WA'";
SqlDataAdapter myDataAdapter = new SqlDataAdapter(sCommand, nwconnect);
myDataAdapter.Fill(dsNorthwind,"Customers");
// Load the DataSet into an XmlDataDocument.
XmlDataDocument doc = new XmlDataDocument(dsNorthwind);
// Create the XslTransform object and load the stylesheet.
XslTransform xsl = new XslTransform();
xsl.Load("customers.xsl");
// Create an XPathNavigator to use in the transform.
XPathNavigator nav = doc.CreateNavigator();
// Create a FileStream object.
FileStream fs = new FileStream("cust.html", FileMode.Create);
// Transform the data.
xsl.Transform(nav, null, fs, null);
}
}
Imports System.IO
Imports System.Data
Imports System.Data.SqlClient
Imports System.Xml
Imports System.Xml.XPath
Imports System.Xml.Xsl
public class Sample
public shared sub Main()
' Create a DataSet and load it with customer data.
Dim dsNorthwind as DataSet = new DataSet()
Dim sConnect as String
sConnect="Data Source=localhost;Integrated Security=SSPI;Initial Catalog=Northwind"
Dim nwconnect as SqlConnection
nwconnect = new SqlConnection(sConnect)
Dim sCommand as String = "Select * from Customers where Region='WA'"
Dim myDataAdapter as SqlDataAdapter
myDataAdapter = new SqlDataAdapter(sCommand, nwconnect)
myDataAdapter.Fill(dsNorthwind,"Customers")
' Load the DataSet into an XmlDataDocument.
Dim doc as XmlDataDocument = new XmlDataDocument(dsNorthwind)
' Create the XslTransform object and load the stylesheet.
Dim xsl as XslTransform = new XslTransform()
xsl.Load("customers.xsl")
' Create an XPathNavigator to use in the transform.
Dim nav as XPathNavigator = doc.CreateNavigator()
' Create a FileStream object.
Dim fs as FileStream = new FileStream("cust.html", FileMode.Create)
' Transform the data.
xsl.Transform(nav, nothing, fs, nothing)
end sub
end class
이 예제에서는 customers.xsl
파일을 입력으로 사용합니다.
<!-- Stylesheet to sort customers by city-->
<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0">
<xsl:template match="NewDataSet">
<HTML>
<BODY>
<TABLE BORDER="2">
<TR>
<TD>Company Name</TD>
<TD>Contact Name</TD>
<TD>City</TD>
</TR>
<xsl:apply-templates select="Customers">
<xsl:sort select="City"/>
</xsl:apply-templates>
</TABLE>
</BODY>
</HTML>
</xsl:template>
<xsl:template match="Customers">
<TR>
<TD><xsl:value-of select="CompanyName"/></TD>
<TD><xsl:value-of select="ContactName"/></TD>
<TD><xsl:value-of select="City"/></TD>
</TR>
</xsl:template>
</xsl:stylesheet>
설명
참고
클래스는 XslTransform .NET Framework 버전 2.0에서 사용되지 않습니다. XslCompiledTransform 클래스는 새 XSLT 프로세서입니다. 자세한 내용은 XslCompiledTransform 클래스 사용 및 XslTransform 클래스에서 마이그레이션을 참조하세요.
XslTransform 는 XSLT 1.0 구문을 지원합니다. XSLT 스타일시트에는 네임스페이스 선언 xmlns:xsl= http://www.w3.org/1999/XSL/Transform
이 포함되어야 합니다.
스타일 args
시트에 정의된 요소와 xsl:param
일치합니다. 변환 선택은 문서 전체에 적용됩니다. 즉, 현재 노드가 문서 루트 노드가 아닌 노드 트리에 설정된 경우 변환 프로세스가 로드된 문서의 모든 노드에 액세스하는 것을 방지하지는 않습니다. 변환이 수행된 XPathNavigator 후 원래 상태로 유지됩니다. 즉, 변환 프로세스 전에 현재 노드는 메서드가 호출된 후 현재 노드로 Transform 유지됩니다.
지원되는 특성에 대한 자세한 내용은 XslTransform 의 xsl:output
출력을 참조하세요.
추가 정보
적용 대상
Transform(IXPathNavigable, XsltArgumentList, XmlWriter, XmlResolver)
지정된 args
를 사용하여 IXPathNavigable의 XML 데이터를 변환하고 그 결과를 XmlWriter로 출력합니다.
public:
void Transform(System::Xml::XPath::IXPathNavigable ^ input, System::Xml::Xsl::XsltArgumentList ^ args, System::Xml::XmlWriter ^ output, System::Xml::XmlResolver ^ resolver);
public void Transform (System.Xml.XPath.IXPathNavigable input, System.Xml.Xsl.XsltArgumentList? args, System.Xml.XmlWriter output, System.Xml.XmlResolver? resolver);
public void Transform (System.Xml.XPath.IXPathNavigable input, System.Xml.Xsl.XsltArgumentList args, System.Xml.XmlWriter output, System.Xml.XmlResolver resolver);
member this.Transform : System.Xml.XPath.IXPathNavigable * System.Xml.Xsl.XsltArgumentList * System.Xml.XmlWriter * System.Xml.XmlResolver -> unit
Public Sub Transform (input As IXPathNavigable, args As XsltArgumentList, output As XmlWriter, resolver As XmlResolver)
매개 변수
- input
- IXPathNavigable
IXPathNavigable 인터페이스를 구현하는 개체입니다. .NET Framework에서 이 개체는 변환할 데이터를 포함하는 XmlNode(대개 XmlDocument) 또는 XPathDocument일 수 있습니다.
- args
- XsltArgumentList
변환에 대한 입력용으로 사용되는 네임스페이스 정규화 인수가 들어 있는 XsltArgumentList입니다.
- resolver
- XmlResolver
XSLT document()
함수 확인에 사용되는 XmlResolver입니다. 이 값이 null
이면 document()
함수가 확인되지 않습니다.
XmlResolver 메서드가 완료된 다음 Transform(IXPathNavigable, XsltArgumentList, XmlWriter, XmlResolver)가 캐시되지 않습니다.
예외
XSLT 변환을 처리하는 동안 오류가 발생한 경우
참고: 이는 이전 버전에서 업그레이드되면서 변경된 동작입니다. Microsoft .NET Framework version 1.1이나 그 이전 버전을 사용할 경우에는 XsltException이 throw됩니다.
예제
다음은 XML 문서를 HTML 문서로 변환하는 예제입니다. 테이블에 각 책의 ISBN, 제목 및 가격이 표시됩니다.
#using <System.dll>
#using <System.Xml.dll>
using namespace System;
using namespace System::IO;
using namespace System::Xml;
using namespace System::Xml::Xsl;
using namespace System::Xml::XPath;
int main()
{
String^ filename = "books.xml";
String^ stylesheet = "output.xsl";
//Load the stylesheet.
XslTransform^ xslt = gcnew XslTransform;
xslt->Load( stylesheet );
//Load the file to transform.
XPathDocument^ doc = gcnew XPathDocument( filename );
//Create an XmlTextWriter which outputs to the console.
XmlTextWriter^ writer = gcnew XmlTextWriter( Console::Out );
//Transform the file and send the output to the console.
xslt->Transform(doc,nullptr,writer,nullptr);
writer->Close();
}
using System;
using System.IO;
using System.Xml;
using System.Xml.Xsl;
using System.Xml.XPath;
public class Sample
{
private const String filename = "books.xml";
private const String stylesheet = "output.xsl";
public static void Main()
{
//Load the stylesheet.
XslTransform xslt = new XslTransform();
xslt.Load(stylesheet);
//Load the file to transform.
XPathDocument doc = new XPathDocument(filename);
//Create an XmlTextWriter which outputs to the console.
XmlTextWriter writer = new XmlTextWriter(Console.Out);
//Transform the file and send the output to the console.
xslt.Transform(doc, null, writer, null);
writer.Close();
}
}
Option Strict
Option Explicit
Imports System.IO
Imports System.Xml
Imports System.Xml.Xsl
Imports System.Xml.XPath
Public Class Sample
Private Shared filename1 As String = "books.xml"
Private Shared stylesheet1 As String = "output.xsl"
Public Shared Sub Main()
'Load the stylesheet.
Dim xslt As New XslTransform()
xslt.Load(stylesheet1)
'Load the file to transform.
Dim doc As New XPathDocument(filename1)
'Create an XmlTextWriter which outputs to the console.
Dim writer As New XmlTextWriter(Console.Out)
'Transform the file and send the output to the console.
xslt.Transform(doc, Nothing, writer, Nothing)
writer.Close()
End Sub
End Class
샘플에서는 다음 두 개의 입력 파일을 사용합니다.
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>
설명
참고
클래스는 XslTransform .NET Framework 버전 2.0에서 사용되지 않습니다. XslCompiledTransform 클래스는 새 XSLT 프로세서입니다. 자세한 내용은 XslCompiledTransform 클래스 사용 및 XslTransform 클래스에서 마이그레이션을 참조하세요.
XslTransform 는 XSLT 1.0 구문을 지원합니다. XSLT 스타일시트에는 네임스페이스 선언 xmlns:xsl= http://www.w3.org/1999/XSL/Transform
이 포함되어야 합니다.
스타일 args
시트에 정의된 요소와 xsl:param
일치합니다. xsl:output
(무시됨)에 출력하는 XmlWriterxsl:output
경우 요소가 지원되지 않습니다. 자세한 내용은 XslTransform의 출력 을 참조하세요.
변형은 문서 전체에 적용됩니다. 즉, 문서 루트 노드 이외의 노드에 전달해도 변환 프로세스에서 로드된 문서의 모든 노드에 액세스할 수 있습니다. 노드 조각을 변환하려면 노드 조각만 포함하는 항목을 만들고 XmlDocument 메서드 XmlDocument 에 Transform 전달해야 합니다.
다음 예제에서는 노드 조각에서 변환을 수행합니다.
XslTransform xslt = new XslTransform();
xslt.Load("print_root.xsl");
XmlDocument doc = new XmlDocument();
doc.Load("library.xml");
// Create a new document containing just the node fragment.
XmlNode testNode = doc.DocumentElement.FirstChild;
XmlDocument tmpDoc = new XmlDocument();
tmpDoc.LoadXml(testNode.OuterXml);
// Pass the document containing the node fragment
// to the Transform method.
Console.WriteLine("Passing " + tmpDoc.OuterXml + " to print_root.xsl");
xslt.Transform(tmpDoc, null, Console.Out, null);
이 예제에서는 입력 library.xml
으로 파일 및 print_root.xsl
파일을 사용하고 콘솔에 다음을 출력합니다.
Passing <book genre="novel" ISBN="1-861001-57-5"><title>Pride And Prejudice</title></book> to print_root.xsl
Root node is book.
library.xml
<library>
<book genre='novel' ISBN='1-861001-57-5'>
<title>Pride And Prejudice</title>
</book>
<book genre='novel' ISBN='1-81920-21-2'>
<title>Hook</title>
</book>
</library>
print_root.xsl
<stylesheet version="1.0" xmlns="http://www.w3.org/1999/XSL/Transform" >
<output method="text" />
<template match="/">
Root node is <value-of select="local-name(//*[position() = 1])" />
</template>
</stylesheet>
추가 정보
적용 대상
Transform(IXPathNavigable, XsltArgumentList, TextWriter, XmlResolver)
지정된 args
를 사용하여 IXPathNavigable의 XML 데이터를 변환하고 그 결과를 TextWriter로 출력합니다.
public:
void Transform(System::Xml::XPath::IXPathNavigable ^ input, System::Xml::Xsl::XsltArgumentList ^ args, System::IO::TextWriter ^ output, System::Xml::XmlResolver ^ resolver);
public void Transform (System.Xml.XPath.IXPathNavigable input, System.Xml.Xsl.XsltArgumentList? args, System.IO.TextWriter output, System.Xml.XmlResolver? resolver);
public void Transform (System.Xml.XPath.IXPathNavigable input, System.Xml.Xsl.XsltArgumentList args, System.IO.TextWriter output, System.Xml.XmlResolver resolver);
member this.Transform : System.Xml.XPath.IXPathNavigable * System.Xml.Xsl.XsltArgumentList * System.IO.TextWriter * System.Xml.XmlResolver -> unit
Public Sub Transform (input As IXPathNavigable, args As XsltArgumentList, output As TextWriter, resolver As XmlResolver)
매개 변수
- input
- IXPathNavigable
IXPathNavigable 인터페이스를 구현하는 개체입니다. .NET Framework에서 이 개체는 변환할 데이터를 포함하는 XmlNode(대개 XmlDocument) 또는 XPathDocument일 수 있습니다.
- args
- XsltArgumentList
변환에 대한 입력용으로 사용되는 네임스페이스 정규화 인수가 들어 있는 XsltArgumentList입니다.
- output
- TextWriter
출력을 제공할 대상 TextWriter입니다.
- resolver
- XmlResolver
XSLT document()
함수 확인에 사용되는 XmlResolver입니다. 이 값이 null
이면 document()
함수가 확인되지 않습니다.
XmlResolver 메서드가 완료된 다음 Transform(IXPathNavigable, XsltArgumentList, TextWriter, XmlResolver)가 캐시되지 않습니다.
예외
XSLT 변환을 처리하는 동안 오류가 발생한 경우
참고: 이는 이전 버전에서 업그레이드되면서 변경된 동작입니다. Microsoft .NET Framework version 1.1이나 그 이전 버전을 사용할 경우에는 XsltException이 throw됩니다.
예제
다음 예제에서는 XML 파일을 변환하고 HTML 문자열을 출력합니다. StringReader 및 StringWriter 클래스는 문자열을 읽고 쓰는 데 사용됩니다.
using System;
using System.IO;
using System.Xml;
using System.Xml.Xsl;
using System.Xml.XPath;
public class Sample {
public static void Main() {
// Create a string containing the XSLT stylesheet.
String xsltString =
@"<xsl:stylesheet xmlns:xsl='http://www.w3.org/1999/XSL/Transform' version='1.0'>
<xsl:template match='bookstore'>
<HTML>
<HEAD>
<TITLE>Book Titles</TITLE>
</HEAD>
<BODY>
<xsl:apply-templates select='book'/>
</BODY>
</HTML>
</xsl:template>
<xsl:template match='book'>
<P><xsl:value-of select='title'/></P>
</xsl:template>
</xsl:stylesheet>";
// Create the XslTransform object.
XslTransform xslt = new XslTransform();
// Load the stylesheet.
StringReader rdr = new StringReader(xsltString);
xslt.Load(new XPathDocument(rdr), null, null);
// Transform the file and output an HTML string.
string HTMLoutput;
StringWriter writer = new StringWriter();
xslt.Transform(new XPathDocument("books.xml"), null, writer, null);
HTMLoutput = writer.ToString();
}
}
Imports System.IO
Imports System.Xml
Imports System.Xml.Xsl
Imports System.Xml.XPath
public class Sample
public shared sub Main()
' Create a string containing the XSLT stylesheet.
Dim xsltString as String
xsltString = "<xsl:stylesheet xmlns:xsl='http://www.w3.org/1999/XSL/Transform' version='1.0'>" & _
" <xsl:template match='bookstore'>" & _
" <HTML>" & _
" <HEAD>" & _
" <TITLE>Book Titles</TITLE>" & _
" </HEAD>" & _
" <BODY>" & _
" <xsl:apply-templates select='book'/>" & _
" </BODY>" & _
" </HTML>" & _
" </xsl:template>" & _
" <xsl:template match='book'>" & _
" <P><xsl:value-of select='title'/></P>" & _
" </xsl:template>" & _
" </xsl:stylesheet>"
' Create the XslTransform object.
Dim xslt as XslTransform = new XslTransform()
' Load the stylesheet.
Dim rdr as StringReader = new StringReader(xsltString)
xslt.Load(new XPathDocument(rdr), nothing, nothing)
' Transform the file and output an HTML string.
Dim HTMLoutput as string
Dim writer as StringWriter = new StringWriter()
xslt.Transform(new XPathDocument("books.xml"), nothing, writer, nothing)
HTMLoutput = writer.ToString()
end sub
end class
이 예제에서는 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>
설명
참고
클래스는 XslTransform .NET Framework 버전 2.0에서 사용되지 않습니다. 클래스는 XslCompiledTransform 새 XSLT 프로세서입니다. 자세한 내용은 XslCompiledTransform 클래스 사용 및 XslTransform 클래스에서 마이그레이션을 참조하세요.
XslTransform 는 XSLT 1.0 구문을 지원합니다. XSLT 스타일시트에는 네임스페이스 선언 xmlns:xsl= http://www.w3.org/1999/XSL/Transform
이 포함되어야 합니다.
스타일 args
시트에 정의된 요소와 xsl:param
일치합니다.
요소의 인코딩 특성은 .에 xsl:output
출력할 TextWriter때 지원되지 않습니다. 지원되는 특성에 대한 자세한 내용은 XslTransform 의 xsl:output
출력을 참조하세요.
변형은 문서 전체에 적용됩니다. 즉, 문서 루트 노드 이외의 노드에 전달해도 변환 프로세스에서 로드된 문서의 모든 노드에 액세스할 수 있습니다. 노드 조각을 변환하려면 노드 조각만 포함하는 항목을 만들어 XmlDocument 메서드에 Transform 전달 XmlDocument 해야 합니다.
다음 예제에서는 노드 조각에서 변환을 수행합니다.
XslTransform xslt = new XslTransform();
xslt.Load("print_root.xsl");
XmlDocument doc = new XmlDocument();
doc.Load("library.xml");
// Create a new document containing just the node fragment.
XmlNode testNode = doc.DocumentElement.FirstChild;
XmlDocument tmpDoc = new XmlDocument();
tmpDoc.LoadXml(testNode.OuterXml);
// Pass the document containing the node fragment
// to the Transform method.
Console.WriteLine("Passing " + tmpDoc.OuterXml + " to print_root.xsl");
xslt.Transform(tmpDoc, null, Console.Out, null);
이 예제에서는 입력으로 파일 및 print_root.xsl
파일을 사용하고 library.xml
콘솔에 다음을 출력합니다.
Passing <book genre="novel" ISBN="1-861001-57-5"><title>Pride And Prejudice</title></book> to print_root.xsl
Root node is book.
library.xml
<library>
<book genre='novel' ISBN='1-861001-57-5'>
<title>Pride And Prejudice</title>
</book>
<book genre='novel' ISBN='1-81920-21-2'>
<title>Hook</title>
</book>
</library>
print_root.xsl
<stylesheet version="1.0" xmlns="http://www.w3.org/1999/XSL/Transform" >
<output method="text" />
<template match="/">
Root node is <value-of select="local-name(//*[position() = 1])" />
</template>
</stylesheet>
추가 정보
적용 대상
Transform(IXPathNavigable, XsltArgumentList, Stream, XmlResolver)
지정된 args
를 사용하여 IXPathNavigable의 XML 데이터를 변환하고 그 결과를 Stream로 출력합니다.
public:
void Transform(System::Xml::XPath::IXPathNavigable ^ input, System::Xml::Xsl::XsltArgumentList ^ args, System::IO::Stream ^ output, System::Xml::XmlResolver ^ resolver);
public void Transform (System.Xml.XPath.IXPathNavigable input, System.Xml.Xsl.XsltArgumentList? args, System.IO.Stream output, System.Xml.XmlResolver? resolver);
public void Transform (System.Xml.XPath.IXPathNavigable input, System.Xml.Xsl.XsltArgumentList args, System.IO.Stream output, System.Xml.XmlResolver resolver);
member this.Transform : System.Xml.XPath.IXPathNavigable * System.Xml.Xsl.XsltArgumentList * System.IO.Stream * System.Xml.XmlResolver -> unit
Public Sub Transform (input As IXPathNavigable, args As XsltArgumentList, output As Stream, resolver As XmlResolver)
매개 변수
- input
- IXPathNavigable
IXPathNavigable 인터페이스를 구현하는 개체입니다. .NET Framework에서 이 개체는 변환할 데이터를 포함하는 XmlNode(대개 XmlDocument) 또는 XPathDocument일 수 있습니다.
- args
- XsltArgumentList
변환에 대한 입력용으로 사용되는 네임스페이스 정규화 인수가 들어 있는 XsltArgumentList입니다.
- output
- Stream
출력할 대상 스트림입니다.
- resolver
- XmlResolver
XSLT document()
함수 확인에 사용되는 XmlResolver입니다. 이 값이 null
이면 document()
함수가 확인되지 않습니다.
XmlResolver 메서드가 완료된 다음 Transform가 캐시되지 않습니다.
예외
XSLT 변환을 처리하는 동안 오류가 발생한 경우
참고: 이는 이전 버전에서 업그레이드되면서 변경된 동작입니다. Microsoft .NET Framework version 1.1이나 그 이전 버전을 사용할 경우에는 XsltException이 throw됩니다.
예제
다음 예제에서는 ASP.NET 페이지 내에서 변환을 수행합니다.
<%@ Import Namespace="System" %>
<%@ Import Namespace="System.IO" %>
<%@ import NameSpace="System.Web" %>
<%@ Import Namespace="System.Xml.XPath" %>
<%@ Import Namespace="System.Xml.Xsl" %>
<html>
<script language="C#" runat="server">
void Page_Load(Object sender, EventArgs e)
{
// Load the XML document to transform.
XPathDocument doc = new XPathDocument(Server.MapPath("books.xml"));
// Load the stylesheet and perform the transform.
XslTransform xslt = new XslTransform();
xslt.Load(Server.MapPath("output.xsl"));
xslt.Transform(doc, null, Response.OutputStream, null);
}
</script>
</html>
<%@ Import Namespace="System" %>
<%@ Import Namespace="System.IO" %>
<%@ import NameSpace="System.Web" %>
<%@ Import Namespace="System.Xml.XPath" %>
<%@ Import Namespace="System.Xml.Xsl" %>
<html>
<script language="VB" runat="server">
sub Page_Load(sender as Object, e as EventArgs)
' Load the XML document to transform.
dim doc as XPathDocument = new XPathDocument(Server.MapPath("books.xml"))
' Load the stylesheet and perform the transform.
dim xslt as XslTransform = new XslTransform()
xslt.Load(Server.MapPath("output.xsl"))
xslt.Transform(doc, nothing, Response.OutputStream, nothing)
end sub
</script>
</html>
설명
참고
클래스는 XslTransform .NET Framework 버전 2.0에서 사용되지 않습니다. 클래스는 XslCompiledTransform 새 XSLT 프로세서입니다. 자세한 내용은 XslCompiledTransform 클래스 사용 및 XslTransform 클래스에서 마이그레이션을 참조하세요.
XslTransform 는 XSLT 1.0 구문을 지원합니다. XSLT 스타일시트에는 네임스페이스 선언 xmlns:xsl= http://www.w3.org/1999/XSL/Transform
이 포함되어야 합니다.
스타일 args
시트에 정의된 요소와 xsl:param
일치합니다.
변형은 문서 전체에 적용됩니다. 즉, 문서 루트 노드 이외의 노드에 전달해도 변환 프로세스에서 로드된 문서의 모든 노드에 액세스할 수 있습니다. 노드 조각을 변환하려면 노드 조각만 포함하는 항목을 만들어 XmlDocument 메서드에 Transform 전달 XmlDocument 해야 합니다.
다음 예제에서는 노드 조각에서 변환을 수행합니다.
XslTransform xslt = new XslTransform();
xslt.Load("print_root.xsl");
XmlDocument doc = new XmlDocument();
doc.Load("library.xml");
// Create a new document containing just the node fragment.
XmlNode testNode = doc.DocumentElement.FirstChild;
XmlDocument tmpDoc = new XmlDocument();
tmpDoc.LoadXml(testNode.OuterXml);
// Pass the document containing the node fragment
// to the Transform method.
Console.WriteLine("Passing " + tmpDoc.OuterXml + " to print_root.xsl");
xslt.Transform(tmpDoc, null, Console.Out, null);
이 예제에서는 입력으로 파일 및 print_root.xsl
파일을 사용하고 library.xml
콘솔에 다음을 출력합니다.
Passing <book genre="novel" ISBN="1-861001-57-5"><title>Pride And Prejudice</title></book> to print_root.xsl
Root node is book.
library.xml
<library>
<book genre='novel' ISBN='1-861001-57-5'>
<title>Pride And Prejudice</title>
</book>
<book genre='novel' ISBN='1-81920-21-2'>
<title>Hook</title>
</book>
</library>
print_root.xsl
<stylesheet version="1.0" xmlns="http://www.w3.org/1999/XSL/Transform" >
<output method="text" />
<template match="/">
Root node is <value-of select="local-name(//*[position() = 1])" />
</template>
</stylesheet>
추가 정보
적용 대상
Transform(XPathNavigator, XsltArgumentList, XmlWriter)
주의
You should pass XmlResolver to Transform() method
지정된 인수를 사용하여 XPathNavigator의 XML 데이터를 변환하고 그 결과를 XmlWriter로 출력합니다.
public:
void Transform(System::Xml::XPath::XPathNavigator ^ input, System::Xml::Xsl::XsltArgumentList ^ args, System::Xml::XmlWriter ^ output);
public void Transform (System.Xml.XPath.XPathNavigator input, System.Xml.Xsl.XsltArgumentList? args, System.Xml.XmlWriter output);
public void Transform (System.Xml.XPath.XPathNavigator input, System.Xml.Xsl.XsltArgumentList args, System.Xml.XmlWriter output);
[System.Obsolete("You should pass XmlResolver to Transform() method")]
public void Transform (System.Xml.XPath.XPathNavigator input, System.Xml.Xsl.XsltArgumentList args, System.Xml.XmlWriter output);
member this.Transform : System.Xml.XPath.XPathNavigator * System.Xml.Xsl.XsltArgumentList * System.Xml.XmlWriter -> unit
[<System.Obsolete("You should pass XmlResolver to Transform() method")>]
member this.Transform : System.Xml.XPath.XPathNavigator * System.Xml.Xsl.XsltArgumentList * System.Xml.XmlWriter -> unit
Public Sub Transform (input As XPathNavigator, args As XsltArgumentList, output As XmlWriter)
매개 변수
- input
- XPathNavigator
변환할 데이터를 포함하는 XPathNavigator입니다.
- args
- XsltArgumentList
변환에 대한 입력용으로 사용되는 네임스페이스 정규화 인수가 들어 있는 XsltArgumentList입니다.
- 특성
예외
XSLT 변환을 처리하는 동안 오류가 발생한 경우
참고: 이는 이전 버전에서 업그레이드되면서 변경된 동작입니다. Microsoft .NET Framework version 1.1이나 그 이전 버전을 사용할 경우에는 XsltException이 throw됩니다.
설명
참고
클래스는 XslTransform .NET Framework 버전 2.0에서 사용되지 않습니다. 클래스는 XslCompiledTransform 새 XSLT 프로세서입니다. 자세한 내용은 XslCompiledTransform 클래스 사용 및 XslTransform 클래스에서 마이그레이션을 참조하세요.
XslTransform 는 XSLT 1.0 구문을 지원합니다. XSLT 스타일시트에는 네임스페이스 선언 xmlns:xsl= http://www.w3.org/1999/XSL/Transform
이 포함되어야 합니다.
스타일 args
시트에 정의된 요소와 xsl:param
일치합니다. 변환 선택은 문서 전체에 적용됩니다. 즉, 현재 노드가 문서 루트 노드가 아닌 노드 트리에 설정된 경우 변환 프로세스가 로드된 문서의 모든 노드에 액세스하는 것을 방지하지는 않습니다. 변환이 수행된 XPathNavigator 후 원래 상태로 유지됩니다. 즉, 변환 프로세스 이전의 현재 노드는 메서드가 호출된 후 현재 노드로 Transform 유지됩니다.
xsl:output
(무시됨)에 출력하는 XmlWriterxsl:output
경우 요소가 지원되지 않습니다. 자세한 내용은 XslTransform의 출력 을 참조하세요.
참고
이 메서드는 더 이상 사용 되지 않습니다. 속성의 XmlResolver 설정은 XSLT document()
함수를 확인하는 방법을 결정합니다. 개체를 인수 중 하나로 사용하는 메서드를 XmlResolver 사용하는 Transform 것이 좋습니다.
추가 정보
적용 대상
Transform(XPathNavigator, XsltArgumentList, TextWriter)
주의
You should pass XmlResolver to Transform() method
지정된 args
를 사용하여 XPathNavigator의 XML 데이터를 변환하고 그 결과를 TextWriter로 출력합니다.
public:
void Transform(System::Xml::XPath::XPathNavigator ^ input, System::Xml::Xsl::XsltArgumentList ^ args, System::IO::TextWriter ^ output);
public void Transform (System.Xml.XPath.XPathNavigator input, System.Xml.Xsl.XsltArgumentList? args, System.IO.TextWriter output);
public void Transform (System.Xml.XPath.XPathNavigator input, System.Xml.Xsl.XsltArgumentList args, System.IO.TextWriter output);
[System.Obsolete("You should pass XmlResolver to Transform() method")]
public void Transform (System.Xml.XPath.XPathNavigator input, System.Xml.Xsl.XsltArgumentList args, System.IO.TextWriter output);
member this.Transform : System.Xml.XPath.XPathNavigator * System.Xml.Xsl.XsltArgumentList * System.IO.TextWriter -> unit
[<System.Obsolete("You should pass XmlResolver to Transform() method")>]
member this.Transform : System.Xml.XPath.XPathNavigator * System.Xml.Xsl.XsltArgumentList * System.IO.TextWriter -> unit
Public Sub Transform (input As XPathNavigator, args As XsltArgumentList, output As TextWriter)
매개 변수
- input
- XPathNavigator
변환할 데이터를 포함하는 XPathNavigator입니다.
- args
- XsltArgumentList
변환에 대한 입력용으로 사용되는 네임스페이스 정규화 인수가 들어 있는 XsltArgumentList입니다.
- output
- TextWriter
출력을 제공할 대상 TextWriter입니다.
- 특성
예외
XSLT 변환을 처리하는 동안 오류가 발생한 경우
참고: 이는 이전 버전에서 업그레이드되면서 변경된 동작입니다. Microsoft .NET Framework version 1.1이나 그 이전 버전을 사용할 경우에는 XsltException이 throw됩니다.
설명
참고
클래스는 XslTransform .NET Framework 버전 2.0에서 사용되지 않습니다. 클래스는 XslCompiledTransform 새 XSLT 프로세서입니다. 자세한 내용은 XslCompiledTransform 클래스 사용 및 XslTransform 클래스에서 마이그레이션을 참조하세요.
XslTransform 는 XSLT 1.0 구문을 지원합니다. XSLT 스타일시트에는 네임스페이스 선언 xmlns:xsl= http://www.w3.org/1999/XSL/Transform
이 포함되어야 합니다.
스타일 args
시트에 정의된 요소와 xsl:param
일치합니다. 변환 선택은 문서 전체에 적용됩니다. 즉, 현재 노드가 문서 루트 노드가 아닌 노드 트리에 설정된 경우 변환 프로세스가 로드된 문서의 모든 노드에 액세스하는 것을 방지하지는 않습니다. 변환이 수행된 XPathNavigator 후 원래 상태로 유지됩니다. 즉, 변환 프로세스 이전의 현재 노드는 메서드가 호출된 후 현재 노드로 Transform 유지됩니다.
요소의 인코딩 특성은 .에 xsl:output
출력할 TextWriter때 지원되지 않습니다. 지원되는 특성에 대한 자세한 내용은 XslTransform 의 xsl:output
출력을 참조하세요.
참고
이 메서드는 더 이상 사용 되지 않습니다. 속성의 XmlResolver 설정은 XSLT document()
함수를 확인하는 방법을 결정합니다. 개체를 인수 중 하나로 사용하는 메서드를 XmlResolver 사용하는 Transform 것이 좋습니다.
추가 정보
적용 대상
Transform(String, String, XmlResolver)
입력 파일의 XML 데이터를 변환하고 그 결과를 출력 파일로 출력합니다.
public:
void Transform(System::String ^ inputfile, System::String ^ outputfile, System::Xml::XmlResolver ^ resolver);
public void Transform (string inputfile, string outputfile, System.Xml.XmlResolver? resolver);
public void Transform (string inputfile, string outputfile, System.Xml.XmlResolver resolver);
member this.Transform : string * string * System.Xml.XmlResolver -> unit
Public Sub Transform (inputfile As String, outputfile As String, resolver As XmlResolver)
매개 변수
- inputfile
- String
변환할 소스 문서의 URL입니다.
- outputfile
- String
출력 파일의 URL입니다.
- resolver
- XmlResolver
XSLT document()
함수 확인에 사용되는 XmlResolver입니다. 이 값이 null
이면 document()
함수가 확인되지 않습니다.
XmlResolver 메서드가 완료된 다음 Transform가 캐시되지 않습니다.
예제
다음 예제에서는 XSLT 변환을 수행하고 파일에 출력합니다. XmlUrlResolver 기본 자격 증명을 사용하는 경우 외부 리소스를 확인합니다. 자세한 내용은 DefaultCredentials를 참조하세요.
// Create a resolver with default credentials.
XmlUrlResolver^ resolver = gcnew XmlUrlResolver;
resolver->Credentials = System::Net::CredentialCache::DefaultCredentials;
// Create the XslTransform object.
XslTransform^ xslt = gcnew XslTransform;
// Load the stylesheet.
xslt->Load( "http://myServer/data/authors.xsl", resolver );
// Transform the file.
xslt->Transform( "books.xml", "books.html", resolver );
// Create a resolver with default credentials.
XmlUrlResolver resolver = new XmlUrlResolver();
resolver.Credentials = System.Net.CredentialCache.DefaultCredentials;
// Create the XslTransform object.
XslTransform xslt = new XslTransform();
// Load the stylesheet.
xslt.Load("http://myServer/data/authors.xsl", resolver);
// Transform the file.
xslt.Transform("books.xml", "books.html", resolver);
' Create a resolver with default credentials.
Dim resolver as XmlUrlResolver = new XmlUrlResolver()
resolver.Credentials = System.Net.CredentialCache.DefaultCredentials
' Create the XslTransform object.
Dim xslt as XslTransform = new XslTransform()
' Load the stylesheet.
xslt.Load("http://myServer/data/authors.xsl", resolver)
' Transform the file.
xslt.Transform("books.xml", "titles.xml", resolver)
설명
참고
클래스는 XslTransform .NET Framework 버전 2.0에서 사용되지 않습니다. XslCompiledTransform 클래스는 새 XSLT 프로세서입니다. 자세한 내용은 XslCompiledTransform 클래스 사용 및 XslTransform 클래스에서 마이그레이션을 참조하세요.
XslTransform 는 XSLT 1.0 구문을 지원합니다. XSLT 스타일시트에는 네임스페이스 선언 xmlns:xsl= http://www.w3.org/1999/XSL/Transform
이 포함되어야 합니다.
추가 정보
적용 대상
Transform(IXPathNavigable, XsltArgumentList, XmlWriter)
주의
You should pass XmlResolver to Transform() method
지정된 args
를 사용하여 IXPathNavigable의 XML 데이터를 변환하고 그 결과를 XmlWriter로 출력합니다.
public:
void Transform(System::Xml::XPath::IXPathNavigable ^ input, System::Xml::Xsl::XsltArgumentList ^ args, System::Xml::XmlWriter ^ output);
public void Transform (System.Xml.XPath.IXPathNavigable input, System.Xml.Xsl.XsltArgumentList? args, System.Xml.XmlWriter output);
public void Transform (System.Xml.XPath.IXPathNavigable input, System.Xml.Xsl.XsltArgumentList args, System.Xml.XmlWriter output);
[System.Obsolete("You should pass XmlResolver to Transform() method")]
public void Transform (System.Xml.XPath.IXPathNavigable input, System.Xml.Xsl.XsltArgumentList args, System.Xml.XmlWriter output);
member this.Transform : System.Xml.XPath.IXPathNavigable * System.Xml.Xsl.XsltArgumentList * System.Xml.XmlWriter -> unit
[<System.Obsolete("You should pass XmlResolver to Transform() method")>]
member this.Transform : System.Xml.XPath.IXPathNavigable * System.Xml.Xsl.XsltArgumentList * System.Xml.XmlWriter -> unit
Public Sub Transform (input As IXPathNavigable, args As XsltArgumentList, output As XmlWriter)
매개 변수
- input
- IXPathNavigable
IXPathNavigable 인터페이스를 구현하는 개체입니다. .NET Framework에서 이 개체는 변환할 데이터를 포함하는 XmlNode(대개 XmlDocument) 또는 XPathDocument일 수 있습니다.
- args
- XsltArgumentList
변환에 대한 입력용으로 사용되는 네임스페이스 정규화 인수가 들어 있는 XsltArgumentList입니다.
- 특성
예외
XSLT 변환을 처리하는 동안 오류가 발생한 경우
참고: 이는 이전 버전에서 업그레이드되면서 변경된 동작입니다. Microsoft .NET Framework version 1.1이나 그 이전 버전을 사용할 경우에는 XsltException이 throw됩니다.
설명
참고
클래스는 XslTransform .NET Framework 버전 2.0에서 사용되지 않습니다. 클래스는 XslCompiledTransform 새 XSLT 프로세서입니다. 자세한 내용은 XslCompiledTransform 클래스 사용 및 XslTransform 클래스에서 마이그레이션을 참조하세요.
XslTransform 는 XSLT 1.0 구문을 지원합니다. XSLT 스타일시트에는 네임스페이스 선언 xmlns:xsl= http://www.w3.org/1999/XSL/Transform
이 포함되어야 합니다.
참고
이 메서드는 더 이상 사용 되지 않습니다. 속성의 XmlResolver 설정은 XSLT document()
함수를 확인하는 방법을 결정합니다. 개체를 인수 중 하나로 사용하는 메서드를 XmlResolver 사용하는 Transform 것이 좋습니다.
스타일 args
시트에 정의된 요소와 xsl:param
일치합니다. xsl:output
(무시됨)에 출력하는 XmlWriterxsl:output
경우 요소가 지원되지 않습니다. 자세한 내용은 XslTransform의 출력 을 참조하세요.
변형은 문서 전체에 적용됩니다. 즉, 문서 루트 노드 이외의 노드에 전달해도 변환 프로세스에서 로드된 문서의 모든 노드에 액세스할 수 있습니다. 노드 조각을 변환하려면 노드 조각만 포함하는 항목을 만들어 XmlDocument 메서드에 Transform 전달 XmlDocument 해야 합니다.
다음 예제에서는 노드 조각에서 변환을 수행합니다.
XslTransform xslt = new XslTransform();
xslt.Load("print_root.xsl");
XmlDocument doc = new XmlDocument();
doc.Load("library.xml");
// Create a new document containing just the node fragment.
XmlNode testNode = doc.DocumentElement.FirstChild;
XmlDocument tmpDoc = new XmlDocument();
tmpDoc.LoadXml(testNode.OuterXml);
// Pass the document containing the node fragment
// to the Transform method.
Console.WriteLine("Passing " + tmpDoc.OuterXml + " to print_root.xsl");
xslt.Transform(tmpDoc, null, Console.Out);
이 예제에서는 입력으로 파일 및 print_root.xsl
파일을 사용하고 library.xml
콘솔에 다음을 출력합니다.
Passing <book genre="novel" ISBN="1-861001-57-5"><title>Pride And Prejudice</title></book> to print_root.xsl
Root node is book.
library.xml
<library>
<book genre='novel' ISBN='1-861001-57-5'>
<title>Pride And Prejudice</title>
</book>
<book genre='novel' ISBN='1-81920-21-2'>
<title>Hook</title>
</book>
</library>
print_root.xsl
<stylesheet version="1.0" xmlns="http://www.w3.org/1999/XSL/Transform" >
<output method="text" />
<template match="/">
Root node is <value-of select="local-name(//*[position() = 1])" />
</template>
</stylesheet>
추가 정보
적용 대상
Transform(IXPathNavigable, XsltArgumentList, XmlResolver)
지정된 args
를 사용하여 IXPathNavigable의 XML 데이터를 변환하고 그 결과를 XmlReader로 출력합니다.
public:
System::Xml::XmlReader ^ Transform(System::Xml::XPath::IXPathNavigable ^ input, System::Xml::Xsl::XsltArgumentList ^ args, System::Xml::XmlResolver ^ resolver);
public System.Xml.XmlReader Transform (System.Xml.XPath.IXPathNavigable input, System.Xml.Xsl.XsltArgumentList? args, System.Xml.XmlResolver? resolver);
public System.Xml.XmlReader Transform (System.Xml.XPath.IXPathNavigable input, System.Xml.Xsl.XsltArgumentList args, System.Xml.XmlResolver resolver);
member this.Transform : System.Xml.XPath.IXPathNavigable * System.Xml.Xsl.XsltArgumentList * System.Xml.XmlResolver -> System.Xml.XmlReader
Public Function Transform (input As IXPathNavigable, args As XsltArgumentList, resolver As XmlResolver) As XmlReader
매개 변수
- input
- IXPathNavigable
IXPathNavigable 인터페이스를 구현하는 개체입니다. .NET Framework에서 이 개체는 변환할 데이터를 포함하는 XmlNode(대개 XmlDocument) 또는 XPathDocument일 수 있습니다.
- args
- XsltArgumentList
변환에 대한 입력용으로 사용되는 네임스페이스 정규화 인수가 들어 있는 XsltArgumentList입니다.
- resolver
- XmlResolver
XSLT document()
함수 확인에 사용되는 XmlResolver입니다. 이 값이 null
이면 document()
함수가 확인되지 않습니다.
XmlResolver 메서드가 완료된 다음 Transform(IXPathNavigable, XsltArgumentList, XmlResolver)가 캐시되지 않습니다.
반환
변환 결과가 들어 있는 XmlReader입니다.
예제
다음 예제에서는 XML 문서를 변환하고 결과를 XmlReader
출력합니다. XmlUrlResolver 필요한 자격 증명이 있는 항목은 XSLT document()
함수를 처리하는 데 사용됩니다.
// Create the XslTransform object.
XslTransform^ xslt = gcnew XslTransform;
// Load the stylesheet.
xslt->Load( "titles.xsl" );
// Create a resolver and specify the necessary credentials.
XmlUrlResolver^ resolver = gcnew XmlUrlResolver;
System::Net::NetworkCredential^ myCred;
myCred = gcnew System::Net::NetworkCredential( UserName, SecurelyStoredPassword, Domain );
resolver->Credentials = myCred;
// Transform the file using the resolver. The resolver is used
// to process the XSLT document() function.
XPathDocument^ doc = gcnew XPathDocument( "books.xml" );
XmlReader^ reader = xslt->Transform( doc, nullptr, resolver );
// Load the reader into a new document for more processing.
XmlDocument^ xmldoc = gcnew XmlDocument;
xmldoc->Load( reader );
// Create the XslTransform object.
XslTransform xslt = new XslTransform();
// Load the stylesheet.
xslt.Load("titles.xsl");
// Create a resolver and specify the necessary credentials.
XmlUrlResolver resolver = new XmlUrlResolver();
System.Net.NetworkCredential myCred;
myCred = new System.Net.NetworkCredential(UserName,SecurelyStoredPassword,Domain);
resolver.Credentials = myCred;
// Transform the file using the resolver. The resolver is used
// to process the XSLT document() function.
XPathDocument doc = new XPathDocument("books.xml");
XmlReader reader = xslt.Transform(doc, null, resolver);
// Load the reader into a new document for more processing.
XmlDocument xmldoc = new XmlDocument();
xmldoc.Load(reader);
' Create the XslTransform object.
Dim xslt as XslTransform = new XslTransform()
' Load the stylesheet.
xslt.Load("titles.xsl")
' Create a resolver and specify the necessary credentials.
Dim resolver as XmlUrlResolver = new XmlUrlResolver()
Dim myCred as System.Net.NetworkCredential
myCred = new System.Net.NetworkCredential(UserName,SecurelyStoredPassword,Domain)
resolver.Credentials = myCred
' Transform thefile using the resolver. The resolver is used
' to process the XSLT document() function.
Dim doc as XPathDocument = new XPathDocument("books.xml")
Dim reader as XmlReader = xslt.Transform(doc, nothing, resolver)
' Load the reader into a new document for more processing.
Dim xmldoc as XmlDocument = new XmlDocument()
xmldoc.Load(reader)
설명
참고
클래스는 XslTransform .NET Framework 버전 2.0에서 사용되지 않습니다. 클래스는 XslCompiledTransform 새 XSLT 프로세서입니다. 자세한 내용은 XslCompiledTransform 클래스 사용 및 XslTransform 클래스에서 마이그레이션을 참조하세요.
XslTransform 는 XSLT 1.0 구문을 지원합니다. XSLT 스타일시트에는 네임스페이스 선언 xmlns:xsl= http://www.w3.org/1999/XSL/Transform
이 포함되어야 합니다.
스타일 args
시트에 정의된 요소와 xsl:param
일치합니다. xsl:output
요소에 출력할 XmlReader 때는 요소가 지원되지 않습니다(xsl:output
요소는 무시됨). 자세한 내용은 XslTransform의 출력 을 참조하세요.
이 메서드를 사용하면 원본 문서의 비동기 변환을 수행할 수 있습니다.
변형은 문서 전체에 적용됩니다. 즉, 문서 루트 노드 이외의 노드에 전달해도 변환 프로세스에서 로드된 문서의 모든 노드에 액세스할 수 있습니다. 노드 조각을 변환하려면 노드 조각만 포함하는 항목을 만들고 XmlDocument 메서드 XmlDocument 에 Transform 전달해야 합니다.
다음 예제에서는 노드 조각에서 변환을 수행합니다.
XslTransform xslt = new XslTransform();
xslt.Load("print_root.xsl");
XmlDocument doc = new XmlDocument();
doc.Load("library.xml");
// Create a new document containing just the node fragment.
XmlNode testNode = doc.DocumentElement.FirstChild;
XmlDocument tmpDoc = new XmlDocument();
tmpDoc.LoadXml(testNode.OuterXml);
// Pass the document containing the node fragment
// to the Transform method.
Console.WriteLine("Passing " + tmpDoc.OuterXml + " to print_root.xsl");
xslt.Transform(tmpDoc, null, Console.Out, null);
이 예제에서는 입력으로 파일 및 print_root.xsl
파일을 사용하고 library.xml
콘솔에 다음을 출력합니다.
Passing <book genre="novel" ISBN="1-861001-57-5"><title>Pride And Prejudice</title></book> to print_root.xsl
Root node is book.
library.xml
<library>
<book genre='novel' ISBN='1-861001-57-5'>
<title>Pride And Prejudice</title>
</book>
<book genre='novel' ISBN='1-81920-21-2'>
<title>Hook</title>
</book>
</library>
print_root.xsl
<stylesheet version="1.0" xmlns="http://www.w3.org/1999/XSL/Transform" >
<output method="text" />
<template match="/">
Root node is <value-of select="local-name(//*[position() = 1])" />
</template>
</stylesheet>
추가 정보
적용 대상
Transform(IXPathNavigable, XsltArgumentList, TextWriter)
주의
You should pass XmlResolver to Transform() method
지정된 args
를 사용하여 IXPathNavigable의 XML 데이터를 변환하고 그 결과를 TextWriter로 출력합니다.
public:
void Transform(System::Xml::XPath::IXPathNavigable ^ input, System::Xml::Xsl::XsltArgumentList ^ args, System::IO::TextWriter ^ output);
public void Transform (System.Xml.XPath.IXPathNavigable input, System.Xml.Xsl.XsltArgumentList? args, System.IO.TextWriter output);
public void Transform (System.Xml.XPath.IXPathNavigable input, System.Xml.Xsl.XsltArgumentList args, System.IO.TextWriter output);
[System.Obsolete("You should pass XmlResolver to Transform() method")]
public void Transform (System.Xml.XPath.IXPathNavigable input, System.Xml.Xsl.XsltArgumentList args, System.IO.TextWriter output);
member this.Transform : System.Xml.XPath.IXPathNavigable * System.Xml.Xsl.XsltArgumentList * System.IO.TextWriter -> unit
[<System.Obsolete("You should pass XmlResolver to Transform() method")>]
member this.Transform : System.Xml.XPath.IXPathNavigable * System.Xml.Xsl.XsltArgumentList * System.IO.TextWriter -> unit
Public Sub Transform (input As IXPathNavigable, args As XsltArgumentList, output As TextWriter)
매개 변수
- input
- IXPathNavigable
IXPathNavigable 인터페이스를 구현하는 개체입니다. .NET Framework에서 이 개체는 변환할 데이터를 포함하는 XmlNode(대개 XmlDocument) 또는 XPathDocument일 수 있습니다.
- args
- XsltArgumentList
변환에 대한 입력용으로 사용되는 네임스페이스 정규화 인수가 들어 있는 XsltArgumentList입니다.
- output
- TextWriter
출력을 제공할 대상 TextWriter입니다.
- 특성
예외
XSLT 변환을 처리하는 동안 오류가 발생한 경우
참고: 이는 이전 버전에서 업그레이드되면서 변경된 동작입니다. Microsoft .NET Framework version 1.1이나 그 이전 버전을 사용할 경우에는 XsltException이 throw됩니다.
설명
참고
클래스는 XslTransform .NET Framework 버전 2.0에서 사용되지 않습니다. XslCompiledTransform 클래스는 새 XSLT 프로세서입니다. 자세한 내용은 XslCompiledTransform 클래스 사용 및 XslTransform 클래스에서 마이그레이션을 참조하세요.
XslTransform 는 XSLT 1.0 구문을 지원합니다. XSLT 스타일시트에는 네임스페이스 선언 xmlns:xsl= http://www.w3.org/1999/XSL/Transform
이 포함되어야 합니다.
참고
이 메서드는 더 이상 사용 되지 않습니다. 속성 설정은 XmlResolver XSLT document()
함수를 확인하는 방법을 결정합니다. 개체를 인수 중 하나로 사용하는 메서드를 XmlResolver 사용하는 Transform 것이 좋습니다.
스타일 args
시트에 정의된 요소와 xsl:param
일치합니다.
에 출력TextWriter할 때 요소의 xsl:output
인코딩 특성이 지원되지 않습니다. 지원되는 특성에 대한 자세한 내용은 XslTransform 의 xsl:output
출력을 참조하세요.
변형은 문서 전체에 적용됩니다. 즉, 문서 루트 노드 이외의 노드에 전달해도 변환 프로세스에서 로드된 문서의 모든 노드에 액세스할 수 있습니다. 노드 조각을 변환하려면 노드 조각만 포함하는 항목을 만들고 XmlDocument 메서드 XmlDocument 에 Transform 전달해야 합니다.
다음 예제에서는 노드 조각에서 변환을 수행합니다.
XslTransform xslt = new XslTransform();
xslt.Load("print_root.xsl");
XmlDocument doc = new XmlDocument();
doc.Load("library.xml");
// Create a new document containing just the node fragment.
XmlNode testNode = doc.DocumentElement.FirstChild;
XmlDocument tmpDoc = new XmlDocument();
tmpDoc.LoadXml(testNode.OuterXml);
// Pass the document containing the node fragment
// to the Transform method.
Console.WriteLine("Passing " + tmpDoc.OuterXml + " to print_root.xsl");
xslt.Transform(tmpDoc, null, Console.Out);
이 예제에서는 입력으로 파일 및 print_root.xsl
파일을 사용하고 library.xml
콘솔에 다음을 출력합니다.
Passing <book genre="novel" ISBN="1-861001-57-5"><title>Pride And Prejudice</title></book> to print_root.xsl
Root node is book.
library.xml
<library>
<book genre='novel' ISBN='1-861001-57-5'>
<title>Pride And Prejudice</title>
</book>
<book genre='novel' ISBN='1-81920-21-2'>
<title>Hook</title>
</book>
</library>
print_root.xsl
<stylesheet version="1.0" xmlns="http://www.w3.org/1999/XSL/Transform" >
<output method="text" />
<template match="/">
Root node is <value-of select="local-name(//*[position() = 1])" />
</template>
</stylesheet>
추가 정보
적용 대상
Transform(IXPathNavigable, XsltArgumentList, Stream)
주의
You should pass XmlResolver to Transform() method
지정된 args
를 사용하여 IXPathNavigable의 XML 데이터를 변환하고 그 결과를 Stream로 출력합니다.
public:
void Transform(System::Xml::XPath::IXPathNavigable ^ input, System::Xml::Xsl::XsltArgumentList ^ args, System::IO::Stream ^ output);
public void Transform (System.Xml.XPath.IXPathNavigable input, System.Xml.Xsl.XsltArgumentList? args, System.IO.Stream output);
public void Transform (System.Xml.XPath.IXPathNavigable input, System.Xml.Xsl.XsltArgumentList args, System.IO.Stream output);
[System.Obsolete("You should pass XmlResolver to Transform() method")]
public void Transform (System.Xml.XPath.IXPathNavigable input, System.Xml.Xsl.XsltArgumentList args, System.IO.Stream output);
member this.Transform : System.Xml.XPath.IXPathNavigable * System.Xml.Xsl.XsltArgumentList * System.IO.Stream -> unit
[<System.Obsolete("You should pass XmlResolver to Transform() method")>]
member this.Transform : System.Xml.XPath.IXPathNavigable * System.Xml.Xsl.XsltArgumentList * System.IO.Stream -> unit
Public Sub Transform (input As IXPathNavigable, args As XsltArgumentList, output As Stream)
매개 변수
- input
- IXPathNavigable
IXPathNavigable 인터페이스를 구현하는 개체입니다. .NET Framework에서 이 개체는 변환할 데이터를 포함하는 XmlNode(대개 XmlDocument) 또는 XPathDocument일 수 있습니다.
- args
- XsltArgumentList
변환에 대한 입력용으로 사용되는 네임스페이스 정규화 인수가 들어 있는 XsltArgumentList입니다.
- output
- Stream
출력할 대상 스트림입니다.
- 특성
예외
XSLT 변환을 처리하는 동안 오류가 발생한 경우
참고: 이는 이전 버전에서 업그레이드되면서 변경된 동작입니다. Microsoft .NET Framework version 1.1이나 그 이전 버전을 사용할 경우에는 XsltException이 throw됩니다.
설명
참고
클래스는 XslTransform .NET Framework 버전 2.0에서 사용되지 않습니다. XslCompiledTransform 클래스는 새 XSLT 프로세서입니다. 자세한 내용은 XslCompiledTransform 클래스 사용 및 XslTransform 클래스에서 마이그레이션을 참조하세요.
XslTransform 는 XSLT 1.0 구문을 지원합니다. XSLT 스타일시트에는 네임스페이스 선언 xmlns:xsl= http://www.w3.org/1999/XSL/Transform
이 포함되어야 합니다.
참고
이 메서드는 더 이상 사용 되지 않습니다. 속성 설정은 XmlResolver XSLT document()
함수를 확인하는 방법을 결정합니다. 개체를 인수 중 하나로 사용하는 메서드를 XmlResolver 사용하는 Transform 것이 좋습니다.
스타일 args
시트에 정의된 요소와 xsl:param
일치합니다.
변형은 문서 전체에 적용됩니다. 즉, 문서 루트 노드 이외의 노드에 전달해도 변환 프로세스에서 로드된 문서의 모든 노드에 액세스할 수 있습니다. 노드 조각을 변환하려면 노드 조각만 포함하는 항목을 만들고 XmlDocument 메서드 XmlDocument 에 Transform 전달해야 합니다.
다음 예제에서는 노드 조각에서 변환을 수행합니다.
XslTransform xslt = new XslTransform();
xslt.Load("print_root.xsl");
XmlDocument doc = new XmlDocument();
doc.Load("library.xml");
// Create a new document containing just the node fragment.
XmlNode testNode = doc.DocumentElement.FirstChild;
XmlDocument tmpDoc = new XmlDocument();
tmpDoc.LoadXml(testNode.OuterXml);
// Pass the document containing the node fragment
// to the Transform method.
Console.WriteLine("Passing " + tmpDoc.OuterXml + " to print_root.xsl");
xslt.Transform(tmpDoc, null, Console.Out);
이 예제에서는 입력 library.xml
으로 파일 및 print_root.xsl
파일을 사용하고 콘솔에 다음을 출력합니다.
Passing <book genre="novel" ISBN="1-861001-57-5"><title>Pride And Prejudice</title></book> to print_root.xsl
Root node is book.
library.xml
<library>
<book genre='novel' ISBN='1-861001-57-5'>
<title>Pride And Prejudice</title>
</book>
<book genre='novel' ISBN='1-81920-21-2'>
<title>Hook</title>
</book>
</library>
print_root.xsl
<stylesheet version="1.0" xmlns="http://www.w3.org/1999/XSL/Transform" >
<output method="text" />
<template match="/">
Root node is <value-of select="local-name(//*[position() = 1])" />
</template>
</stylesheet>
추가 정보
적용 대상
Transform(XPathNavigator, XsltArgumentList, XmlWriter, XmlResolver)
지정된 인수를 사용하여 XPathNavigator의 XML 데이터를 변환하고 그 결과를 XmlWriter로 출력합니다.
public:
void Transform(System::Xml::XPath::XPathNavigator ^ input, System::Xml::Xsl::XsltArgumentList ^ args, System::Xml::XmlWriter ^ output, System::Xml::XmlResolver ^ resolver);
public void Transform (System.Xml.XPath.XPathNavigator input, System.Xml.Xsl.XsltArgumentList? args, System.Xml.XmlWriter output, System.Xml.XmlResolver? resolver);
public void Transform (System.Xml.XPath.XPathNavigator input, System.Xml.Xsl.XsltArgumentList args, System.Xml.XmlWriter output, System.Xml.XmlResolver resolver);
member this.Transform : System.Xml.XPath.XPathNavigator * System.Xml.Xsl.XsltArgumentList * System.Xml.XmlWriter * System.Xml.XmlResolver -> unit
Public Sub Transform (input As XPathNavigator, args As XsltArgumentList, output As XmlWriter, resolver As XmlResolver)
매개 변수
- input
- XPathNavigator
변환할 데이터를 포함하는 XPathNavigator입니다.
- args
- XsltArgumentList
변환에 대한 입력용으로 사용되는 네임스페이스 정규화 인수가 들어 있는 XsltArgumentList입니다.
- resolver
- XmlResolver
XSLT document()
함수 확인에 사용되는 XmlResolver입니다. 이 값이 null
이면 document()
함수가 확인되지 않습니다.
XmlResolver 메서드가 완료된 다음 Transform(XPathNavigator, XsltArgumentList, XmlWriter, XmlResolver)가 캐시되지 않습니다.
예외
XSLT 변환을 처리하는 동안 오류가 발생한 경우
참고: 이는 이전 버전에서 업그레이드되면서 변경된 동작입니다. Microsoft .NET Framework version 1.1이나 그 이전 버전을 사용할 경우에는 XsltException이 throw됩니다.
예제
다음 예제에서는 XSLT 변환을 수행하기 전에 XML 문서를 로드하고 편집합니다.
XmlDocument^ doc = gcnew XmlDocument;
doc->Load( "books.xml" );
// Modify the XML file.
XmlElement^ root = doc->DocumentElement;
root->FirstChild->LastChild->InnerText = "12.95";
// Create an XPathNavigator to use for the transform.
XPathNavigator^ nav = root->CreateNavigator();
// Transform the file.
XslTransform^ xslt = gcnew XslTransform;
xslt->Load( "output.xsl" );
XmlTextWriter^ writer = gcnew XmlTextWriter( "books.html", nullptr );
xslt->Transform( nav, nullptr, writer, nullptr);
XmlDocument doc = new XmlDocument();
doc.Load("books.xml");
// Modify the XML file.
XmlElement root = doc.DocumentElement;
root.FirstChild.LastChild.InnerText = "12.95";
// Create an XPathNavigator to use for the transform.
XPathNavigator nav = root.CreateNavigator();
// Transform the file.
XslTransform xslt = new XslTransform();
xslt.Load("output.xsl");
XmlTextWriter writer = new XmlTextWriter("books.html", null);
xslt.Transform(nav, null, writer, null);
Dim doc as XmlDocument = new XmlDocument()
doc.Load("books.xml")
' Modify the XML file.
Dim root as XmlElement = doc.DocumentElement
root.FirstChild.LastChild.InnerText = "12.95"
' Create an XPathNavigator to use for the transform.
Dim nav as XPathNavigator = root.CreateNavigator()
' Transform the file.
Dim xslt as XslTransform = new XslTransform()
xslt.Load("output.xsl")
Dim writer as XmlTextWriter = new XmlTextWriter("books.html", nothing)
xslt.Transform(nav,nothing, writer, nothing)
설명
참고
클래스는 XslTransform .NET Framework 버전 2.0에서 사용되지 않습니다. XslCompiledTransform 클래스는 새 XSLT 프로세서입니다. 자세한 내용은 XslCompiledTransform 클래스 사용 및 XslTransform 클래스에서 마이그레이션을 참조하세요.
XslTransform 는 XSLT 1.0 구문을 지원합니다. XSLT 스타일시트에는 네임스페이스 선언 xmlns:xsl= http://www.w3.org/1999/XSL/Transform
이 포함되어야 합니다.
스타일 args
시트에 정의된 요소와 xsl:param
일치합니다. 변환 선택은 문서 전체에 적용됩니다. 즉, 현재 노드가 문서 루트 노드가 아닌 노드 트리에 설정된 경우 변환 프로세스가 로드된 문서의 모든 노드에 액세스하는 것을 방지하지는 않습니다. 변환이 수행되면 XPathNavigator 원래 상태로 유지됩니다. 즉, 변환 프로세스 이전의 현재 노드는 메서드가 호출된 후 현재 노드로 Transform 유지됩니다.
xsl:output
(무시됨)에 출력하는 XmlWriterxsl:output
경우 요소가 지원되지 않습니다. 자세한 내용은 XslTransform의 출력 을 참조하세요.
추가 정보
적용 대상
Transform(XPathNavigator, XsltArgumentList)
주의
You should pass XmlResolver to Transform() method
지정된 args
를 사용하여 XPathNavigator의 XML 데이터를 변환하고 그 결과를 XmlReader로 출력합니다.
public:
System::Xml::XmlReader ^ Transform(System::Xml::XPath::XPathNavigator ^ input, System::Xml::Xsl::XsltArgumentList ^ args);
public System.Xml.XmlReader Transform (System.Xml.XPath.XPathNavigator input, System.Xml.Xsl.XsltArgumentList? args);
public System.Xml.XmlReader Transform (System.Xml.XPath.XPathNavigator input, System.Xml.Xsl.XsltArgumentList args);
[System.Obsolete("You should pass XmlResolver to Transform() method")]
public System.Xml.XmlReader Transform (System.Xml.XPath.XPathNavigator input, System.Xml.Xsl.XsltArgumentList args);
member this.Transform : System.Xml.XPath.XPathNavigator * System.Xml.Xsl.XsltArgumentList -> System.Xml.XmlReader
[<System.Obsolete("You should pass XmlResolver to Transform() method")>]
member this.Transform : System.Xml.XPath.XPathNavigator * System.Xml.Xsl.XsltArgumentList -> System.Xml.XmlReader
Public Function Transform (input As XPathNavigator, args As XsltArgumentList) As XmlReader
매개 변수
- input
- XPathNavigator
변환할 데이터를 포함하는 XPathNavigator입니다.
- args
- XsltArgumentList
변환에 대한 입력용으로 사용되는 네임스페이스 정규화 인수가 들어 있는 XsltArgumentList입니다.
반환
변환 결과가 들어 있는 XmlReader입니다.
- 특성
예외
XSLT 변환을 처리하는 동안 오류가 발생한 경우
참고: 이는 이전 버전에서 업그레이드되면서 변경된 동작입니다. Microsoft .NET Framework version 1.1이나 그 이전 버전을 사용할 경우에는 XsltException이 throw됩니다.
설명
참고
클래스는 XslTransform .NET Framework 버전 2.0에서 사용되지 않습니다. XslCompiledTransform 클래스는 새 XSLT 프로세서입니다. 자세한 내용은 XslCompiledTransform 클래스 사용 및 XslTransform 클래스에서 마이그레이션을 참조하세요.
XslTransform 는 XSLT 1.0 구문을 지원합니다. XSLT 스타일시트에는 네임스페이스 선언 xmlns:xsl= http://www.w3.org/1999/XSL/Transform
이 포함되어야 합니다.
스타일 args
시트에 정의된 요소와 xsl:param
일치합니다. 변환 선택은 문서 전체에 적용됩니다. 즉, 현재 노드가 문서 루트 노드가 아닌 노드 트리에 설정된 경우 변환 프로세스가 로드된 문서의 모든 노드에 액세스하는 것을 방지하지는 않습니다. 변환이 수행된 XPathNavigator 후 원래 상태로 유지됩니다. 즉, 변환 프로세스 전에 현재 노드는 메서드가 호출된 후 현재 노드로 Transform 유지됩니다.
읽기 전용 출력을 xsl:output
제공하므로 XmlReader 요소가 무시됩니다. 자세한 내용은 XslTransform의 출력 을 참조하세요.
이 메서드를 사용하면 원본 문서의 비동기 변환을 수행할 수 있습니다.
참고
이 메서드는 사용되지 않습니다. 속성 설정은 XmlResolver XSLT document() 함수를 확인하는 방법을 결정합니다. 개체를 인수 중 하나로 사용하는 메서드를 XmlResolver 사용하는 Transform 것이 좋습니다.
추가 정보
적용 대상
Transform(IXPathNavigable, XsltArgumentList)
주의
You should pass XmlResolver to Transform() method
지정된 args
를 사용하여 IXPathNavigable의 XML 데이터를 변환하고 그 결과를 XmlReader로 출력합니다.
public:
System::Xml::XmlReader ^ Transform(System::Xml::XPath::IXPathNavigable ^ input, System::Xml::Xsl::XsltArgumentList ^ args);
public System.Xml.XmlReader Transform (System.Xml.XPath.IXPathNavigable input, System.Xml.Xsl.XsltArgumentList? args);
public System.Xml.XmlReader Transform (System.Xml.XPath.IXPathNavigable input, System.Xml.Xsl.XsltArgumentList args);
[System.Obsolete("You should pass XmlResolver to Transform() method")]
public System.Xml.XmlReader Transform (System.Xml.XPath.IXPathNavigable input, System.Xml.Xsl.XsltArgumentList args);
member this.Transform : System.Xml.XPath.IXPathNavigable * System.Xml.Xsl.XsltArgumentList -> System.Xml.XmlReader
[<System.Obsolete("You should pass XmlResolver to Transform() method")>]
member this.Transform : System.Xml.XPath.IXPathNavigable * System.Xml.Xsl.XsltArgumentList -> System.Xml.XmlReader
Public Function Transform (input As IXPathNavigable, args As XsltArgumentList) As XmlReader
매개 변수
- input
- IXPathNavigable
IXPathNavigable 인터페이스를 구현하는 개체입니다. .NET Framework에서 이 개체는 변환할 데이터를 포함하는 XmlNode(대개 XmlDocument) 또는 XPathDocument일 수 있습니다.
- args
- XsltArgumentList
변환에 대한 입력용으로 사용되는 네임스페이스 정규화 인수가 들어 있는 XsltArgumentList입니다.
반환
변환 결과가 들어 있는 XmlReader입니다.
- 특성
설명
참고
클래스는 XslTransform .NET Framework 버전 2.0에서 사용되지 않습니다. XslCompiledTransform 클래스는 새 XSLT 프로세서입니다. 자세한 내용은 XslCompiledTransform 클래스 사용 및 XslTransform 클래스에서 마이그레이션을 참조하세요.
XslTransform 는 XSLT 1.0 구문을 지원합니다. XSLT 스타일시트에는 네임스페이스 선언 xmlns:xsl= http://www.w3.org/1999/XSL/Transform
이 포함되어야 합니다.
참고
이 메서드는 더 이상 사용 되지 않습니다. 속성 설정은 XmlResolver XSLT document()
함수를 확인하는 방법을 결정합니다. 개체를 인수 중 하나로 사용하는 메서드를 XmlResolver 사용하는 Transform 것이 좋습니다.
스타일 args
시트에 정의된 요소와 xsl:param
일치합니다. xsl:output
요소에 출력할 XmlReader 때는 요소가 지원되지 않습니다(xsl:output
요소는 무시됨). 자세한 내용은 XslTransform의 출력 을 참조하세요.
이 메서드를 사용하면 원본 문서의 비동기 변환을 수행할 수 있습니다.
변형은 문서 전체에 적용됩니다. 즉, 문서 루트 노드 이외의 노드에 전달해도 변환 프로세스에서 로드된 문서의 모든 노드에 액세스할 수 있습니다. 노드 조각을 변환하려면 노드 조각만 포함하는 항목을 만들고 XmlDocument 메서드 XmlDocument 에 Transform 전달해야 합니다.
다음 예제에서는 노드 조각에서 변환을 수행합니다.
XslTransform xslt = new XslTransform();
xslt.Load("print_root.xsl");
XmlDocument doc = new XmlDocument();
doc.Load("library.xml");
// Create a new document containing just the node fragment.
XmlNode testNode = doc.DocumentElement.FirstChild;
XmlDocument tmpDoc = new XmlDocument();
tmpDoc.LoadXml(testNode.OuterXml);
// Pass the document containing the node fragment
// to the Transform method.
Console.WriteLine("Passing " + tmpDoc.OuterXml + " to print_root.xsl");
xslt.Transform(tmpDoc, null, Console.Out);
이 예제에서는 입력 library.xml
으로 파일 및 print_root.xsl
파일을 사용하고 콘솔에 다음을 출력합니다.
Passing <book genre="novel" ISBN="1-861001-57-5"><title>Pride And Prejudice</title></book> to print_root.xsl
Root node is book.
library.xml
<library>
<book genre='novel' ISBN='1-861001-57-5'>
<title>Pride And Prejudice</title>
</book>
<book genre='novel' ISBN='1-81920-21-2'>
<title>Hook</title>
</book>
</library>
print_root.xsl
<stylesheet version="1.0" xmlns="http://www.w3.org/1999/XSL/Transform" >
<output method="text" />
<template match="/">
Root node is <value-of select="local-name(//*[position() = 1])" />
</template>
</stylesheet>
추가 정보
적용 대상
Transform(String, String)
주의
You should pass XmlResolver to Transform() method
입력 파일의 XML 데이터를 변환하고 그 결과를 출력 파일로 출력합니다.
public:
void Transform(System::String ^ inputfile, System::String ^ outputfile);
public void Transform (string inputfile, string outputfile);
[System.Obsolete("You should pass XmlResolver to Transform() method")]
public void Transform (string inputfile, string outputfile);
member this.Transform : string * string -> unit
[<System.Obsolete("You should pass XmlResolver to Transform() method")>]
member this.Transform : string * string -> unit
Public Sub Transform (inputfile As String, outputfile As String)
매개 변수
- inputfile
- String
변환할 소스 문서의 URL입니다.
- outputfile
- String
출력 파일의 URL입니다.
- 특성
예제
다음 예제에서는 스타일시트를 사용하여 output.xsl
파일을 변환 books.xml
하고 결과를 books.html
파일에 출력합니다.
// Create the XslTransform object.
XslTransform^ xslt = gcnew XslTransform;
// Load the stylesheet.
xslt->Load( "output.xsl" );
// Transform the file.
xslt->Transform("books.xml","books.html");
//Create the XslTransform object.
XslTransform xslt = new XslTransform();
//Load the stylesheet.
xslt.Load("output.xsl");
//Transform the file.
xslt.Transform("books.xml", "books.html");
'Create the XslTransform object.
Dim xslt as XslTransform = new XslTransform()
'Load the stylesheet.
xslt.Load("output.xsl")
'Transform the file.
xslt.Transform("books.xml", "books.html")
샘플에서는 다음 두 개의 입력 파일을 사용합니다.
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>
설명
참고
클래스는 XslTransform .NET Framework 버전 2.0에서 사용되지 않습니다. 클래스는 XslCompiledTransform 새 XSLT 프로세서입니다. 자세한 내용은 XslCompiledTransform 클래스 사용 및 XslTransform 클래스에서 마이그레이션을 참조하세요.
XslTransform 는 XSLT 1.0 구문을 지원합니다. XSLT 스타일시트에는 네임스페이스 선언 xmlns:xsl= http://www.w3.org/1999/XSL/Transform
이 포함되어야 합니다.
참고
이 메서드는 .NET Framework 버전 1.1에서 사용되지 않습니다. 속성의 XmlResolver 설정은 XSLT document()
함수를 확인하는 방법을 결정합니다. 개체를 인수 중 하나로 사용하는 메서드를 XmlResolver 사용하는 Transform 것이 좋습니다.
추가 정보
적용 대상
Transform(XPathNavigator, XsltArgumentList, Stream)
주의
You should pass XmlResolver to Transform() method
지정된 args
를 사용하여 XPathNavigator의 XML 데이터를 변환하고 그 결과를 Stream로 출력합니다.
public:
void Transform(System::Xml::XPath::XPathNavigator ^ input, System::Xml::Xsl::XsltArgumentList ^ args, System::IO::Stream ^ output);
public void Transform (System.Xml.XPath.XPathNavigator input, System.Xml.Xsl.XsltArgumentList? args, System.IO.Stream output);
public void Transform (System.Xml.XPath.XPathNavigator input, System.Xml.Xsl.XsltArgumentList args, System.IO.Stream output);
[System.Obsolete("You should pass XmlResolver to Transform() method")]
public void Transform (System.Xml.XPath.XPathNavigator input, System.Xml.Xsl.XsltArgumentList args, System.IO.Stream output);
member this.Transform : System.Xml.XPath.XPathNavigator * System.Xml.Xsl.XsltArgumentList * System.IO.Stream -> unit
[<System.Obsolete("You should pass XmlResolver to Transform() method")>]
member this.Transform : System.Xml.XPath.XPathNavigator * System.Xml.Xsl.XsltArgumentList * System.IO.Stream -> unit
Public Sub Transform (input As XPathNavigator, args As XsltArgumentList, output As Stream)
매개 변수
- input
- XPathNavigator
변환할 데이터를 포함하는 XPathNavigator입니다.
- args
- XsltArgumentList
변환에 대한 입력용으로 사용되는 네임스페이스 정규화 인수가 들어 있는 XsltArgumentList입니다.
- output
- Stream
출력할 대상 스트림입니다.
- 특성
예외
XSLT 변환을 처리하는 동안 오류가 발생한 경우
참고: 이는 이전 버전에서 업그레이드되면서 변경된 동작입니다. Microsoft .NET Framework version 1.1이나 그 이전 버전을 사용할 경우에는 XsltException이 throw됩니다.
설명
참고
클래스는 XslTransform .NET Framework 버전 2.0에서 사용되지 않습니다. 클래스는 XslCompiledTransform 새 XSLT 프로세서입니다. 자세한 내용은 XslCompiledTransform 클래스 사용 및 XslTransform 클래스에서 마이그레이션을 참조하세요.
XslTransform 는 XSLT 1.0 구문을 지원합니다. XSLT 스타일시트에는 네임스페이스 선언 xmlns:xsl= http://www.w3.org/1999/XSL/Transform
이 포함되어야 합니다.
스타일 args
시트에 정의된 요소와 xsl:param
일치합니다. 변환 선택은 문서 전체에 적용됩니다. 즉, 현재 노드가 문서 루트 노드가 아닌 노드 트리에 설정된 경우 변환 프로세스가 로드된 문서의 모든 노드에 액세스하는 것을 방지하지는 않습니다. 변환이 수행된 XPathNavigator 후 원래 상태로 유지됩니다. 즉, 변환 프로세스 이전의 현재 노드는 메서드가 호출된 후 현재 노드로 Transform 유지됩니다.
지원되는 특성에 대한 자세한 내용은 XslTransform 의 xsl:output
출력을 참조하세요.
참고
이 메서드는 더 이상 사용 되지 않습니다. 속성의 XmlResolver 설정은 XSLT document()
함수를 확인하는 방법을 결정합니다. 개체를 인수 중 하나로 사용하는 메서드를 XmlResolver 사용하는 Transform 것이 좋습니다.