다음을 통해 공유


XslTransform.Load 메서드

정의

xsl:includexsl:import 요소에서 참조하는 스타일시트가 들어 있는 XSLT 스타일시트를 로드합니다.

오버로드

Load(XPathNavigator, XmlResolver, Evidence)

XPathNavigator에 포함된 XSLT 스타일시트를 로드합니다. 이 메서드를 사용하면 증명 정보를 지정하여 스타일시트의 권한을 제한할 수 있습니다.

Load(IXPathNavigable, XmlResolver, Evidence)

IXPathNavigable에 포함된 XSLT 스타일시트를 로드합니다. 이 메서드를 사용하면 증명 정보를 지정하여 스타일시트의 권한을 제한할 수 있습니다.

Load(XPathNavigator, XmlResolver)
사용되지 않음.

XPathNavigator에 포함된 XSLT 스타일시트를 로드합니다.

Load(IXPathNavigable, XmlResolver)
사용되지 않음.

IXPathNavigable에 포함된 XSLT 스타일시트를 로드합니다.

Load(XmlReader, XmlResolver)
사용되지 않음.

XmlReader에 포함된 XSLT 스타일시트를 로드합니다.

Load(XmlReader, XmlResolver, Evidence)

XmlReader에 포함된 XSLT 스타일시트를 로드합니다. 이 메서드를 사용하면 증명 정보를 지정하여 스타일시트의 권한을 제한할 수 있습니다.

Load(XPathNavigator)
사용되지 않음.

XPathNavigator에 포함된 XSLT 스타일시트를 로드합니다.

Load(IXPathNavigable)
사용되지 않음.

IXPathNavigable에 포함된 XSLT 스타일시트를 로드합니다.

Load(XmlReader)
사용되지 않음.

XmlReader에 포함된 XSLT 스타일시트를 로드합니다.

Load(String)

URL로 지정된 XSLT 스타일시트를 로드합니다.

Load(String, XmlResolver)

URL로 지정된 XSLT 스타일시트를 로드합니다.

설명

참고

클래스는 XslTransform .NET Framework 버전 2.0에서 사용되지 않습니다. 클래스는 XslCompiledTransform 새 XSLT 프로세서입니다. 자세한 내용은 XslCompiledTransform 클래스 사용XslTransform 클래스에서 마이그레이션을 참조하세요.

Load(XPathNavigator, XmlResolver, Evidence)

XPathNavigator에 포함된 XSLT 스타일시트를 로드합니다. 이 메서드를 사용하면 증명 정보를 지정하여 스타일시트의 권한을 제한할 수 있습니다.

public:
 void Load(System::Xml::XPath::XPathNavigator ^ stylesheet, System::Xml::XmlResolver ^ resolver, System::Security::Policy::Evidence ^ evidence);
public void Load (System.Xml.XPath.XPathNavigator stylesheet, System.Xml.XmlResolver resolver, System.Security.Policy.Evidence evidence);
member this.Load : System.Xml.XPath.XPathNavigator * System.Xml.XmlResolver * System.Security.Policy.Evidence -> unit
Public Sub Load (stylesheet As XPathNavigator, resolver As XmlResolver, evidence As Evidence)

매개 변수

stylesheet
XPathNavigator

로드할 스타일시트를 포함하는 XPathNavigator 개체입니다.

resolver
XmlResolver

XmlResolverxsl:include 요소에서 참조되는 스타일시트를 로드하는 xsl:import 데 사용되는 입니다. 이 값이 null이면 외부 리소스가 확인되지 않습니다.

XmlResolver 메서드가 완료된 다음 Load가 캐시되지 않습니다.

evidence
Evidence

XSLT 스타일시트의 스크립트 블록에 대해 생성된 어셈블리에 설정된 Evidence입니다.

null이면 스크립트 블록이 처리되지 않고 XSLT document() 함수가 지원되지 않으며 권한 있는 확장 개체가 허용되지 않습니다.

스크립트 어셈블리에 대해 증명 정보를 제공하려면 호출자에게 ControlEvidence 권한이 있어야 합니다. 부분적으로 신뢰할 수 있는 호출자의 경우 이 매개 변수를 null로 설정할 수 있습니다.

예외

현재 노드가 올바른 스타일시트에 맞지 않습니다.

참조되는 스타일시트에는 제공된 증명 정보에서 허용하지 않는 기능이 필요한 경우

호출자가 증명 정보를 제공하려 했지만 ControlEvidence 권한이 없는 경우

예제

다음 예제에서는 외부 원본의 스타일시트를 사용하여 XSLT 변환을 수행합니다. 스타일시트가 신뢰할 수 없는 원본 resolver 에서 제공되므로 및 evidence 매개 변수는 로 null설정됩니다.


public static void TransformFile (XPathNavigator xsltNav) {

 // Load the stylesheet.
 XslTransform xslt = new XslTransform();
 xslt.Load(xsltNav, null, null);

 // Transform the file.
 xslt.Transform("books.xml", "books.html", null);
}

public shared sub TransformFile (xsltNav as XPathNavigator) 
 
 ' Load the stylesheet.
 Dim xslt as XslTransform = new XslTransform()
 xslt.Load(xsltNav, nothing, nothing)

 ' Transform the file.
 xslt.Transform("books.xml", "books.html", nothing)
end sub

설명

참고

클래스는 XslTransform .NET Framework 버전 2.0에서 사용되지 않습니다. 클래스는 XslCompiledTransform 새 XSLT 프로세서입니다. 자세한 내용은 XslCompiledTransform 클래스 사용XslTransform 클래스에서 마이그레이션을 참조하세요.

XslTransform 는 XSLT 1.0 구문을 지원합니다. XSLT 스타일시트에는 네임스페이스 선언 xmlns:xsl= http://www.w3.org/1999/XSL/Transform이 포함되어야 합니다.

