XslCompiledTransform.Transform 메서드
정의
중요
일부 정보는 릴리스되기 전에 상당 부분 수정될 수 있는 시험판 제품과 관련이 있습니다. Microsoft는 여기에 제공된 정보에 대해 어떠한 명시적이거나 묵시적인 보증도 하지 않습니다.
XSLT 변환을 실행합니다.
오버로드
설명
참고
디버그 모드에서 컴파일된 XSLT와 릴리스 모드에서 컴파일된 XSLT 간에는 차이가 있습니다. 경우에 따라 디버그 모드에서 컴파일된 스타일시트가 오류를 Loadthrow하지 않지만 나중에 Transform실패합니다. 릴리스 모드에서 컴파일된 동일한 스타일시트가 실패 Load합니다. 이러한 동작의 예는 노드 집합 형식이 아닌 변수가 노드 집합이 필요한 식에 할당되는 경우입니다.
Transform(XmlReader, XsltArgumentList, TextWriter)
XmlReader 개체에 지정된 입력 문서를 사용하여 변환을 실행하고 TextWriter에 결과를 출력합니다. XsltArgumentList는 추가 런타임 인수를 제공합니다.
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);
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)
매개 변수
- arguments
- XsltArgumentList
변환에 대한 입력용으로 사용되는 네임스페이스 정규화 인수가 들어 있는 XsltArgumentList입니다. 이 값은 null
일 수 있습니다.
- results
- TextWriter
출력을 제공할 대상 TextWriter입니다.
예외
input
또는 results
값이 null
인 경우
XSLT 변환을 실행하는 동안 오류가 발생한 경우
설명
스타일시트에 XSLT document()
함수가 포함되어 있으면 사용자 자격 증명이 없는 함수를 XmlUrlResolver 사용하여 확인됩니다. 외부 리소스가 인증이 필요한 네트워크 리소스에 있는 경우 인수 중 하나로 사용되는 XmlResolver 오버로드를 사용하고 필요한 자격 증명을 XmlResolver 사용하여 지정합니다.
추가 정보
적용 대상
Transform(IXPathNavigable, XsltArgumentList, XmlWriter)
IXPathNavigable 개체에 지정된 입력 문서를 사용하여 변환을 실행하고 XmlWriter에 결과를 출력합니다. XsltArgumentList는 추가 런타임 인수를 제공합니다.
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);
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 인터페이스를 구현하는 개체입니다. Microsoft .NET Framework에서 이 개체는 변환할 데이터를 포함하는 XmlNode 또는 XmlDocument(대개 XPathDocument)일 수 있습니다.
- arguments
- XsltArgumentList
변환에 대한 입력용으로 사용되는 네임스페이스 정규화 인수가 들어 있는 XsltArgumentList입니다. 이 값은 null
일 수 있습니다.
- results
- XmlWriter
출력을 제공할 대상 XmlWriter입니다.
스타일시트에 xsl:output
요소가 포함된 경우 OutputSettings 속성에서 반환된 XmlWriterSettings 개체를 사용하여 XmlWriter를 만들어야 합니다. 이렇게 해야 XmlWriter의 출력 설정이 올바르게 설정됩니다.
예외
input
또는 results
값이 null
인 경우
XSLT 변환을 실행하는 동안 오류가 발생한 경우
설명
XSLT document()
함수를 사용하도록 설정하면 사용자 자격 증명이 없는 함수를 XmlUrlResolver 사용하여 확인됩니다. 외부 리소스가 인증이 필요한 네트워크 리소스에 있는 경우 인수 중 하나로 사용되는 XmlResolver 오버로드를 사용하고 필요한 자격 증명을 XmlResolver 사용하여 지정합니다.
이 메서드는 요소를 지원하지 xsl:strip-space
않습니다. 컴파일된 스타일시트에 요소가 포함된 xsl:strip-space
경우 입력 인수로 사용하는 오버로드를 XmlReader 사용해야 Transform 합니다.
IXPathNavigable 인터페이스는 XmlNode 및 XPathDocument 클래스에서 구현됩니다. 이 클래스는 XML 데이터의 메모리 내 캐시를 나타냅니다.
XmlNode 클래스는 W3C DOM(문서 개체 모델)을 기반으로 하며 편집 기능이 있습니다.
XPathDocument 클래스는 XPath 데이터 모델을 기반으로 하는 읽기 전용 데이터 저장소입니다. XPathDocument는 XSLT 처리에 권장되는 클래스입니다. 이 클래스는 XmlNode 클래스와 비교하여 속도가 더 빠릅니다.
변형은 문서 전체에 적용됩니다. 즉, 문서 루트 노드 이외의 노드에 전달해도 변환 프로세스에서 로드된 문서의 모든 노드에 액세스할 수 있습니다. 노드 조각을 변형하려면 노드 조각만 포함하는 개체를 만들고 이 개체를 Transform 메서드에 전달해야 합니다. 자세한 내용은 방법: 노드 조각 변환을 참조하세요.
추가 정보
적용 대상
Transform(IXPathNavigable, XsltArgumentList, TextWriter)
IXPathNavigable 개체에 지정된 입력 문서를 사용하여 변환을 실행하고 TextWriter에 결과를 출력합니다. XsltArgumentList는 추가 런타임 인수를 제공합니다.
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);
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 인터페이스를 구현하는 개체입니다. Microsoft .NET Framework에서 이 개체는 변환할 데이터를 포함하는 XmlNode 또는 XmlDocument(대개 XPathDocument)일 수 있습니다.
- arguments
- XsltArgumentList
변환에 대한 입력용으로 사용되는 네임스페이스 정규화 인수가 들어 있는 XsltArgumentList입니다. 이 값은 null
일 수 있습니다.
- results
- TextWriter
출력을 제공할 대상 TextWriter입니다.
예외
input
또는 results
값이 null
인 경우
XSLT 변환을 실행하는 동안 오류가 발생한 경우
설명
XSLT document()
함수를 사용하도록 설정하면 사용자 자격 증명이 없는 함수를 XmlUrlResolver 사용하여 확인됩니다. 외부 리소스가 인증이 필요한 네트워크 리소스에 있는 경우 인수 중 하나로 사용되는 XmlResolver 오버로드를 사용하고 필요한 자격 증명을 XmlResolver 사용하여 지정합니다.
이 메서드는 요소를 지원하지 xsl:strip-space
않습니다. 컴파일된 스타일시트에 요소가 포함된 xsl:strip-space
경우 입력 인수로 사용하는 오버로드를 XmlReader 사용해야 Transform 합니다.
IXPathNavigable 인터페이스는 XmlNode 및 XPathDocument 클래스에서 구현됩니다. 이 클래스는 XML 데이터의 메모리 내 캐시를 나타냅니다.
XmlNode 클래스는 W3C DOM(문서 개체 모델)을 기반으로 하며 편집 기능이 있습니다.
XPathDocument 클래스는 XPath 데이터 모델을 기반으로 하는 읽기 전용 데이터 저장소입니다. XPathDocument는 XSLT 처리에 권장되는 클래스입니다. 이 클래스는 XmlNode 클래스와 비교하여 속도가 더 빠릅니다.
변형은 문서 전체에 적용됩니다. 즉, 문서 루트 노드 이외의 노드에 전달해도 변환 프로세스에서 로드된 문서의 모든 노드에 액세스할 수 있습니다. 노드 조각을 변형하려면 노드 조각만 포함하는 개체를 만들고 이 개체를 Transform 메서드에 전달해야 합니다. 자세한 내용은 방법: 노드 조각 변환을 참조하세요.
추가 정보
적용 대상
Transform(IXPathNavigable, XsltArgumentList, Stream)
IXPathNavigable 개체에 지정된 입력 문서를 사용하여 변환을 실행하고 스트림에 결과를 출력합니다. XsltArgumentList는 추가 런타임 인수를 제공합니다.
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);
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 인터페이스를 구현하는 개체입니다. Microsoft .NET Framework에서 이 개체는 변환할 데이터를 포함하는 XmlNode 또는 XmlDocument(대개 XPathDocument)일 수 있습니다.
- arguments
- XsltArgumentList
변환에 대한 입력용으로 사용되는 네임스페이스 정규화 인수가 들어 있는 XsltArgumentList입니다. 이 값은 null
일 수 있습니다.
- results
- Stream
출력할 대상 스트림입니다.
예외
input
또는 results
값이 null
인 경우
XSLT 변환을 실행하는 동안 오류가 발생한 경우
예제
다음 예제에서는 XSLT 변환을 실행하고 출력합니다 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 사용하여 확인됩니다. 외부 리소스가 인증이 필요한 네트워크 리소스에 있는 경우 인수 중 하나로 사용되는 XmlResolver 오버로드를 사용하고 필요한 자격 증명을 XmlResolver 사용하여 지정합니다.
이 메서드는 요소를 지원하지 xsl:strip-space
않습니다. 컴파일된 스타일시트에 요소가 포함된 xsl:strip-space
경우 입력 인수로 사용하는 오버로드를 XmlReader 사용해야 Transform 합니다.
IXPathNavigable 인터페이스는 XmlNode 및 XPathDocument 클래스에서 구현됩니다. 이 클래스는 XML 데이터의 메모리 내 캐시를 나타냅니다.
XmlNode 클래스는 W3C DOM(문서 개체 모델)을 기반으로 하며 편집 기능이 있습니다.
XPathDocument 클래스는 XPath 데이터 모델을 기반으로 하는 읽기 전용 데이터 저장소입니다. XPathDocument는 XSLT 처리에 권장되는 클래스입니다. 이 클래스는 XmlNode 클래스와 비교하여 속도가 더 빠릅니다.
변형은 문서 전체에 적용됩니다. 즉, 문서 루트 노드 이외의 노드에 전달해도 변환 프로세스에서 로드된 문서의 모든 노드에 액세스할 수 있습니다. 노드 조각을 변형하려면 노드 조각만 포함하는 개체를 만들고 이 개체를 Transform 메서드에 전달해야 합니다. 자세한 내용은 방법: 노드 조각 변환을 참조하세요.
추가 정보
적용 대상
Transform(XmlReader, XsltArgumentList, XmlWriter)
XmlReader 개체에 지정된 입력 문서를 사용하여 변환을 실행하고 XmlWriter에 결과를 출력합니다. XsltArgumentList는 추가 런타임 인수를 제공합니다.
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);
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)
매개 변수
- arguments
- XsltArgumentList
변환에 대한 입력용으로 사용되는 네임스페이스 정규화 인수가 들어 있는 XsltArgumentList입니다. 이 값은 null
일 수 있습니다.
- results
- XmlWriter
출력을 제공할 대상 XmlWriter입니다.
스타일시트에 xsl:output
요소가 포함된 경우 OutputSettings 속성에서 반환된 XmlWriterSettings 개체를 사용하여 XmlWriter를 만들어야 합니다. 이렇게 해야 XmlWriter의 출력 설정이 올바르게 설정됩니다.
예외
input
또는 results
값이 null
인 경우
XSLT 변환을 실행하는 동안 오류가 발생한 경우
설명
스타일시트에 XSLT document()
함수가 포함되어 있으면 사용자 자격 증명이 없는 함수를 XmlUrlResolver 사용하여 확인됩니다. 외부 리소스가 인증이 필요한 네트워크 리소스에 있는 경우 인수 중 하나로 사용되는 XmlResolver 오버로드를 사용하고 필요한 자격 증명을 XmlResolver 사용하여 지정합니다.
추가 정보
적용 대상
Transform(XmlReader, XsltArgumentList, Stream)
XmlReader 개체에 지정된 입력 문서를 사용하여 변환을 실행하고 스트림에 결과를 출력합니다. XsltArgumentList는 추가 런타임 인수를 제공합니다.
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);
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)
매개 변수
- arguments
- XsltArgumentList
변환에 대한 입력용으로 사용되는 네임스페이스 정규화 인수가 들어 있는 XsltArgumentList입니다. 이 값은 null
일 수 있습니다.
- results
- Stream
출력할 대상 스트림입니다.
예외
input
또는 results
값이 null
인 경우
XSLT 변환을 실행하는 동안 오류가 발생한 경우
설명
스타일시트에 XSLT document()
함수가 포함되어 있으면 사용자 자격 증명이 없는 함수를 XmlUrlResolver 사용하여 확인됩니다. 외부 리소스가 인증이 필요한 네트워크 리소스에 있는 경우 인수 중 하나로 사용되는 XmlResolver 오버로드를 사용하고 필요한 자격 증명을 XmlResolver 사용하여 지정합니다.
추가 정보
적용 대상
Transform(String, String)
URI로 지정된 입력 문서를 사용하여 변환을 실행하고 파일로 결과를 출력합니다.
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
입력 문서의 URI입니다.
- resultsFile
- String
출력 파일의 URI입니다.
예외
inputUri
또는 resultsFile
값이 null
인 경우
XSLT 변환을 실행하는 동안 오류가 발생한 경우
입력 문서를 찾을 수 없는 경우
inputUri
또는 resultsFile
값에 찾을 수 없는 디렉터리나 파일 이름이 포함된 경우
inputUri
또는 resultsFile
이 올바른 URI가 아닌 경우
입력 문서를 로드하는 동안 구문 분석 오류가 발생한 경우
예제
다음 예제에서는 변환을 실행하고 파일에 출력합니다.
// 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")
샘플에서는 다음 두 입력 파일을 사용합니다.
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 을 사용하여 입력 및 출력 문서를 확인합니다. 이러한 리소스 중 인증이 필요한 네트워크 리소스에 있는 경우 인수 중 하나로 사용되는 XmlResolver 오버로드를 사용하고 필요한 자격 증명을 XmlResolver 사용하여 지정합니다.
XmlReader 기본 설정은 입력 문서를 로드하는 데 사용됩니다. 에서 DTD 처리를 사용할 수 XmlReader없습니다. DTD 처리가 필요한 경우 이 기능을 사용하도록 설정한 상태로 만들고 XmlReader 메서드에 Transform 전달합니다.
추가 정보
적용 대상
Transform(String, XsltArgumentList, TextWriter)
URI로 지정된 입력 문서를 사용하여 변환을 실행하고 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);
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
입력 문서의 URI입니다.
- arguments
- XsltArgumentList
변환에 대한 입력용으로 사용되는 네임스페이스 정규화 인수가 들어 있는 XsltArgumentList입니다. 이 값은 null
일 수 있습니다.
- results
- TextWriter
출력을 제공할 대상 TextWriter입니다.
예외
inputUri
또는 results
값이 null
인 경우
XSLT 변환을 실행하는 동안 오류가 발생한 경우
inputUri
값에 찾을 수 없는 디렉터리나 파일 이름이 포함된 경우
inputUri
경로는 유효한 URI가 아닙니다.
입력 문서를 로드하는 동안 구문 분석 오류가 발생한 경우
예제
다음 예제에서는 XSLT 변환을 실행하고 문자열을 출력합니다.
// 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()
함수의 인스턴스를 확인합니다. 이러한 리소스 중 인증이 필요한 네트워크 리소스에 있는 경우 인수 중 하나로 사용되는 XmlResolver 오버로드를 사용하고 필요한 자격 증명을 XmlResolver 사용하여 지정합니다.
XmlReader 기본 설정은 입력 문서를 로드하는 데 사용됩니다. 에서 DTD 처리를 사용할 수 XmlReader없습니다. DTD 처리가 필요한 경우 이 기능을 사용하도록 설정한 상태로 만들고 XmlReader 메서드에 Transform 전달합니다.
추가 정보
적용 대상
Transform(String, XsltArgumentList, Stream)
URI로 지정된 입력 문서를 사용하여 변환을 실행하고 스트림에 결과를 출력합니다. XsltArgumentList는 추가 런타임 인수를 제공합니다.
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);
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
입력 문서의 URI입니다.
- arguments
- XsltArgumentList
변환에 대한 입력용으로 사용되는 네임스페이스 정규화 인수가 들어 있는 XsltArgumentList입니다. 이 값은 null
일 수 있습니다.
- results
- Stream
출력할 대상 스트림입니다.
예외
inputUri
또는 results
값이 null
인 경우
XSLT 변환을 실행하는 동안 오류가 발생한 경우
inputUri
값에 찾을 수 없는 디렉터리나 파일 이름이 포함된 경우
inputUri
경로는 유효한 URI가 아닙니다.
입력 문서를 로드하는 동안 구문 분석 오류가 발생한 경우
설명
이 메서드는 사용자 자격 증명이 없는 기본값 XmlUrlResolver 을 사용하여 입력 문서 및 스타일시트에 있는 XSLT document()
함수의 인스턴스를 확인합니다. 이러한 리소스 중 인증이 필요한 네트워크 리소스에 있는 경우 인수 중 하나로 사용되는 XmlResolver 오버로드를 사용하고 필요한 자격 증명을 XmlResolver 사용하여 지정합니다.
XmlReader 기본 설정은 입력 문서를 로드하는 데 사용됩니다. 에서 DTD 처리를 사용할 수 XmlReader없습니다. DTD 처리가 필요한 경우 이 기능을 사용하도록 설정한 상태로 만들고 XmlReader 메서드에 Transform 전달합니다.
추가 정보
적용 대상
Transform(IXPathNavigable, XmlWriter)
IXPathNavigable 개체에 지정된 입력 문서를 사용하여 변환을 실행하고 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 인터페이스를 구현하는 개체입니다. Microsoft .NET Framework에서 이 개체는 변환할 데이터를 포함하는 XmlNode 또는 XmlDocument(대개 XPathDocument)일 수 있습니다.
- results
- XmlWriter
출력을 제공할 대상 XmlWriter입니다.
스타일시트에 xsl:output
요소가 포함된 경우 OutputSettings 속성에서 반환된 XmlWriterSettings 개체를 사용하여 XmlWriter를 만들어야 합니다. 이렇게 해야 XmlWriter의 출력 설정이 올바르게 설정됩니다.
예외
input
또는 results
값이 null
인 경우
XSLT 변환을 실행하는 동안 오류가 발생한 경우
예제
다음 예제에서는 XSLT 변환을 실행하고 개체에 XmlWriter 출력합니다.
// 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 사용하여 확인됩니다. 외부 리소스가 인증이 필요한 네트워크 리소스에 있는 경우 인수 중 하나로 사용되는 XmlResolver 오버로드를 사용하고 필요한 자격 증명을 XmlResolver 사용하여 지정합니다.
이 메서드는 요소를 지원하지 xsl:strip-space
않습니다. 컴파일된 스타일시트에 요소가 포함된 xsl:strip-space
경우 입력 인수로 사용하는 오버로드를 XmlReader 사용해야 Transform 합니다.
IXPathNavigable 인터페이스는 XmlNode 및 XPathDocument 클래스에서 구현됩니다. 이 클래스는 XML 데이터의 메모리 내 캐시를 나타냅니다.
XmlNode 클래스는 W3C DOM(문서 개체 모델)을 기반으로 하며 편집 기능이 있습니다.
XPathDocument 클래스는 XPath 데이터 모델을 기반으로 하는 읽기 전용 데이터 저장소입니다. XPathDocument는 XSLT 처리에 권장되는 클래스입니다. 이 클래스는 XmlNode 클래스와 비교하여 속도가 더 빠릅니다.
변형은 문서 전체에 적용됩니다. 즉, 문서 루트 노드 이외의 노드에 전달해도 변환 프로세스에서 로드된 문서의 모든 노드에 액세스할 수 있습니다. 노드 조각을 변형하려면 노드 조각만 포함하는 개체를 만들고 이 개체를 Transform 메서드에 전달해야 합니다. 자세한 내용은 방법: 노드 조각 변환을 참조하세요.
추가 정보
적용 대상
Transform(XmlReader, 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)
매개 변수
- results
- XmlWriter
출력을 제공할 대상 XmlWriter입니다.
스타일시트에 xsl:output
요소가 포함된 경우 OutputSettings 속성에서 반환된 XmlWriterSettings 개체를 사용하여 XmlWriter를 만들어야 합니다. 이렇게 해야 XmlWriter의 출력 설정이 올바르게 설정됩니다.
예외
input
또는 results
값이 null
인 경우
XSLT 변환을 실행하는 동안 오류가 발생한 경우
예제
다음 예제에서는 books.xml 파일의 첫 번째 책을 변환합니다.
// 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 사용하여 확인됩니다. 외부 리소스가 인증이 필요한 네트워크 리소스에 있는 경우 인수 중 하나로 사용되는 XmlResolver 오버로드를 사용하고 필요한 자격 증명을 XmlResolver 사용하여 지정합니다.
추가 정보
적용 대상
Transform(String, XmlWriter)
URI로 지정된 입력 문서를 사용하여 변환을 실행하고 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
입력 문서의 URI입니다.
- results
- XmlWriter
출력을 제공할 대상 XmlWriter입니다.
스타일시트에 xsl:output
요소가 포함된 경우 OutputSettings 속성에서 반환된 XmlWriterSettings 개체를 사용하여 XmlWriter를 만들어야 합니다. 이렇게 해야 XmlWriter의 출력 설정이 올바르게 설정됩니다.
예외
inputUri
또는 results
값이 null
인 경우
XSLT 변환을 실행하는 동안 오류가 발생한 경우
inputUri
값에 찾을 수 없는 디렉터리나 파일 이름이 포함된 경우
inputUri
경로는 유효한 URI가 아닙니다.
입력 문서를 로드하는 동안 구문 분석 오류가 발생한 경우
예제
다음 예제에서는 XSLT 변환을 실행하고 개체에 XmlWriter 출력합니다.
// 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()
함수의 인스턴스를 확인합니다. 이러한 리소스 중 인증이 필요한 네트워크 리소스에 있는 경우 인수 중 하나로 사용되는 XmlResolver 오버로드를 사용하고 필요한 자격 증명을 XmlResolver 사용하여 지정합니다.
XmlReader 기본 설정은 입력 문서를 로드하는 데 사용됩니다. 에서 DTD 처리를 사용할 수 XmlReader없습니다. DTD 처리가 필요한 경우 이 기능을 사용하도록 설정한 상태로 만들고 XmlReader 메서드에 Transform 전달합니다.
이 메서드는 요소를 지원하지 xsl:strip-space
않습니다. 컴파일된 스타일시트에 요소가 포함된 xsl:strip-space
경우 입력 인수로 사용하는 오버로드를 XmlReader 사용해야 Transform 합니다.
추가 정보
적용 대상
Transform(XmlReader, XsltArgumentList, XmlWriter, XmlResolver)
XmlReader 개체에 지정된 입력 문서를 사용하여 변환을 실행하고 XmlWriter에 결과를 출력합니다. XsltArgumentList는 추가 런타임 인수를 제공하고 XmlResolver는 XSLT document()
함수를 확인합니다.
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);
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)
매개 변수
- arguments
- XsltArgumentList
변환에 대한 입력용으로 사용되는 네임스페이스 정규화 인수가 들어 있는 XsltArgumentList입니다. 이 값은 null
일 수 있습니다.
- results
- XmlWriter
출력을 제공할 대상 XmlWriter입니다.
스타일시트에 xsl:output
요소가 포함된 경우 OutputSettings 속성에서 반환된 XmlWriterSettings 개체를 사용하여 XmlWriter를 만들어야 합니다. 이렇게 해야 XmlWriter의 출력 설정이 올바르게 설정됩니다.
- documentResolver
- XmlResolver
XSLT document()
함수 확인에 사용되는 XmlResolver입니다. 이 값이 null
이면 document()
함수가 확인되지 않습니다.
예외
input
또는 results
값이 null
인 경우
XSLT 변환을 실행하는 동안 오류가 발생한 경우
예제
다음 예제에서는 XSLT document()
함수를 확인하는 데 사용합니다XmlSecureResolver.
// 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)
URI로 지정된 입력 문서를 사용하여 변환을 실행하고 XmlWriter에 결과를 출력합니다. XsltArgumentList는 추가 런타임 인수를 제공합니다.
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);
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
입력 문서의 URI입니다.
- arguments
- XsltArgumentList
변환에 대한 입력용으로 사용되는 네임스페이스 정규화 인수가 들어 있는 XsltArgumentList입니다. 이 값은 null
일 수 있습니다.
- results
- XmlWriter
출력을 제공할 대상 XmlWriter입니다.
스타일시트에 xsl:output
요소가 포함된 경우 OutputSettings 속성에서 반환된 XmlWriterSettings 개체를 사용하여 XmlWriter를 만들어야 합니다. 이렇게 해야 XmlWriter의 출력 설정이 올바르게 설정됩니다.
예외
inputUri
또는 results
값이 null
인 경우
XSLT 변환을 실행하는 동안 오류가 발생한 경우
inputtUri
값에 찾을 수 없는 디렉터리나 파일 이름이 포함된 경우
inputUri
경로는 유효한 URI가 아닙니다.
입력 문서를 로드하는 동안 구문 분석 오류가 발생한 경우
예제
다음 예제에서는 개체를 XsltArgumentList 사용하여 현재 날짜 및 시간을 나타내는 매개 변수를 만듭니다.
using System;
using System.IO;
using System.Xml;
using System.Xml.Xsl;
public class Sample
{
public static void Main()
{
// Create the XslCompiledTransform and load the stylesheet.
XslCompiledTransform xslt = new XslCompiledTransform();
xslt.Load("order.xsl");
// Create the XsltArgumentList.
XsltArgumentList xslArg = new XsltArgumentList();
// Create a parameter which represents the current date and time.
DateTime d = DateTime.Now;
xslArg.AddParam("date", "", d.ToString());
// Transform the file.
using (XmlWriter w = XmlWriter.Create("output.xml"))
{
xslt.Transform("order.xml", xslArg, w);
}
}
}
Imports System.IO
Imports System.Xml
Imports System.Xml.Xsl
Public Class Sample
Public Shared Sub Main()
' Create the XslCompiledTransform and load the stylesheet.
Dim xslt As New XslCompiledTransform()
xslt.Load("order.xsl")
' Create the XsltArgumentList.
Dim xslArg As New XsltArgumentList()
' Create a parameter which represents the current date and time.
Dim d As DateTime = DateTime.Now
xslArg.AddParam("date", "", d.ToString())
Using w As XmlWriter = XmlWriter.Create("output.xml")
' Transform the file.
xslt.Transform("order.xml", xslArg, w)
End Using
End Sub
End Class
이 예제에서는 다음 두 데이터 파일을 입력으로 사용합니다.
order.xml
<!--Represents a customer order-->
<order>
<book ISBN='10-861003-324'>
<title>The Handmaid's Tale</title>
<price>19.95</price>
</book>
<cd ISBN='2-3631-4'>
<title>Americana</title>
<price>16.95</price>
</cd>
</order>
order.xsl
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:param name="date"/>
<xsl:template match="/">
<order>
<date><xsl:value-of select="$date"/></date>
<total><xsl:value-of select="sum(//price)"/></total>
</order>
</xsl:template>
</xsl:stylesheet>
설명
이 메서드는 사용자 자격 증명이 없는 기본값 XmlUrlResolver 을 사용하여 입력 문서 및 스타일시트에 있는 XSLT document()
함수의 인스턴스를 확인합니다. 이러한 리소스 중 인증이 필요한 네트워크 리소스에 있는 경우 인수 중 하나로 사용되는 XmlResolver 오버로드를 사용하고 필요한 자격 증명을 XmlResolver 사용하여 지정합니다.
XmlReader 기본 설정은 입력 문서를 로드하는 데 사용됩니다. 에서 DTD 처리를 사용할 수 XmlReader없습니다. DTD 처리가 필요한 경우 이 기능을 사용하도록 설정한 상태로 만들고 XmlReader 메서드에 Transform 전달합니다.
추가 정보
적용 대상
Transform(IXPathNavigable, XsltArgumentList, XmlWriter, XmlResolver)
IXPathNavigable 개체에 지정된 입력 문서를 사용하여 변환을 실행하고 XmlWriter에 결과를 출력합니다. XsltArgumentList는 추가 런타임 인수를 제공하고 XmlResolver는 XSLT document()
함수를 확인합니다.
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);
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 개체에서 지정되는 변환할 문서입니다.
- arguments
- XsltArgumentList
XsltArgumentList로 표시되는 인수 목록입니다.
- results
- XmlWriter
출력을 제공할 대상 XmlWriter입니다.
스타일시트에 xsl:output
요소가 포함된 경우 OutputSettings 속성에서 반환되는 XmlWriterSettings 개체를 사용하여 XmlWriter를 만들어야 합니다. 이렇게 해야 XmlWriter의 출력 설정이 올바르게 설정됩니다.
- documentResolver
- XmlResolver
XSLT document()
함수 확인에 사용되는 XmlResolver입니다. 이 값이 null
이면 document()
함수가 확인되지 않습니다.