스타일시트가 의 현재 위치에서 로드됩니다 XPathNavigator. 로드된 문서의 일부를 스타일시트로 사용하려면 스타일시트 시작 부분에 해당하는 노드로 이동합니다. 메서드가 Load 반환 XPathNavigator 된 후 는 스타일시트 시작 부분에 위치합니다( xsl:style sheet 노드).

증거를 제공하는 방법에는 여러 가지가 있습니다. 다음 표에서는 일반적인 사용자 시나리오에 제공할 증거 유형을 설명합니다.

시나리오 제공할 증거 유형
XSLT 스타일시트는 자체 포함되거나 신뢰할 수 있는 코드 베이스에서 제공됩니다. 어셈블리의 증거를 사용합니다.

XsltTransform xslt = new XslTransform(); 
xslt.Load(xslNav, resolver, this.GetType().Assembly.Evidence);
XSLT 스타일시트를 외부 소스에서 가져옵니다. 원본의 원본이 알려져 있으며 확인 가능한 URL이 있습니다. URL을 사용하여 증명 정보를 만듭니다.

XsltTransform xslt = new XslTransform(); 
Evidence evidence = XmlSecureResolver.CreateEvidenceForUrl(style sheetURL); 
xslt.Load(xslNav,resolver,evidence);
XSLT 스타일시트를 외부 소스에서 가져옵니다. 소스의 원본을 알 수 없습니다. 증명 정보를 null로 설정합니다. 스크립트 블록이 처리되지 않고, XSLT document() 함수가 지원되지 않으며, 권한 있는 확장 개체는 사용할 수 없습니다.

또한 매개 변수nullresolver 로 설정할 수도 있습니다. 이렇게 하면 xsl:importxsl:include 요소가 처리되지 않습니다.
XSLT 스타일시트를 외부 소스에서 가져옵니다. 소스의 원본을 알 수 없지만 스크립트 지원이 필요합니다. 호출자의 증명 정보를 요청합니다. 호출자의 API는 증명 정보(일반적으로 Evidence 클래스)를 제공하는 방법을 제공해야 합니다.

추가 정보

적용 대상

Load(IXPathNavigable, XmlResolver, Evidence)

IXPathNavigable에 포함된 XSLT 스타일시트를 로드합니다. 이 메서드를 사용하면 증명 정보를 지정하여 스타일시트의 권한을 제한할 수 있습니다.

public:
 void Load(System::Xml::XPath::IXPathNavigable ^ stylesheet, System::Xml::XmlResolver ^ resolver, System::Security::Policy::Evidence ^ evidence);
public void Load (System.Xml.XPath.IXPathNavigable stylesheet, System.Xml.XmlResolver resolver, System.Security.Policy.Evidence evidence);
member this.Load : System.Xml.XPath.IXPathNavigable * System.Xml.XmlResolver * System.Security.Policy.Evidence -> unit
Public Sub Load (stylesheet As IXPathNavigable, resolver As XmlResolver, evidence As Evidence)

매개 변수

stylesheet
IXPathNavigable

IXPathNavigable 인터페이스를 구현하는 개체입니다. .NET Framework에서 이 개체는 XmlNode(대개 XmlDocument) 또는 XSLT 스타일시트를 포함하는 XPathDocument일 수 있습니다.

resolver
XmlResolver

XmlResolverxsl:include 요소에서 참조되는 스타일시트를 로드하는 xsl:import 데 사용되는 입니다. 이 값이 null이면 외부 리소스가 확인되지 않습니다.

XmlResolver 메서드가 완료된 다음 Load가 캐시되지 않습니다.

evidence
Evidence

XSLT 스타일시트의 스크립트 블록에 대해 생성된 어셈블리에 설정된 Evidence입니다.

null이면 스크립트 블록이 처리되지 않고 XSLT document() 함수가 지원되지 않으며 권한 있는 확장 개체가 허용되지 않습니다.

스크립트 어셈블리에 대해 증명 정보를 제공하려면 호출자에게 ControlEvidence 권한이 있어야 합니다. 부분적으로 신뢰할 수 있는 호출자의 경우 이 매개 변수를 null로 설정할 수 있습니다.

예외

로드된 리소스가 올바른 스타일시트가 아닙니다.

참조되는 스타일시트에는 제공된 증명 정보에서 허용하지 않는 기능이 필요한 경우

호출자가 증명 정보를 제공하려 했지만 ControlEvidence 권한이 없는 경우

설명

참고

XslTransform 클래스는 .NET Framework 버전 2.0에서 사용되지 않습니다. 클래스는 XslCompiledTransform 새 XSLT 프로세서입니다. 자세한 내용은 XslCompiledTransform 클래스 사용XslTransform 클래스에서 마이그레이션을 참조하세요.

XslTransform 는 XSLT 1.0 구문을 지원합니다. XSLT 스타일시트에는 네임스페이스 선언 xmlns:xsl= http://www.w3.org/1999/XSL/Transform이 포함되어야 합니다.

증거를 제공하는 방법에는 여러 가지가 있습니다. 다음 표에서는 일반적인 사용자 시나리오에 제공할 증거 유형을 설명합니다.

시나리오 제공할 증거 유형
XSLT 스타일시트는 자체 포함되거나 신뢰할 수 있는 코드 베이스에서 제공됩니다. 어셈블리의 증거를 사용합니다.

XsltTransform xslt = new XslTransform(); 
xslt.Load(style sheet, resolver, this.GetType().Assembly.Evidence);
XSLT 스타일시트를 외부 소스에서 가져옵니다. 원본의 원본이 알려져 있으며 확인 가능한 URL이 있습니다. URL을 사용하여 증명 정보를 만듭니다.

XsltTransform xslt = new XslTransform(); 
Evidence evidence = XmlSecureResolver.CreateEvidenceForUrl(style sheetURL); 
xslt.Load(style sheet,resolver,evidence);
XSLT 스타일시트를 외부 소스에서 가져옵니다. 소스의 원본을 알 수 없습니다. 증명 정보를 null로 설정합니다. 스크립트 블록이 처리되지 않고, XSLT document() 함수가 지원되지 않으며, 권한 있는 확장 개체는 사용할 수 없습니다.

또한 매개 변수nullresolver 로 설정할 수도 있습니다. 이렇게 하면 xsl:importxsl:include 요소가 처리되지 않습니다.
XSLT 스타일시트를 외부 소스에서 가져옵니다. 소스의 원본을 알 수 없지만 스크립트 지원이 필요합니다. 호출자의 증명 정보를 요청합니다. 호출자의 API는 증명 정보(일반적으로 Evidence 클래스)를 제공하는 방법을 제공해야 합니다.

추가 정보

적용 대상

Load(XPathNavigator, XmlResolver)

Source:
XslTransform.cs
Source:
XslTransform.cs
Source:
XslTransform.cs

주의

You should pass evidence to Load() method

XPathNavigator에 포함된 XSLT 스타일시트를 로드합니다.

public:
 void Load(System::Xml::XPath::XPathNavigator ^ stylesheet, System::Xml::XmlResolver ^ resolver);
public void Load (System.Xml.XPath.XPathNavigator stylesheet, System.Xml.XmlResolver? resolver);
public void Load (System.Xml.XPath.XPathNavigator stylesheet, System.Xml.XmlResolver resolver);
[System.Obsolete("You should pass evidence to Load() method")]
public void Load (System.Xml.XPath.XPathNavigator stylesheet, System.Xml.XmlResolver resolver);
member this.Load : System.Xml.XPath.XPathNavigator * System.Xml.XmlResolver -> unit
[<System.Obsolete("You should pass evidence to Load() method")>]
member this.Load : System.Xml.XPath.XPathNavigator * System.Xml.XmlResolver -> unit
Public Sub Load (stylesheet As XPathNavigator, resolver As XmlResolver)

매개 변수

stylesheet
XPathNavigator

XSLT 스타일시트가 들어 있는 XPathNavigator 개체입니다.

resolver
XmlResolver

XmlResolverxsl:include 요소에서 참조되는 스타일시트를 로드하는 xsl:import 데 사용되는 입니다. 이 값이 null이면 외부 리소스가 확인되지 않습니다.

XmlResolver 메서드가 완료된 다음 Load가 캐시되지 않습니다.

특성

예외

현재 노드가 올바른 스타일시트에 맞지 않습니다.

스타일시트에 포함 스크립트가 들어 있고 호출자에 UnmanagedCode 권한이 없습니다.

설명

참고

클래스는 XslTransform .NET Framework 버전 2.0에서 사용되지 않습니다. 클래스는 XslCompiledTransform 새 XSLT 프로세서입니다. 자세한 내용은 XslCompiledTransform 클래스 사용XslTransform 클래스에서 마이그레이션을 참조하세요.

XslTransform 는 XSLT 1.0 구문을 지원합니다. XSLT 스타일시트에는 네임스페이스 선언 xmlns:xsl= http://www.w3.org/1999/XSL/Transform이 포함되어야 합니다.

스타일시트가 의 현재 위치에서 로드됩니다 XPathNavigator. 로드된 문서의 일부를 스타일시트로 사용하려면 스타일시트 시작 부분에 해당하는 노드로 이동합니다. 메서드가 Load 반환 XPathNavigator 된 후 는 스타일시트 시작 부분에 위치합니다( xsl:style sheet 노드).

스타일시트에 포함된 스크립팅이 포함되어 있으면 스크립트가 어셈블리로 컴파일됩니다. 어셈블리에 완전 신뢰가 있습니다. 권장되는 방법은 를 사용하여 증거를 제공하는 것입니다 Load(XPathNavigator, XmlResolver, Evidence).

참고

호출자에게 권한이 없 UnmanagedCode 으면 포함된 스크립트가 컴파일되지 않고 이 SecurityException throw됩니다. 자세한 내용은 SecurityPermissionSecurityPermissionFlag.UnmanagedCode를 참조하세요.

추가 정보

적용 대상

Load(IXPathNavigable, XmlResolver)

Source:
XslTransform.cs
Source:
XslTransform.cs
Source:
XslTransform.cs

주의

You should pass evidence to Load() method

IXPathNavigable에 포함된 XSLT 스타일시트를 로드합니다.

public:
 void Load(System::Xml::XPath::IXPathNavigable ^ stylesheet, System::Xml::XmlResolver ^ resolver);
public void Load (System.Xml.XPath.IXPathNavigable stylesheet, System.Xml.XmlResolver? resolver);
public void Load (System.Xml.XPath.IXPathNavigable stylesheet, System.Xml.XmlResolver resolver);
[System.Obsolete("You should pass evidence to Load() method")]
public void Load (System.Xml.XPath.IXPathNavigable stylesheet, System.Xml.XmlResolver resolver);
member this.Load : System.Xml.XPath.IXPathNavigable * System.Xml.XmlResolver -> unit
[<System.Obsolete("You should pass evidence to Load() method")>]
member this.Load : System.Xml.XPath.IXPathNavigable * System.Xml.XmlResolver -> unit
Public Sub Load (stylesheet As IXPathNavigable, resolver As XmlResolver)

매개 변수

stylesheet
IXPathNavigable

IXPathNavigable 인터페이스를 구현하는 개체입니다. .NET Framework에서 이 개체는 XmlNode(대개 XmlDocument) 또는 XSLT 스타일시트를 포함하는 XPathDocument일 수 있습니다.

resolver
XmlResolver

XmlResolverxsl:include 요소에서 참조되는 스타일시트를 로드하는 xsl:import 데 사용되는 입니다. 이 값이 null이면 외부 리소스가 확인되지 않습니다.

XmlResolver 메서드가 완료된 다음 Load가 캐시되지 않습니다.

특성

예외

로드된 리소스가 올바른 스타일시트가 아닙니다.

스타일시트에 포함 스크립트가 들어 있고 호출자에 UnmanagedCode 권한이 없습니다.

설명

참고

클래스는 XslTransform .NET Framework 버전 2.0에서 사용되지 않습니다. 클래스는 XslCompiledTransform 새 XSLT 프로세서입니다. 자세한 내용은 XslCompiledTransform 클래스 사용XslTransform 클래스에서 마이그레이션을 참조하세요.

XslTransform 는 XSLT 1.0 구문을 지원합니다. XSLT 스타일시트에는 네임스페이스 선언 xmlns:xsl= http://www.w3.org/1999/XSL/Transform이 포함되어야 합니다.

스타일시트에 포함된 스크립팅이 포함되어 있으면 스크립트가 어셈블리로 컴파일됩니다. 어셈블리에 완전 신뢰가 있습니다. 권장되는 방법은 메서드를 사용하여 증거를 제공하는 것입니다 Load(IXPathNavigable, XmlResolver, Evidence) .

참고

호출자에게 권한이 없 UnmanagedCode 으면 포함된 스크립트가 컴파일되지 않고 이 SecurityException throw됩니다. 자세한 내용은 SecurityPermissionSecurityPermissionFlag.UnmanagedCode를 참조하세요.

추가 정보

적용 대상

Load(XmlReader, XmlResolver)

Source:
XslTransform.cs
Source:
XslTransform.cs
Source:
XslTransform.cs

주의

You should pass evidence to Load() method

XmlReader에 포함된 XSLT 스타일시트를 로드합니다.

public:
 void Load(System::Xml::XmlReader ^ stylesheet, System::Xml::XmlResolver ^ resolver);
public void Load (System.Xml.XmlReader stylesheet, System.Xml.XmlResolver? resolver);
public void Load (System.Xml.XmlReader stylesheet, System.Xml.XmlResolver resolver);
[System.Obsolete("You should pass evidence to Load() method")]
public void Load (System.Xml.XmlReader stylesheet, System.Xml.XmlResolver resolver);
member this.Load : System.Xml.XmlReader * System.Xml.XmlResolver -> unit
[<System.Obsolete("You should pass evidence to Load() method")>]
member this.Load : System.Xml.XmlReader * System.Xml.XmlResolver -> unit
Public Sub Load (stylesheet As XmlReader, resolver As XmlResolver)

매개 변수

stylesheet
XmlReader

XSLT 스타일시트가 들어 있는 XmlReader 개체입니다.

resolver
XmlResolver

XmlResolverxsl:include 요소에서 참조되는 스타일시트를 로드하는 xsl:import 데 사용되는 입니다. 이 값이 null이면 외부 리소스가 확인되지 않습니다.

XmlResolver 메서드가 완료된 다음 Load(XmlReader, XmlResolver)가 캐시되지 않습니다.

특성

예외

현재 노드가 올바른 스타일시트에 맞지 않습니다.

스타일시트에 포함 스크립트가 들어 있고 호출자에 UnmanagedCode 권한이 없습니다.

설명

참고

클래스는 XslTransform .NET Framework 버전 2.0에서 사용되지 않습니다. 클래스는 XslCompiledTransform 새 XSLT 프로세서입니다. 자세한 내용은 XslCompiledTransform 클래스 사용XslTransform 클래스에서 마이그레이션을 참조하세요.

XslTransform 는 XSLT 1.0 구문을 지원합니다. XSLT 스타일시트에는 네임스페이스 선언 xmlns:xsl= http://www.w3.org/1999/XSL/Transform이 포함되어야 합니다.

이 메서드는 및 xsl:import 요소에서 참조되는 xsl:include 스타일시트를 포함하여 XSLT 스타일시트를 로드합니다. 스타일시트가 의 현재 노드 XmlReader 에서 모든 자식을 통해 로드됩니다. 이렇게 하면 문서의 일부를 스타일시트로 사용할 수 있습니다.

메서드가 Load 반환 XmlReader 된 후 는 스타일시트 끝의 다음 노드에 배치됩니다. 문서 끝에 도달하면 XmlReader가 EOF(파일 끝)에 배치됩니다.

스타일시트에 엔터티가 포함된 경우 엔터티를 확인할 수 있는 를 XmlReader 지정해야 합니다(XmlReader.CanResolveEntity 반환 true). 이 경우 를 XmlValidatingReader 사용할 수 있습니다.

스타일시트에 포함된 스크립팅이 포함되어 있으면 스크립트가 어셈블리로 컴파일됩니다. 어셈블리에 완전 신뢰가 있습니다. 권장되는 방법은 메서드를 사용하여 증거를 제공하는 것입니다 Load(XmlReader, XmlResolver, Evidence) .

참고

호출자에게 권한이 없 UnmanagedCode 으면 포함된 스크립트가 컴파일되지 않고 이 SecurityException throw됩니다. 자세한 내용은 SecurityPermissionSecurityPermissionFlag.UnmanagedCode를 참조하세요.

추가 정보

적용 대상

Load(XmlReader, XmlResolver, Evidence)

XmlReader에 포함된 XSLT 스타일시트를 로드합니다. 이 메서드를 사용하면 증명 정보를 지정하여 스타일시트의 권한을 제한할 수 있습니다.

public:
 void Load(System::Xml::XmlReader ^ stylesheet, System::Xml::XmlResolver ^ resolver, System::Security::Policy::Evidence ^ evidence);
public void Load (System.Xml.XmlReader stylesheet, System.Xml.XmlResolver resolver, System.Security.Policy.Evidence evidence);
member this.Load : System.Xml.XmlReader * System.Xml.XmlResolver * System.Security.Policy.Evidence -> unit
Public Sub Load (stylesheet As XmlReader, resolver As XmlResolver, evidence As Evidence)

매개 변수

stylesheet
XmlReader

로드할 스타일시트를 포함하는 XmlReader 개체입니다.

resolver
XmlResolver

XmlResolverxsl:include 요소에서 참조되는 스타일시트를 로드하는 xsl:import 데 사용되는 입니다. 이 값이 null이면 외부 리소스가 확인되지 않습니다.

XmlResolver 메서드가 완료된 다음 Load가 캐시되지 않습니다.

evidence
Evidence

XSLT 스타일시트의 스크립트 블록에 대해 생성된 어셈블리에 설정된 Evidence입니다.

null이면 스크립트 블록이 처리되지 않고 XSLT document() 함수가 지원되지 않으며 권한 있는 확장 개체가 허용되지 않습니다.

스크립트 어셈블리에 대해 증명 정보를 제공하려면 호출자에게 ControlEvidence 권한이 있어야 합니다. 부분적으로 신뢰할 수 있는 호출자의 경우 이 매개 변수를 null로 설정할 수 있습니다.

예외

현재 노드가 올바른 스타일시트에 맞지 않습니다.

참조되는 스타일시트에는 제공된 증명 정보에서 허용하지 않는 기능이 필요한 경우

호출자가 증명 정보를 제공하려 했지만 ControlEvidence 권한이 없는 경우

예제

다음 예제에서는 스타일시트를 포함하는 이며 secureURLXmlReader 만드는 Evidence데 사용할 수 있는 xsltReader 신뢰할 수 있는 URL인 XSLT 변환을 수행합니다. 메서드는 XmlSecureResolver.CreateEvidenceForUrl 스타일시트에 적용되는 를 만드는 Evidence 데 사용됩니다.

void TransformFile( XmlReader^ xsltReader, String^ secureURL )
{
   
   // Load the stylesheet using a default XmlUrlResolver and Evidence 
   // created using the trusted URL.
   XslTransform^ xslt = gcnew XslTransform;
   xslt->Load( xsltReader, gcnew XmlUrlResolver, XmlSecureResolver::CreateEvidenceForUrl( secureURL ) );
   
   // Transform the file.
   xslt->Transform("books.xml","books.html",gcnew XmlUrlResolver);
}

public static void TransformFile (XmlReader xsltReader, String secureURL) {

 // Load the stylesheet using a default XmlUrlResolver and Evidence
 // created using the trusted URL.
 XslTransform xslt = new XslTransform();
 xslt.Load(xsltReader, new XmlUrlResolver(), XmlSecureResolver.CreateEvidenceForUrl(secureURL));

 // Transform the file.
 xslt.Transform("books.xml", "books.html", new XmlUrlResolver());
}

public shared sub TransformFile (xsltReader as XmlReader, secureURL as String) 
 
 ' Load the stylesheet using a default XmlUrlResolver and Evidence 
 ' created using the trusted URL.
 Dim xslt as XslTransform = new XslTransform()
 xslt.Load(xsltReader, new XmlUrlResolver(), XmlSecureResolver.CreateEvidenceForUrl(secureURL))

 ' Transform the file.
 xslt.Transform("books.xml", "books.html", new XmlUrlResolver())
end sub

설명

참고

클래스는 XslTransform .NET Framework 버전 2.0에서 사용되지 않습니다. 클래스는 XslCompiledTransform 새 XSLT 프로세서입니다. 자세한 내용은 XslCompiledTransform 클래스 사용XslTransform 클래스에서 마이그레이션을 참조하세요.

XslTransform 는 XSLT 1.0 구문을 지원합니다. XSLT 스타일시트에는 네임스페이스 선언 xmlns:xsl= http://www.w3.org/1999/XSL/Transform이 포함되어야 합니다.

이 메서드는 및 xsl:import 요소에서 참조되는 xsl:include 스타일시트를 포함하여 XSLT 스타일시트를 로드합니다. 스타일시트가 의 현재 노드 XmlReader 에서 모든 자식을 통해 로드됩니다. 이렇게 하면 문서의 일부를 스타일시트로 사용할 수 있습니다.

메서드가 Load 반환된 XmlReader 후 는 스타일시트 끝 뒤의 다음 노드에 배치됩니다. 문서 끝에 도달하면 XmlReader가 EOF(파일 끝)에 배치됩니다.

스타일시트에 엔터티가 포함된 경우 엔터티를 XmlReader 확인할 수 있는 를 지정해야 합니다(XmlReader.CanResolveEntity 반환 true). 이 경우 를 XmlValidatingReader 사용할 수 있습니다.

증거를 제공하는 방법에는 여러 가지가 있습니다. 다음 표에서는 일반적인 사용자 시나리오에 제공할 증거 유형을 설명합니다.

시나리오 제공할 증거 유형
XSLT 스타일시트는 자체 포함되거나 신뢰할 수 있는 코드 베이스에서 제공됩니다. 어셈블리의 증거를 사용합니다.

XsltTransform xslt = new XslTransform(); &#13;&#10;xslt.Load(xslReader, resolver, this.GetType().Assembly.Evidence);
XSLT 스타일시트를 외부 소스에서 가져옵니다. 원본의 원본이 알려져 있으며 확인 가능한 URL이 있습니다. URL을 사용하여 증거를 만듭니다.

XsltTransform xslt = new XslTransform();&#13;&#10; Evidence evidence = XmlSecureResolver.CreateEvidenceForUrl(stylesheetURL); &#13;&#10;xslt.Load(xslReader,resolver,evidence);
XSLT 스타일시트를 외부 소스에서 가져옵니다. 소스의 원본을 알 수 없습니다. 증명 정보를 null로 설정합니다. 스크립트 블록이 처리되지 않고, XSLT document() 함수가 지원되지 않으며, 권한 있는 확장 개체는 사용할 수 없습니다.

또한 매개 변수nullresolver 로 설정할 수도 있습니다. 이렇게 하면 xsl:importxsl:include 요소가 처리되지 않습니다.
XSLT 스타일시트를 외부 소스에서 가져옵니다. 소스의 원본을 알 수 없지만 스크립트 지원이 필요합니다. 호출자의 증명 정보를 요청합니다. 호출자의 API는 일반적으로 Evidence 클래스인 증거를 제공하는 방법을 제공해야 합니다.

추가 정보

적용 대상

Load(XPathNavigator)

Source:
XslTransform.cs
Source:
XslTransform.cs
Source:
XslTransform.cs

주의

You should pass evidence to Load() method

XPathNavigator에 포함된 XSLT 스타일시트를 로드합니다.

public:
 void Load(System::Xml::XPath::XPathNavigator ^ stylesheet);
public void Load (System.Xml.XPath.XPathNavigator stylesheet);
[System.Obsolete("You should pass evidence to Load() method")]
public void Load (System.Xml.XPath.XPathNavigator stylesheet);
member this.Load : System.Xml.XPath.XPathNavigator -> unit
[<System.Obsolete("You should pass evidence to Load() method")>]
member this.Load : System.Xml.XPath.XPathNavigator -> unit
Public Sub Load (stylesheet As XPathNavigator)

매개 변수

stylesheet
XPathNavigator

XSLT 스타일시트가 들어 있는 XPathNavigator 개체입니다.

특성

예외

현재 노드가 올바른 스타일시트에 맞지 않습니다.

스타일시트에 포함 스크립트가 들어 있고 호출자에 UnmanagedCode 권한이 없습니다.

설명

참고

클래스는 XslTransform .NET Framework 버전 2.0에서 사용되지 않습니다. 클래스는 XslCompiledTransform 새 XSLT 프로세서입니다. 자세한 내용은 XslCompiledTransform 클래스 사용XslTransform 클래스에서 마이그레이션을 참조하세요.

XslTransform 는 XSLT 1.0 구문을 지원합니다. XSLT 스타일시트에는 네임스페이스 선언 xmlns:xsl= http://www.w3.org/1999/XSL/Transform이 포함되어야 합니다.

이 메서드는 및 xsl:import 요소에서 참조되는 xsl:include 스타일시트를 포함하여 XSLT 스타일시트를 로드합니다. 외부 리소스는 사용자 자격 증명이 없는 를 XmlUrlResolver 사용하여 확인됩니다. 스타일시트가 인증이 필요한 네트워크 리소스에 있는 경우 를 인수 중 하나로 사용하는 XmlResolver 오버로드를 사용하고 필요한 자격 증명을 사용하여 을 XmlResolver 지정합니다.

스타일시트가 의 현재 위치에서 로드됩니다 XPathNavigator. 로드된 문서의 일부만 스타일시트로 사용하려면 스타일시트 시작 부분에 해당하는 노드로 이동합니다. 메서드가 Load 반환 XPathNavigator 된 후 는 스타일시트 시작 부분(노드)에 xsl:style sheet 배치됩니다.

스타일시트에 포함된 스크립팅이 포함되어 있으면 스크립트가 어셈블리로 컴파일됩니다. 어셈블리에 완전 신뢰가 있습니다. 권장되는 방법은 메서드를 사용하여 증거를 제공하는 것입니다 Load(XPathNavigator, XmlResolver, Evidence) .

참고

호출자에게 권한이 없 UnmanagedCode 으면 포함된 스크립트가 컴파일되지 않고 이 SecurityException throw됩니다. 자세한 내용은 SecurityPermissionSecurityPermissionFlag.UnmanagedCode를 참조하세요.

적용 대상

Load(IXPathNavigable)

Source:
XslTransform.cs
Source:
XslTransform.cs
Source:
XslTransform.cs

주의

You should pass evidence to Load() method

IXPathNavigable에 포함된 XSLT 스타일시트를 로드합니다.

public:
 void Load(System::Xml::XPath::IXPathNavigable ^ stylesheet);
public void Load (System.Xml.XPath.IXPathNavigable stylesheet);
[System.Obsolete("You should pass evidence to Load() method")]
public void Load (System.Xml.XPath.IXPathNavigable stylesheet);
member this.Load : System.Xml.XPath.IXPathNavigable -> unit
[<System.Obsolete("You should pass evidence to Load() method")>]
member this.Load : System.Xml.XPath.IXPathNavigable -> unit
Public Sub Load (stylesheet As IXPathNavigable)

매개 변수

stylesheet
IXPathNavigable

IXPathNavigable 인터페이스를 구현하는 개체입니다. .NET Framework에서 이 개체는 XmlNode(대개 XmlDocument) 또는 XSLT 스타일시트를 포함하는 XPathDocument일 수 있습니다.

특성

예외

로드된 리소스가 올바른 스타일시트가 아닙니다.

스타일시트에 포함 스크립트가 들어 있고 호출자에 UnmanagedCode 권한이 없습니다.

설명

참고

클래스는 XslTransform .NET Framework 버전 2.0에서 사용되지 않습니다. 클래스는 XslCompiledTransform 새 XSLT 프로세서입니다. 자세한 내용은 XslCompiledTransform 클래스 사용XslTransform 클래스에서 마이그레이션을 참조하세요.

XslTransform 는 XSLT 1.0 구문을 지원합니다. XSLT 스타일시트에는 네임스페이스 선언 xmlns:xsl= http://www.w3.org/1999/XSL/Transform이 포함되어야 합니다.

이 메서드는 및 xsl:import 요소에서 참조되는 xsl:include 스타일시트를 포함하여 XSLT 스타일시트를 로드합니다. 외부 리소스는 사용자 자격 증명이 없는 를 XmlUrlResolver 사용하여 확인됩니다. 스타일시트가 인증이 필요한 네트워크 리소스에 있는 경우 를 인수 중 하나로 사용하는 XmlResolver 오버로드를 사용하고 필요한 자격 증명을 사용하여 을 XmlResolver 지정합니다.

스타일시트에 포함된 스크립팅이 포함되어 있으면 스크립트가 어셈블리로 컴파일됩니다. 어셈블리에 완전 신뢰가 있습니다. 권장되는 방법은 메서드를 사용하여 증거를 제공하는 것입니다 Load(IXPathNavigable, XmlResolver, Evidence) .

참고

호출자에게 권한이 없 UnmanagedCode 으면 포함된 스크립트가 컴파일되지 않고 이 SecurityException throw됩니다. 자세한 내용은 SecurityPermissionSecurityPermissionFlag.UnmanagedCode를 참조하세요.

적용 대상

Load(XmlReader)

Source:
XslTransform.cs
Source:
XslTransform.cs
Source:
XslTransform.cs

주의

You should pass evidence to Load() method

XmlReader에 포함된 XSLT 스타일시트를 로드합니다.

public:
 void Load(System::Xml::XmlReader ^ stylesheet);
public void Load (System.Xml.XmlReader stylesheet);
[System.Obsolete("You should pass evidence to Load() method")]
public void Load (System.Xml.XmlReader stylesheet);
member this.Load : System.Xml.XmlReader -> unit
[<System.Obsolete("You should pass evidence to Load() method")>]
member this.Load : System.Xml.XmlReader -> unit
Public Sub Load (stylesheet As XmlReader)

매개 변수

stylesheet
XmlReader

XSLT 스타일시트가 들어 있는 XmlReader 개체입니다.

특성

예외

현재 노드가 올바른 스타일시트에 맞지 않습니다.

스타일시트에 포함 스크립트가 들어 있고 호출자에 UnmanagedCode 권한이 없습니다.

예제

다음 예제에서는 모든 책을 제목별로 정렬하는 XML 파일을 변환합니다.

#using <System.Xml.dll>
#using <System.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 = "titles.xsl";
   
   // Create the reader to load the stylesheet. 
   // Move the reader to the xsl:stylesheet node.
   XmlTextReader^ reader = gcnew XmlTextReader( stylesheet );
   reader->Read();
   reader->Read();
   
   // Create the XslTransform object and load the stylesheet.
   XslTransform^ xslt = gcnew XslTransform;
   xslt->Load( reader );
   
   // 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);
   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 = "titles.xsl";

  public static void Main()
  {
    //Create the reader to load the stylesheet.
    //Move the reader to the xsl:stylesheet node.
    XmlTextReader reader = new XmlTextReader(stylesheet);
    reader.Read();
    reader.Read();

    //Create the XslTransform object and load the stylesheet.
    XslTransform xslt = new XslTransform();
    xslt.Load(reader);

    //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);
    writer.Close();
  }
}
Imports System.IO
Imports System.Xml
Imports System.Xml.Xsl
Imports System.Xml.XPath

public class Sample

  private const filename as String = "books.xml"
  private const stylesheet as String = "titles.xsl"

  public shared sub Main()

    'Create the reader to load the stylesheet. 
    'Move the reader to the xsl:stylesheet node.
    Dim reader as XmlTextReader = new XmlTextReader(stylesheet)
    reader.Read()
    reader.Read()

    'Create the XslTransform object and load the stylesheet.
    Dim xslt as XslTransform = new XslTransform()
    xslt.Load(reader)

    'Load the file to transform.
    Dim doc as XPathDocument = new XPathDocument(filename)
             
    'Create an XmlTextWriter which outputs to the console.
    Dim writer as XmlTextWriter = new XmlTextWriter(Console.Out)

    'Transform the file and send the output to the console.
    xslt.Transform(doc, nothing, writer)
    writer.Close()  

  end sub
end class

이 예제에서는 다음 데이터 파일을 입력으로 사용합니다.

books.xml

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

titles.xsl

<!--Stylesheet to sort all books by title-->
<!--Created 2/13/2001-->
<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0">
  <xsl:template match="bookstore">
      <books>
        <xsl:apply-templates select="book">
          <xsl:sort select="title"/>
        </xsl:apply-templates>
       </books>
   </xsl:template>
  <xsl:template match="book">
          <book><xsl:copy-of select="node()"/></book>
  </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이 포함되어야 합니다.

이 메서드는 및 xsl:import 요소에서 참조되는 xsl:include 스타일시트를 포함하여 XSLT 스타일시트를 로드합니다. 외부 리소스는 사용자 자격 증명이 없는 를 XmlUrlResolver 사용하여 확인됩니다. 스타일시트가 인증이 필요한 네트워크 리소스에 있는 경우 를 인수 중 하나로 사용하는 XmlResolver 오버로드를 사용하고 필요한 자격 증명을 사용하여 을 XmlResolver 지정합니다.

스타일시트가 의 현재 노드 XmlReader 에서 모든 자식을 통해 로드됩니다. 이렇게 하면 문서의 일부를 스타일시트로 사용할 수 있습니다. 메서드가 Load 반환된 XmlReader 후 는 스타일시트 끝 뒤의 다음 노드에 배치됩니다. 문서 끝에 도달하면 XmlReader가 EOF(파일 끝)에 배치됩니다.

스타일시트에 엔터티가 포함된 경우 엔터티를 XmlReader 확인할 수 있는 를 지정해야 합니다(XmlReader.CanResolveEntity 반환 true). 이 경우 를 XmlValidatingReader 사용할 수 있습니다.

스타일시트에 포함된 스크립팅이 포함되어 있으면 스크립트가 어셈블리로 컴파일됩니다. 어셈블리에 완전 신뢰가 있습니다. 권장되는 방법은 메서드를 사용하여 증거를 제공하는 것입니다 Load(XmlReader, XmlResolver, Evidence) .

참고

호출자에게 권한이 없 UnmanagedCode 으면 포함된 스크립트가 컴파일되지 않고 이 SecurityException throw됩니다. 자세한 내용은 SecurityPermissionSecurityPermissionFlag.UnmanagedCode를 참조하세요.

적용 대상

Load(String)

Source:
XslTransform.cs
Source:
XslTransform.cs
Source:
XslTransform.cs

URL로 지정된 XSLT 스타일시트를 로드합니다.

public:
 void Load(System::String ^ url);
public void Load (string url);
member this.Load : string -> unit
Public Sub Load (url As String)

매개 변수

url
String

로드할 XSLT 스타일시트를 지정하는 URL입니다.

예외

로드된 리소스가 올바른 스타일시트가 아닙니다.

스타일시트에 포함 스크립트가 들어 있고 호출자에 UnmanagedCode 권한이 없는 경우

예제

다음 예제에서는 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"이 포함되어야 합니다.

이 메서드는 및 xsl:import 요소에서 참조되는 xsl:include 스타일시트를 포함하여 XSLT 스타일시트를 로드합니다. 외부 리소스는 사용자 자격 증명이 없는 를 XmlUrlResolver 사용하여 해결됩니다. 스타일시트가 인증이 필요한 네트워크 리소스에 있는 경우 를 인수 중 하나로 사용하는 XmlResolver 오버로드를 사용하고 필요한 자격 증명을 사용하여 을 XmlResolver 지정합니다.

스타일시트에 포함된 스크립팅이 포함되어 있으면 스크립트가 어셈블리로 컴파일됩니다. 스타일시트 URI는 어셈블리에 적용되는 증명 정보를 만드는 데 사용됩니다.

참고

호출자에게 권한이 없 UnmanagedCode 으면 포함된 스크립트가 컴파일되지 않고 이 SecurityException throw됩니다. 자세한 내용은 SecurityPermissionSecurityPermissionFlag.UnmanagedCode를 참조하세요.

적용 대상

Load(String, XmlResolver)

Source:
XslTransform.cs
Source:
XslTransform.cs
Source:
XslTransform.cs

URL로 지정된 XSLT 스타일시트를 로드합니다.

public:
 void Load(System::String ^ url, System::Xml::XmlResolver ^ resolver);
public void Load (string url, System.Xml.XmlResolver? resolver);
public void Load (string url, System.Xml.XmlResolver resolver);
member this.Load : string * System.Xml.XmlResolver -> unit
Public Sub Load (url As String, resolver As XmlResolver)

매개 변수

url
String

로드할 XSLT 스타일시트를 지정하는 URL입니다.

resolver
XmlResolver

XmlResolver 스타일시트와 및 xsl:include 요소에서 참조되는 스타일시트를 로드하는 xsl:import 데 사용할 입니다.

이 값이 null이면 사용자 자격 증명 없는 기본 XmlUrlResolver를 사용하여 스타일시트를 엽니다. 기본값 XmlUrlResolver 은 스타일시트에서 외부 리소스를 확인하는 데 사용되지 않으므로 xsl:importxsl:include 요소는 확인되지 않습니다.

XmlResolver 메서드가 완료된 다음 Load(String, XmlResolver)가 캐시되지 않습니다.

예외

로드된 리소스가 올바른 스타일시트가 아닙니다.

스타일시트에 포함 스크립트가 들어 있고 호출자에 UnmanagedCode 권한이 없는 경우

예제

다음 예제에서는 XML 문서를 HTML 문서로 변환합니다. 이 예제에서는 다른 스타일시트를 참조하는 요소가 포함된 xsl:include XSLT 스타일시트를 로드합니다. 는 XmlUrlResolver 포함된 스타일시트에 대한 네트워크 리소스에 액세스하는 데 필요한 자격 증명을 설정하는 메서드에 전달 Load 됩니다.

using System;
using System.IO;
using System.Xml;
using System.Xml.XPath;
using System.Xml.Xsl;
using System.Net;

public class Sample
{
   private const String filename = "books.xml";
   private const String stylesheet = "sort.xsl";

   public static void Main()
   {
      //Create the XslTransform.
     XslTransform xslt = new XslTransform();

     //Create a resolver and set the credentials to use.
     XmlUrlResolver resolver = new XmlUrlResolver();
     resolver.Credentials = CredentialCache.DefaultCredentials;

     //Load the stylesheet.
     xslt.Load(stylesheet, resolver);

     //Load the XML data file.
     XPathDocument doc = new XPathDocument(filename);

     //Create the XmlTextWriter to output to the console.
     XmlTextWriter writer = new XmlTextWriter(Console.Out);

     //Transform the file.
     xslt.Transform(doc, null, writer, null);
     writer.Close();
  }
}
Imports System.IO
Imports System.Xml
Imports System.Xml.XPath
Imports System.Xml.Xsl
Imports System.Net

public class Sample

   private shared filename as String = "books.xml"
   private shared stylesheet as String = "sort.xsl"

   public shared sub Main()
   
     'Create the XslTransform.
     Dim xslt as XslTransform = new XslTransform()

     'Create a resolver and set the credentials to use.
     Dim resolver as XmlUrlResolver = new XmlUrlResolver()
     resolver.Credentials = CredentialCache.DefaultCredentials

     'Load the stylesheet.
     xslt.Load(stylesheet, resolver)

     'Load the XML data file.
     Dim doc as XPathDocument = new XPathDocument(filename)

     'Create the XmlTextWriter to output to the console.             
     Dim writer as XmlTextWriter = new XmlTextWriter(Console.Out)

     'Transform the file.
     xslt.Transform(doc, nothing, writer, nothing)
     writer.Close()

  end sub
end class

이 예제에서는 다음 데이터 파일을 입력으로 사용합니다.

books.xml

<!-- 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>

sort.xsl

<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0">
  <xsl:template match="bookstore"/>
  <xsl:include href="http://serverA/includefile.xsl"/>  
  <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>

includefile.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">
      <xsl:sort select="@ISBN"/>
    </xsl:apply-templates>
    </TABLE>
    </BODY>
  </HTML>
</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이 포함되어야 합니다.

스타일시트에 포함된 스크립팅이 포함되어 있으면 스크립트가 어셈블리로 컴파일됩니다. 스타일시트 URI는 어셈블리에 적용되는 증명 정보를 만드는 데 사용됩니다.

참고

호출자에게 권한이 없 UnmanagedCode 으면 포함된 스크립트가 컴파일되지 않고 이 SecurityException throw됩니다. 자세한 내용은 SecurityPermissionSecurityPermissionFlag.UnmanagedCode를 참조하세요.

추가 정보

적용 대상