XslTransform.Load メソッド

定義

XSLT スタイル シートを読み込みます。XSLT の xsl:include 要素および xsl:import 要素で参照されるスタイル シートが読み込まれます。Loads the XSLT style sheet, including style sheets referenced in xsl:include and xsl:import elements.

オーバーロード

Load(XPathNavigator, XmlResolver, Evidence)

XPathNavigator に格納されている XSLT スタイル シートを読み込みます。Loads the XSLT style sheet contained in the XPathNavigator. このメソッドを使用すると、証拠を指定することによって、スタイル シートのアクセス許可を制限できます。This method allows you to limit the permissions of the style sheet by specifying evidence.

Load(IXPathNavigable, XmlResolver, Evidence)

IXPathNavigable に格納されている XSLT スタイル シートを読み込みます。Loads the XSLT style sheet contained in the IXPathNavigable. このメソッドを使用すると、証拠を指定することによって、スタイル シートのアクセス許可を制限できます。This method allows you to limit the permissions of the style sheet by specifying evidence.

Load(XPathNavigator, XmlResolver)
互換性のために残されています。

XPathNavigator に格納されている XSLT スタイル シートを読み込みます。Loads the XSLT style sheet contained in the XPathNavigator.

Load(IXPathNavigable, XmlResolver)
互換性のために残されています。

IXPathNavigable に格納されている XSLT スタイル シートを読み込みます。Loads the XSLT style sheet contained in the IXPathNavigable.

Load(XmlReader, XmlResolver)
互換性のために残されています。

XmlReader に格納されている XSLT スタイル シートを読み込みます。Loads the XSLT style sheet contained in the XmlReader.

Load(XmlReader, XmlResolver, Evidence)

XmlReader に格納されている XSLT スタイル シートを読み込みます。Loads the XSLT style sheet contained in the XmlReader. このメソッドを使用すると、証拠を指定することによって、スタイル シートのアクセス許可を制限できます。This method allows you to limit the permissions of the style sheet by specifying evidence.

Load(XPathNavigator)
互換性のために残されています。

XPathNavigator に格納されている XSLT スタイル シートを読み込みます。Loads the XSLT style sheet contained in the XPathNavigator.

Load(IXPathNavigable)
互換性のために残されています。

IXPathNavigable に格納されている XSLT スタイル シートを読み込みます。Loads the XSLT style sheet contained in the IXPathNavigable.

Load(XmlReader)
互換性のために残されています。

XmlReader に格納されている XSLT スタイル シートを読み込みます。Loads the XSLT style sheet contained in the XmlReader.

Load(String)

URL で指定された XSLT スタイル シートを読み込みます。Loads the XSLT style sheet specified by a URL.

Load(String, XmlResolver)

URL で指定された XSLT スタイル シートを読み込みます。Loads the XSLT style sheet specified by a URL.

注釈

注意

XslTransformクラスは .NET Framework バージョン2.0 では廃止されています。The XslTransform class is obsolete in the .NET Framework version 2.0. クラスは、 XslCompiledTransform 新しい XSLT プロセッサです。The XslCompiledTransform class is the new XSLT processor. 詳細については、「 XslCompiledTransform クラスの使用 」および「 XslTransform クラスからの移行」を参照してください。For more information, see Using the XslCompiledTransform Class and Migrating From the XslTransform Class.

Load(XPathNavigator, XmlResolver, Evidence)

XPathNavigator に格納されている XSLT スタイル シートを読み込みます。Loads the XSLT style sheet contained in the XPathNavigator. このメソッドを使用すると、証拠を指定することによって、スタイル シートのアクセス許可を制限できます。This method allows you to limit the permissions of the style sheet by specifying evidence.

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 オブジェクト。An XPathNavigator object containing the style sheet to load.

resolver
XmlResolver

xsl:import 要素および xsl:include 要素で参照される任意のスタイル シートを読み込むために使用される XmlResolverThe XmlResolver used to load any style sheets referenced in xsl:import and xsl:include elements. これが null の場合は、外部リソースが解決されません。If this is null, external resources are not resolved.

XmlResolver メソッドが完了した後、Load がキャッシュされていません。The XmlResolver is not cached after the Load method completes.

evidence
Evidence

XSLT スタイル シート内のスクリプト ブロックに対して生成されたアセンブリに設定された EvidenceThe Evidence set on the assembly generated for the script block in the XSLT style sheet.

これが null の場合、スクリプト ブロックは処理されません。また、XSLT の document() 関数はサポートされず、特権拡張機能オブジェクトは許可されません。If this is null, script blocks are not processed, the XSLT document() function is not supported, and privileged extension objects are disallowed.

呼び出し元には、スクリプト アセンブリの証拠を提供するための ControlEvidence アクセス許可が必要です。The caller must have ControlEvidence permission in order to supply evidence for the script assembly. 信頼度の低い呼び出し元は、このパラメーターを null に設定できます。Semi-trusted callers can set this parameter to null.

例外

現在のノードは、有効なスタイル シートに準拠していません。The current node does not conform to a valid style sheet.

参照されているスタイル シートには、提供された証拠で許可されていない機能が必要です。The referenced style sheet requires functionality that is not allowed by the evidence provided.

呼び出し元は証拠を提供しようとしましたが、ControlEvidence アクセス許可を持っていません。The caller tries to supply evidence and does not have ControlEvidence permission.

次の例では、外部ソースのスタイルシートを使用して XSLT 変換を実行します。The following example performs an XSLT transformation using a style sheet from an outside source. スタイルシートは信頼できないソースからのものであるため、 resolver evidence パラメーターとパラメーターはに設定され null ます。Because the style sheet comes from an untrusted source, the resolver and evidence parameters are set to 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 では廃止されています。The XslTransform class is obsolete in the .NET Framework version 2.0. クラスは、 XslCompiledTransform 新しい XSLT プロセッサです。The XslCompiledTransform class is the new XSLT processor. 詳細については、「 XslCompiledTransform クラスの使用 」および「 XslTransform クラスからの移行」を参照してください。For more information, see Using the XslCompiledTransform Class and Migrating From the XslTransform Class.

XslTransform では、XSLT 1.0 構文がサポートされています。XslTransform supports the XSLT 1.0 syntax. XSLT スタイルシートには、名前空間の宣言が含まれている必要があり xmlns:xsl= http://www.w3.org/1999/XSL/Transform ます。The XSLT style sheet must include the namespace declaration xmlns:xsl= http://www.w3.org/1999/XSL/Transform.

スタイルシートは、の現在位置から読み込まれ XPathNavigator ます。The style sheet is loaded from the current position of the XPathNavigator. 読み込まれたドキュメントの一部をスタイルシートとして使用するには、スタイルシートの先頭に対応するノードに移動します。To use a portion of the loaded document as the style sheet, navigate to the node corresponding to the beginning of the style sheet. メソッドが返された後、は、 Load XPathNavigator (ノード上の) スタイルシートの先頭に配置され xsl:style sheet ます。After the Load method returns, the XPathNavigator is positioned at the beginning of the style sheet (on the xsl:style sheet node).

証拠を提供するには、さまざまな方法があります。There are different ways to provide evidence. 次の表は、一般的なユーザーシナリオに対して提供する証拠の種類を示しています。The following table describes what type of evidence to provide for common user scenarios.

シナリオScenario 提供する証拠の種類Type of evidence to provide
XSLT スタイルシートは、自己完結型であるか、信頼できるコードベースから取得されます。The XSLT style sheet is self-contained or comes from a code base that you trust. アセンブリからの証拠を使用します。Use the evidence from your assembly.

XsltTransform xslt = new XslTransform(); 
xslt.Load(xslNav, resolver, this.GetType().Assembly.Evidence);
XSLT スタイル シートが外部ソースにある場合。The XSLT style sheet comes from an outside source. ソースの出所がわかっており、検証可能な URL があります。The origin of the source is known, and there is a verifiable URL. URL を使用して証拠を作成します。Create evidence using the URL.

XsltTransform xslt = new XslTransform(); 
Evidence evidence = XmlSecureResolver.CreateEvidenceForUrl(style sheetURL); 
xslt.Load(xslNav,resolver,evidence);
XSLT スタイル シートが外部ソースにある場合。The XSLT style sheet comes from an outside source. ソースの出所は不明。The origin of the source is not known. 証拠を null に設定します。Set evidence to null. スクリプト ブロックは処理されません。XSLT document() 関数はサポートされません。特権を持つ拡張オブジェクトは許可されません。Script blocks are not processed, the XSLT document() function is not supported, and privileged extension objects are disallowed.

また、パラメーターをに設定することもでき resolver null ます。Additionally, you can also set the resolver parameter to null. これにより xsl:importxsl:include 要素と要素が処理されなくなります。This ensures that xsl:import and xsl:include elements are not processed.
XSLT スタイル シートが外部ソースにある場合。The XSLT style sheet comes from an outside source. ソースの出所が不明であるが、スクリプトのサポートが必要。The origin of the source is not known, but you require script support. 呼び出し元の証拠を要求します。Request evidence from the caller. 呼び出し元の API は、証拠 (通常はクラス) を提供する手段を提供する必要があり Evidence ます。The API of the caller must provide a way to provide evidence, typically the Evidence class.

こちらもご覧ください

適用対象

Load(IXPathNavigable, XmlResolver, Evidence)

IXPathNavigable に格納されている XSLT スタイル シートを読み込みます。Loads the XSLT style sheet contained in the IXPathNavigable. このメソッドを使用すると、証拠を指定することによって、スタイル シートのアクセス許可を制限できます。This method allows you to limit the permissions of the style sheet by specifying evidence.

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 インターフェイスを実装するオブジェクトです。An object implementing the IXPathNavigable interface. .NET Framework では、これは XmlNode (通常は XmlDocument)、または XSLT スタイル シートを含んでいる XPathDocument になります。In the .NET Framework, this can be either an XmlNode (typically an XmlDocument), or an XPathDocument containing the XSLT style sheet.

resolver
XmlResolver

xsl:import 要素および xsl:include 要素で参照される任意のスタイル シートを読み込むために使用される XmlResolverThe XmlResolver used to load any style sheets referenced in xsl:import and xsl:include elements. これが null の場合は、外部リソースが解決されません。If this is null, external resources are not resolved.

XmlResolver メソッドが完了した後、Load がキャッシュされていません。The XmlResolver is not cached after the Load method completes.

evidence
Evidence

XSLT スタイル シート内のスクリプト ブロックに対して生成されたアセンブリに設定された EvidenceThe Evidence set on the assembly generated for the script block in the XSLT style sheet.

これが null の場合、スクリプト ブロックは処理されません。また、XSLT の document() 関数はサポートされず、特権拡張機能オブジェクトは許可されません。If this is null, script blocks are not processed, the XSLT document() function is not supported, and privileged extension objects are disallowed.

呼び出し元には、スクリプト アセンブリの証拠を提供するための ControlEvidence アクセス許可が必要です。The caller must have ControlEvidence permission in order to supply evidence for the script assembly. 信頼度の低い呼び出し元は、このパラメーターを null に設定できます。Semi-trusted callers can set this parameter to null.

例外

読み込まれたリソースが、有効なスタイル シートではありません。The loaded resource is not a valid style sheet.

参照されているスタイル シートには、提供された証拠で許可されていない機能が必要です。The referenced style sheet requires functionality that is not allowed by the evidence provided.

呼び出し元は証拠を提供しようとしましたが、ControlEvidence アクセス許可を持っていません。The caller tries to supply evidence and does not have ControlEvidence permission.

注釈

注意

XslTransformクラスは .NET Framework バージョン2.0 では廃止されています。The XslTransform class is obsolete in the .NET Framework version 2.0. クラスは、 XslCompiledTransform 新しい XSLT プロセッサです。The XslCompiledTransform class is the new XSLT processor. 詳細については、「 XslCompiledTransform クラスの使用 」および「 XslTransform クラスからの移行」を参照してください。For more information, see Using the XslCompiledTransform Class and Migrating From the XslTransform Class.

XslTransform では、XSLT 1.0 構文がサポートされています。XslTransform supports the XSLT 1.0 syntax. XSLT スタイルシートには、名前空間の宣言が含まれている必要があり xmlns:xsl= http://www.w3.org/1999/XSL/Transform ます。The XSLT style sheet must include the namespace declaration xmlns:xsl= http://www.w3.org/1999/XSL/Transform.

証拠を提供するには、さまざまな方法があります。There are different ways to provide evidence. 次の表は、一般的なユーザーシナリオに対して提供する証拠の種類を示しています。The following table describes what type of evidence to provide for common user scenarios.

シナリオScenario 提供する証拠の種類Type of evidence to provide
XSLT スタイルシートは、自己完結型であるか、信頼できるコードベースから取得されます。The XSLT style sheet is self-contained or comes from a code base that you trust. アセンブリからの証拠を使用します。Use the evidence from your assembly.

XsltTransform xslt = new XslTransform(); 
xslt.Load(style sheet, resolver, this.GetType().Assembly.Evidence);
XSLT スタイル シートが外部ソースにある場合。The XSLT style sheet comes from an outside source. ソースの出所がわかっており、検証可能な URL があります。The origin of the source is known, and there is a verifiable URL. URL を使用して証拠を作成します。Create evidence using the URL.

XsltTransform xslt = new XslTransform(); 
Evidence evidence = XmlSecureResolver.CreateEvidenceForUrl(style sheetURL); 
xslt.Load(style sheet,resolver,evidence);
XSLT スタイル シートが外部ソースにある場合。The XSLT style sheet comes from an outside source. ソースの出所は不明。The origin of the source is not known. 証拠を null に設定します。Set evidence to null. スクリプト ブロックは処理されません。XSLT document() 関数はサポートされません。特権を持つ拡張オブジェクトは許可されません。Script blocks are not processed, the XSLT document() function is not supported, and privileged extension objects are disallowed.

また、パラメーターをに設定することもでき resolver null ます。Additionally, you can also set the resolver parameter to null. これにより xsl:importxsl:include 要素と要素が処理されなくなります。This ensures that xsl:import and xsl:include elements are not processed.
XSLT スタイル シートが外部ソースにある場合。The XSLT style sheet comes from an outside source. ソースの出所が不明であるが、スクリプトのサポートが必要。The origin of the source is not known, but you require script support. 呼び出し元の証拠を要求します。Request evidence from the caller. 呼び出し元の API は、証拠 (通常はクラス) を提供する手段を提供する必要があり Evidence ます。The API of the caller must provide a way to provide evidence, typically the Evidence class.

こちらもご覧ください

適用対象

Load(XPathNavigator, XmlResolver)

注意事項

You should pass evidence to Load() method

XPathNavigator に格納されている XSLT スタイル シートを読み込みます。Loads the XSLT style sheet contained in the XPathNavigator.

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 オブジェクト。An XPathNavigator object that contains the XSLT style sheet.

resolver
XmlResolver

xsl:import 要素および xsl:include 要素で参照される任意のスタイル シートを読み込むために使用される XmlResolverThe XmlResolver used to load any style sheets referenced in xsl:import and xsl:include elements. これが null の場合は、外部リソースが解決されません。If this is null, external resources are not resolved.

XmlResolver メソッドが完了した後、Load がキャッシュされていません。The XmlResolver is not cached after the Load method completes.

属性

例外

現在のノードは、有効なスタイル シートに準拠していません。The current node does not conform to a valid style sheet.

スタイル シートに埋め込みスクリプトが含まれており、読み出し元に UnmanagedCode アクセス許可がありません。The style sheet contains embedded scripts, and the caller does not have UnmanagedCode permission.

注釈

注意

XslTransformクラスは .NET Framework バージョン2.0 では廃止されています。The XslTransform class is obsolete in the .NET Framework version 2.0. クラスは、 XslCompiledTransform 新しい XSLT プロセッサです。The XslCompiledTransform class is the new XSLT processor. 詳細については、「 XslCompiledTransform クラスの使用 」および「 XslTransform クラスからの移行」を参照してください。For more information, see Using the XslCompiledTransform Class and Migrating From the XslTransform Class.

XslTransform では、XSLT 1.0 構文がサポートされています。XslTransform supports the XSLT 1.0 syntax. XSLT スタイルシートには、名前空間の宣言が含まれている必要があり xmlns:xsl= http://www.w3.org/1999/XSL/Transform ます。The XSLT style sheet must include the namespace declaration xmlns:xsl= http://www.w3.org/1999/XSL/Transform.

スタイルシートは、の現在位置から読み込まれ XPathNavigator ます。The style sheet is loaded from the current position of the XPathNavigator. 読み込まれたドキュメントの一部をスタイルシートとして使用するには、スタイルシートの先頭に対応するノードに移動します。To use a portion of the loaded document as the style sheet, navigate to the node corresponding to the beginning of the style sheet. メソッドが返された後、は、 Load XPathNavigator (ノード上の) スタイルシートの先頭に配置され xsl:style sheet ます。After the Load method returns, the XPathNavigator is positioned at the beginning of the style sheet (on the xsl:style sheet node).

スタイルシートに埋め込みスクリプトが含まれている場合、スクリプトはアセンブリにコンパイルされます。If the style sheet contains embedded scripting, the script is compiled to an assembly. アセンブリには完全な信頼があります。The assembly has full trust. を使用して証拠を提供することをお勧めし Load(XPathNavigator, XmlResolver, Evidence) ます。The recommended practice is to provide evidence using the Load(XPathNavigator, XmlResolver, Evidence).

注意

呼び出し元にアクセス許可がない場合 UnmanagedCode 、埋め込みスクリプトはコンパイルされず、 SecurityException がスローされます。If the caller does not have UnmanagedCode permission, the embedded script is not compiled and a SecurityException is thrown. 詳細については、「SecurityPermission」および「SecurityPermissionFlag.UnmanagedCode」を参照してください。See SecurityPermission and SecurityPermissionFlag.UnmanagedCode for more information.

こちらもご覧ください

適用対象

Load(IXPathNavigable, XmlResolver)

注意事項

You should pass evidence to Load() method

IXPathNavigable に格納されている XSLT スタイル シートを読み込みます。Loads the XSLT style sheet contained in the IXPathNavigable.

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 インターフェイスを実装するオブジェクトです。An object implementing the IXPathNavigable interface. .NET Framework では、これは XmlNode (通常は XmlDocument)、または XSLT スタイル シートを含んでいる XPathDocument になります。In the .NET Framework, this can be either an XmlNode (typically an XmlDocument), or an XPathDocument containing the XSLT style sheet.

resolver
XmlResolver

xsl:import 要素および xsl:include 要素で参照される任意のスタイル シートを読み込むために使用される XmlResolverThe XmlResolver used to load any style sheets referenced in xsl:import and xsl:include elements. これが null の場合は、外部リソースが解決されません。If this is null, external resources are not resolved.

XmlResolver メソッドが完了した後、Load がキャッシュされていません。The XmlResolver is not cached after the Load method completes.

属性

例外

読み込まれたリソースが、有効なスタイル シートではありません。The loaded resource is not a valid style sheet.

スタイル シートに埋め込みスクリプトが含まれており、読み出し元に UnmanagedCode アクセス許可がありません。The style sheet contains embedded scripts, and the caller does not have UnmanagedCode permission.

注釈

注意

XslTransformクラスは .NET Framework バージョン2.0 では廃止されています。The XslTransform class is obsolete in the .NET Framework version 2.0. クラスは、 XslCompiledTransform 新しい XSLT プロセッサです。The XslCompiledTransform class is the new XSLT processor. 詳細については、「 XslCompiledTransform クラスの使用 」および「 XslTransform クラスからの移行」を参照してください。For more information, see Using the XslCompiledTransform Class and Migrating From the XslTransform Class.

XslTransform では、XSLT 1.0 構文がサポートされています。XslTransform supports the XSLT 1.0 syntax. XSLT スタイルシートには、名前空間の宣言が含まれている必要があり xmlns:xsl= http://www.w3.org/1999/XSL/Transform ます。The XSLT style sheet must include the namespace declaration xmlns:xsl= http://www.w3.org/1999/XSL/Transform.

スタイルシートに埋め込みスクリプトが含まれている場合、スクリプトはアセンブリにコンパイルされます。If the style sheet contains embedded scripting, the script is compiled to an assembly. アセンブリには完全な信頼があります。The assembly has full trust. メソッドを使用して証拠を提供することをお勧めし Load(IXPathNavigable, XmlResolver, Evidence) ます。The recommended practice is to provide evidence using the Load(IXPathNavigable, XmlResolver, Evidence) method.

注意

呼び出し元にアクセス許可がない場合 UnmanagedCode 、埋め込みスクリプトはコンパイルされず、 SecurityException がスローされます。If the caller does not have UnmanagedCode permission, the embedded script is not compiled and a SecurityException is thrown. 詳細については、「SecurityPermission」および「SecurityPermissionFlag.UnmanagedCode」を参照してください。See SecurityPermission and SecurityPermissionFlag.UnmanagedCode for more information.

こちらもご覧ください

適用対象

Load(XmlReader, XmlResolver)

注意事項

You should pass evidence to Load() method

XmlReader に格納されている XSLT スタイル シートを読み込みます。Loads the XSLT style sheet contained in the XmlReader.

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 オブジェクト。An XmlReader object that contains the XSLT style sheet.

resolver
XmlResolver

xsl:import 要素および xsl:include 要素で参照される任意のスタイル シートを読み込むために使用される XmlResolverThe XmlResolver used to load any style sheets referenced in xsl:import and xsl:include elements. これが null の場合は、外部リソースが解決されません。If this is null, external resources are not resolved.

XmlResolver メソッドが完了した後、Load(XmlReader, XmlResolver) がキャッシュされていません。The XmlResolver is not cached after the Load(XmlReader, XmlResolver) method completes.

属性

例外

現在のノードは、有効なスタイル シートに準拠していません。The current node does not conform to a valid style sheet.

スタイル シートに埋め込みスクリプトが含まれており、読み出し元に UnmanagedCode アクセス許可がありません。The style sheet contains embedded scripts, and the caller does not have UnmanagedCode permission.

注釈

注意

XslTransformクラスは .NET Framework バージョン2.0 では廃止されています。The XslTransform class is obsolete in the .NET Framework version 2.0. クラスは、 XslCompiledTransform 新しい XSLT プロセッサです。The XslCompiledTransform class is the new XSLT processor. 詳細については、「 XslCompiledTransform クラスの使用 」および「 XslTransform クラスからの移行」を参照してください。For more information, see Using the XslCompiledTransform Class and Migrating From the XslTransform Class.

XslTransform では、XSLT 1.0 構文がサポートされています。XslTransform supports the XSLT 1.0 syntax. XSLT スタイルシートには、名前空間の宣言が含まれている必要があり xmlns:xsl= http://www.w3.org/1999/XSL/Transform ます。The XSLT style sheet must include the namespace declaration xmlns:xsl= http://www.w3.org/1999/XSL/Transform.

このメソッドは、要素および要素で参照されているスタイルシートを含め、XSLT スタイルシートを読み込み xsl:include xsl:import ます。This method loads the XSLT style sheet, including any style sheets referenced in xsl:include and xsl:import elements. スタイルシートは、の現在のノードから XmlReader すべての子を通じて読み込まれます。The style sheet loads from the current node of the XmlReader through all its children. これにより、ドキュメントの一部をスタイルシートとして使用できるようになります。This enables you to use a portion of a document as the style sheet.

メソッドが返された後、は LoadXmlReader スタイルシートの末尾の次のノードに配置されます。After the Load method returns, the XmlReader is positioned on the next node after the end of the style sheet. ドキュメントの末尾に到達すると、XmlReader はファイルの末尾 (EOF) に位置します。If the end of the document is reached, the XmlReader is positioned at the end of file (EOF).

スタイルシートにエンティティが含まれている場合は、エンティティを解決できるを指定する必要があり XmlReader XmlReader.CanResolveEntity ます (を返し true ます)。If the style sheet contains entities, you should specify an XmlReader that can resolve entities (XmlReader.CanResolveEntity returns true). この場合、を XmlValidatingReader 使用できます。In this case, an XmlValidatingReader can be used.

スタイルシートに埋め込みスクリプトが含まれている場合、スクリプトはアセンブリにコンパイルされます。If the style sheet contains embedded scripting, the script is compiled to an assembly. アセンブリには完全な信頼があります。The assembly has full trust. メソッドを使用して証拠を提供することをお勧めし Load(XmlReader, XmlResolver, Evidence) ます。The recommended practice is to provide evidence using the Load(XmlReader, XmlResolver, Evidence) method.

注意

呼び出し元にアクセス許可がない場合 UnmanagedCode 、埋め込みスクリプトはコンパイルされず、 SecurityException がスローされます。If the caller does not have UnmanagedCode permission, the embedded script is not compiled and a SecurityException is thrown. 詳細については、「SecurityPermission」および「SecurityPermissionFlag.UnmanagedCode」を参照してください。See SecurityPermission and SecurityPermissionFlag.UnmanagedCode for more information.

こちらもご覧ください

適用対象

Load(XmlReader, XmlResolver, Evidence)

XmlReader に格納されている XSLT スタイル シートを読み込みます。Loads the XSLT style sheet contained in the XmlReader. このメソッドを使用すると、証拠を指定することによって、スタイル シートのアクセス許可を制限できます。This method allows you to limit the permissions of the style sheet by specifying evidence.

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 オブジェクト。An XmlReader object containing the style sheet to load.

resolver
XmlResolver

xsl:import 要素および xsl:include 要素で参照される任意のスタイル シートを読み込むために使用される XmlResolverThe XmlResolver used to load any style sheets referenced in xsl:import and xsl:include elements. これが null の場合は、外部リソースが解決されません。If this is null, external resources are not resolved.

XmlResolver メソッドが完了した後、Load がキャッシュされていません。The XmlResolver is not cached after the Load method completes.

evidence
Evidence

XSLT スタイル シート内のスクリプト ブロックに対して生成されたアセンブリに設定された EvidenceThe Evidence set on the assembly generated for the script block in the XSLT style sheet.

これが null の場合、スクリプト ブロックは処理されません。また、XSLT の document() 関数はサポートされず、特権拡張機能オブジェクトは許可されません。If this is null, script blocks are not processed, the XSLT document() function is not supported, and privileged extension objects are disallowed.

呼び出し元には、スクリプト アセンブリの証拠を提供するための ControlEvidence アクセス許可が必要です。The caller must have ControlEvidence permission in order to supply evidence for the script assembly. 信頼度の低い呼び出し元は、このパラメーターを null に設定できます。Semi-trusted callers can set this parameter to null.

例外

現在のノードは、有効なスタイル シートに準拠していません。The current node does not conform to a valid style sheet.

参照されているスタイル シートには、提供された証拠で許可されていない機能が必要です。The referenced style sheet requires functionality that is not allowed by the evidence provided.

呼び出し元は証拠を提供しようとしましたが、ControlEvidence アクセス許可を持っていません。The caller tries to supply evidence and does not have ControlEvidence permission.

次の例では、XSLT 変換を実行します。ここで、 xsltReader はスタイルシートを含んでおり、は、 XmlReader secureURL を作成するために使用できる信頼された URL です EvidenceThe following example performs an XSLT transformation where xsltReader is an XmlReader containing a style sheet and secureURL is a trusted URL that can be used to create Evidence. XmlSecureResolver.CreateEvidenceForUrlスタイルシートに適用されるを作成するには、メソッドを使用し Evidence ます。The XmlSecureResolver.CreateEvidenceForUrl method is used to create Evidence which is applied to the style sheet.

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 では廃止されています。The XslTransform class is obsolete in the .NET Framework version 2.0. クラスは、 XslCompiledTransform 新しい XSLT プロセッサです。The XslCompiledTransform class is the new XSLT processor. 詳細については、「 XslCompiledTransform クラスの使用 」および「 XslTransform クラスからの移行」を参照してください。For more information, see Using the XslCompiledTransform Class and Migrating From the XslTransform Class.

XslTransform では、XSLT 1.0 構文がサポートされています。XslTransform supports the XSLT 1.0 syntax. XSLT スタイルシートには、名前空間の宣言が含まれている必要があり xmlns:xsl= http://www.w3.org/1999/XSL/Transform ます。The XSLT style sheet must include the namespace declaration xmlns:xsl= http://www.w3.org/1999/XSL/Transform.

このメソッドは、要素および要素で参照されているスタイルシートを含め、XSLT スタイルシートを読み込み xsl:include xsl:import ます。This method loads the XSLT style sheet, including any style sheets referenced in xsl:include and xsl:import elements. スタイルシートは、の現在のノードから XmlReader すべての子を通じて読み込まれます。The style sheet loads from the current node of the XmlReader through all its children. これにより、ドキュメントの一部をスタイルシートとして使用できるようになります。This enables you to use a portion of a document as the style sheet.

メソッドが返された後、は LoadXmlReader スタイルシートの末尾の次のノードに配置されます。After the Load method returns, the XmlReader is positioned on the next node after the end of the style sheet. ドキュメントの末尾に到達すると、XmlReader はファイルの末尾 (EOF) に位置します。If the end of the document is reached, the XmlReader is positioned at the end of file (EOF).

スタイルシートにエンティティが含まれている場合は、エンティティを解決できるを指定する必要があり XmlReader XmlReader.CanResolveEntity ます (を返し true ます)。If the style sheet contains entities, you should specify an XmlReader that can resolve entities (XmlReader.CanResolveEntity returns true). この場合、を XmlValidatingReader 使用できます。In this case, an XmlValidatingReader can be used.

証拠を提供するには、さまざまな方法があります。There are different ways to provide evidence. 次の表は、一般的なユーザーシナリオに対して提供する証拠の種類を示しています。The following table describes what type of evidence to provide for common user scenarios.

シナリオScenario 提供する証拠の種類Type of evidence to provide
XSLT スタイルシートは、自己完結型であるか、信頼できるコードベースから取得されます。The XSLT style sheet is self-contained or comes from a code base that you trust. アセンブリからの証拠を使用します。Use the evidence from your assembly.

XsltTransform xslt = new XslTransform(); 
xslt.Load(xslReader, resolver, this.GetType().Assembly.Evidence);
XSLT スタイル シートが外部ソースにある場合。The XSLT style sheet comes from an outside source. ソースの出所がわかっており、検証可能な URL があります。The origin of the source is known, and there is a verifiable URL. URL を使用して証拠を作成します。Create evidence using the URL.

XsltTransform xslt = new XslTransform();
 Evidence evidence = XmlSecureResolver.CreateEvidenceForUrl(stylesheetURL); 
xslt.Load(xslReader,resolver,evidence);
XSLT スタイル シートが外部ソースにある場合。The XSLT style sheet comes from an outside source. ソースの出所は不明。The origin of the source is not known. 証拠を null に設定します。Set evidence to null. スクリプト ブロックは処理されません。XSLT document() 関数はサポートされません。特権を持つ拡張オブジェクトは許可されません。Script blocks are not processed, the XSLT document() function is not supported, and privileged extension objects are disallowed.

また、パラメーターをに設定することもでき resolver null ます。Additionally, you can also set the resolver parameter to null. これにより xsl:importxsl:include 要素と要素が処理されなくなります。This ensures that xsl:import and xsl:include elements are not processed.
XSLT スタイル シートが外部ソースにある場合。The XSLT style sheet comes from an outside source. ソースの出所が不明であるが、スクリプトのサポートが必要。The origin of the source is not known, but you require script support. 呼び出し元の証拠を要求します。Request evidence from the caller. 呼び出し元の API は、証拠 (通常はクラス) を提供する手段を提供する必要があり Evidence ます。The API of the caller must provide a way to provide evidence, typically the Evidence class.

こちらもご覧ください

適用対象

Load(XPathNavigator)

注意事項

You should pass evidence to Load() method

XPathNavigator に格納されている XSLT スタイル シートを読み込みます。Loads the XSLT style sheet contained in the XPathNavigator.

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 オブジェクト。An XPathNavigator object that contains the XSLT style sheet.

属性

例外

現在のノードは、有効なスタイル シートに準拠していません。The current node does not conform to a valid style sheet.

スタイル シートに埋め込みスクリプトが含まれており、読み出し元に UnmanagedCode アクセス許可がありません。The style sheet contains embedded scripts, and the caller does not have UnmanagedCode permission.

注釈

注意

XslTransformクラスは .NET Framework バージョン2.0 では廃止されています。The XslTransform class is obsolete in the .NET Framework version 2.0. クラスは、 XslCompiledTransform 新しい XSLT プロセッサです。The XslCompiledTransform class is the new XSLT processor. 詳細については、「 XslCompiledTransform クラスの使用 」および「 XslTransform クラスからの移行」を参照してください。For more information, see Using the XslCompiledTransform Class and Migrating From the XslTransform Class.

XslTransform では、XSLT 1.0 構文がサポートされています。XslTransform supports the XSLT 1.0 syntax. XSLT スタイルシートには、名前空間の宣言が含まれている必要があり xmlns:xsl= http://www.w3.org/1999/XSL/Transform ます。The XSLT style sheet must include the namespace declaration xmlns:xsl= http://www.w3.org/1999/XSL/Transform.

このメソッドは、要素および要素で参照されているスタイルシートを含め、XSLT スタイルシートを読み込み xsl:include xsl:import ます。This method loads the XSLT style sheet, including any style sheets referenced in xsl:include and xsl:import elements. 外部リソースは、ユーザー資格情報がないを使用して解決され XmlUrlResolver ます。External resources are resolved using an XmlUrlResolver with no user credentials. スタイルシートが、認証を必要とするネットワークリソースに配置されている場合は、を XmlResolver 引数の1つとして受け取るオーバーロードを使用し、 XmlResolver 必要な資格情報を使用してを指定します。If the style sheet(s) are located on a network resource which requires authentication, use the overload that takes an XmlResolver as one of its arguments and specify an XmlResolver with the necessary credentials.

スタイルシートは、の現在位置から読み込まれ XPathNavigator ます。The style sheet is loaded from the current position of the XPathNavigator. 読み込まれたドキュメントの一部だけをスタイルシートとして使用するには、スタイルシートの先頭に対応するノードに移動します。To use just a portion of the loaded document as the style sheet, navigate to the node corresponding to the beginning of the style sheet. メソッドが返された後、は、 Load XPathNavigator (ノード上の) スタイルシートの先頭に配置され xsl:style sheet ます。After the Load method returns, the XPathNavigator is positioned at the beginning of the style sheet (on the xsl:style sheet node).

スタイルシートに埋め込みスクリプトが含まれている場合、スクリプトはアセンブリにコンパイルされます。If the style sheet contains embedded scripting, the script is compiled to an assembly. アセンブリには完全な信頼があります。The assembly has full trust. メソッドを使用して証拠を提供することをお勧めし Load(XPathNavigator, XmlResolver, Evidence) ます。The recommended practice is to provide evidence using the Load(XPathNavigator, XmlResolver, Evidence) method.

注意

呼び出し元にアクセス許可がない場合 UnmanagedCode 、埋め込みスクリプトはコンパイルされず、 SecurityException がスローされます。If the caller does not have UnmanagedCode permission, the embedded script is not compiled and a SecurityException is thrown. 詳細については、「SecurityPermission」および「SecurityPermissionFlag.UnmanagedCode」を参照してください。See SecurityPermission and SecurityPermissionFlag.UnmanagedCode for more information.

適用対象

Load(IXPathNavigable)

注意事項

You should pass evidence to Load() method

IXPathNavigable に格納されている XSLT スタイル シートを読み込みます。Loads the XSLT style sheet contained in the IXPathNavigable.

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 インターフェイスを実装するオブジェクトです。An object implementing the IXPathNavigable interface. .NET Framework では、これは XmlNode (通常は XmlDocument)、または XSLT スタイル シートを含んでいる XPathDocument になります。In the .NET Framework, this can be either an XmlNode (typically an XmlDocument), or an XPathDocument containing the XSLT style sheet.

属性

例外

読み込まれたリソースが、有効なスタイル シートではありません。The loaded resource is not a valid style sheet.

スタイル シートに埋め込みスクリプトが含まれており、読み出し元に UnmanagedCode アクセス許可がありません。The style sheet contains embedded scripts, and the caller does not have UnmanagedCode permission.

注釈

注意

XslTransformクラスは .NET Framework バージョン2.0 では廃止されています。The XslTransform class is obsolete in the .NET Framework version 2.0. クラスは、 XslCompiledTransform 新しい XSLT プロセッサです。The XslCompiledTransform class is the new XSLT processor. 詳細については、「 XslCompiledTransform クラスの使用 」および「 XslTransform クラスからの移行」を参照してください。For more information, see Using the XslCompiledTransform Class and Migrating From the XslTransform Class.

XslTransform では、XSLT 1.0 構文がサポートされています。XslTransform supports the XSLT 1.0 syntax. XSLT スタイルシートには、名前空間の宣言が含まれている必要があり xmlns:xsl= http://www.w3.org/1999/XSL/Transform ます。The XSLT style sheet must include the namespace declaration xmlns:xsl= http://www.w3.org/1999/XSL/Transform.

このメソッドは、要素および要素で参照されているスタイルシートを含め、XSLT スタイルシートを読み込み xsl:include xsl:import ます。This method loads the XSLT style sheet, including any style sheets referenced in xsl:include and xsl:import elements. 外部リソースは、ユーザー資格情報がないを使用して解決され XmlUrlResolver ます。External resources are resolved using an XmlUrlResolver with no user credentials. スタイルシートが、認証を必要とするネットワークリソースに配置されている場合は、を XmlResolver 引数の1つとして受け取るオーバーロードを使用し、 XmlResolver 必要な資格情報を使用してを指定します。If the style sheet(s) are located on a network resource which requires authentication, use the overload that takes an XmlResolver as one of its arguments and specify an XmlResolver with the necessary credentials.

スタイルシートに埋め込みスクリプトが含まれている場合、スクリプトはアセンブリにコンパイルされます。If the style sheet contains embedded scripting, the script is compiled to an assembly. アセンブリには完全な信頼があります。The assembly has full trust. メソッドを使用して証拠を提供することをお勧めし Load(IXPathNavigable, XmlResolver, Evidence) ます。The recommended practice is to provide evidence using the Load(IXPathNavigable, XmlResolver, Evidence) method.

注意

呼び出し元にアクセス許可がない場合 UnmanagedCode 、埋め込みスクリプトはコンパイルされず、 SecurityException がスローされます。If the caller does not have UnmanagedCode permission, the embedded script is not compiled and a SecurityException is thrown. 詳細については、「SecurityPermission」および「SecurityPermissionFlag.UnmanagedCode」を参照してください。See SecurityPermission and SecurityPermissionFlag.UnmanagedCode for more information.

適用対象

Load(XmlReader)

注意事項

You should pass evidence to Load() method

XmlReader に格納されている XSLT スタイル シートを読み込みます。Loads the XSLT style sheet contained in the XmlReader.

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 オブジェクト。An XmlReader object that contains the XSLT style sheet.

属性

例外

現在のノードは、有効なスタイル シートに準拠していません。The current node does not conform to a valid style sheet.

スタイル シートに埋め込みスクリプトが含まれており、読み出し元に UnmanagedCode アクセス許可がありません。The style sheet contains embedded scripts, and the caller does not have UnmanagedCode permission.

次の例では、すべての書籍をタイトルで並べ替えて XML ファイルを変換します。The following example transforms an XML file sorting all the books by title.

#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

この例では、入力として次のデータファイルを使用します。The example uses the following data files as input.

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 では廃止されています。The XslTransform class is obsolete in the .NET Framework version 2.0. クラスは、 XslCompiledTransform 新しい XSLT プロセッサです。The XslCompiledTransform class is the new XSLT processor. 詳細については、「 XslCompiledTransform クラスの使用 」および「 XslTransform クラスからの移行」を参照してください。For more information, see Using the XslCompiledTransform Class and Migrating From the XslTransform Class.

XslTransform では、XSLT 1.0 構文がサポートされています。XslTransform supports the XSLT 1.0 syntax. XSLT スタイルシートには、名前空間の宣言が含まれている必要があり xmlns:xsl= http://www.w3.org/1999/XSL/Transform ます。The XSLT style sheet must include the namespace declaration xmlns:xsl= http://www.w3.org/1999/XSL/Transform.

このメソッドは、要素および要素で参照されているスタイルシートを含め、XSLT スタイルシートを読み込み xsl:include xsl:import ます。This method loads the XSLT style sheet, including any style sheets referenced in xsl:include and xsl:import elements. 外部リソースは、ユーザー資格情報がないを使用して解決され XmlUrlResolver ます。External resources are resolved using an XmlUrlResolver with no user credentials. スタイルシートが、認証を必要とするネットワークリソースに配置されている場合は、を XmlResolver 引数の1つとして受け取るオーバーロードを使用し、 XmlResolver 必要な資格情報を使用してを指定します。If the style sheet(s) are located on a network resource which requires authentication, use the overload that takes an XmlResolver as one of its arguments and specify an XmlResolver with the necessary credentials.

スタイルシートは、の現在のノードから XmlReader すべての子を通じて読み込まれます。The style sheet loads from the current node of the XmlReader through all its children. これにより、ドキュメントの一部をスタイルシートとして使用できるようになります。This enables you to use a portion of a document as the style sheet. メソッドが返された後、は LoadXmlReader スタイルシートの末尾の次のノードに配置されます。After the Load method returns, the XmlReader is positioned on the next node after the end of the style sheet. ドキュメントの末尾に到達すると、XmlReader はファイルの末尾 (EOF) に位置します。If the end of the document is reached, the XmlReader is positioned at the end of file (EOF).

スタイルシートにエンティティが含まれている場合は、エンティティを解決できるを指定する必要があり XmlReader XmlReader.CanResolveEntity ます (を返し true ます)。If the style sheet contains entities, you should specify an XmlReader that can resolve entities (XmlReader.CanResolveEntity returns true). この場合、を XmlValidatingReader 使用できます。In this case, an XmlValidatingReader can be used.

スタイルシートに埋め込みスクリプトが含まれている場合、スクリプトはアセンブリにコンパイルされます。If the style sheet contains embedded scripting, the script is compiled to an assembly. アセンブリには完全な信頼があります。The assembly has full trust. メソッドを使用して証拠を提供することをお勧めし Load(XmlReader, XmlResolver, Evidence) ます。The recommended practice is to provide evidence using the Load(XmlReader, XmlResolver, Evidence) method.

注意

呼び出し元にアクセス許可がない場合 UnmanagedCode 、埋め込みスクリプトはコンパイルされず、 SecurityException がスローされます。If the caller does not have UnmanagedCode permission, the embedded script is not compiled and a SecurityException is thrown. 詳細については、「SecurityPermission」および「SecurityPermissionFlag.UnmanagedCode」を参照してください。See SecurityPermission and SecurityPermissionFlag.UnmanagedCode for more information.

適用対象

Load(String)

URL で指定された XSLT スタイル シートを読み込みます。Loads the XSLT style sheet specified by a URL.

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。The URL that specifies the XSLT style sheet to load.

例外

読み込まれたリソースが、有効なスタイル シートではありません。The loaded resource is not a valid style sheet.

スタイル シートに埋め込みスクリプトが含まれており、読み出し元に UnmanagedCode アクセス許可がありません。The style sheet contains embedded script, and the caller does not have UnmanagedCode permission.

次の例では、XML ドキュメントを HTML ドキュメントに変換します。The following example transforms an XML document into an HTML document. テーブル内の各書籍の ISBN、タイトル、価格が表示されます。It displays the ISBN, title, and price for each book in a table.

#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

このサンプルは、次の 2 つの入力ファイルを使用します。The sample uses the following two input files.

books.xml

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

output.xsl

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

注釈

注意

XslTransformクラスは .NET Framework バージョン2.0 では廃止されています。The XslTransform class is obsolete in the .NET Framework version 2.0. クラスは、 XslCompiledTransform 新しい XSLT プロセッサです。The XslCompiledTransform class is the new XSLT processor. 詳細については、「 XslCompiledTransform クラスの使用 」および「 XslTransform クラスからの移行」を参照してください。For more information, see Using the XslCompiledTransform Class and Migrating From the XslTransform Class.

XslTransform では、XSLT 1.0 構文がサポートされています。XslTransform supports the XSLT 1.0 syntax. XSLT スタイルシートには、名前空間の宣言が含まれている必要があり xmlns:xsl="http://www.w3.org/1999/XSL/Transform" ます。The XSLT style sheet must include the namespace declaration xmlns:xsl="http://www.w3.org/1999/XSL/Transform".

このメソッドは、要素および要素で参照されているスタイルシートを含め、XSLT スタイルシートを読み込み xsl:include xsl:import ます。This method loads the XSLT style sheet, including any style sheets referenced in xsl:include and xsl:import elements. 外部リソースは、ユーザー資格情報がないを使用して解決され XmlUrlResolver ます。External resources are resolved using an XmlUrlResolver with no user credentials. スタイルシートが、認証を必要とするネットワークリソースに配置されている場合は、を XmlResolver 引数の1つとして受け取るオーバーロードを使用し、 XmlResolver 必要な資格情報を使用してを指定します。If the style sheet(s) are located on a network resource which requires authentication, use the overload that takes an XmlResolver as one of its arguments and specify an XmlResolver with the necessary credentials.

スタイルシートに埋め込みスクリプトが含まれている場合、スクリプトはアセンブリにコンパイルされます。If the style sheet contains embedded scripting, the script is compiled to an assembly. スタイルシートの URI は、アセンブリに適用される証拠の作成に使用されます。The URI of the style sheet is used to create evidence, which is applied to the assembly.

注意

呼び出し元にアクセス許可がない場合 UnmanagedCode 、埋め込みスクリプトはコンパイルされず、 SecurityException がスローされます。If the caller does not have UnmanagedCode permission, the embedded script is not compiled and a SecurityException is thrown. 詳細については、「SecurityPermission」および「SecurityPermissionFlag.UnmanagedCode」を参照してください。See SecurityPermission and SecurityPermissionFlag.UnmanagedCode for more information.

適用対象

Load(String, XmlResolver)

URL で指定された XSLT スタイル シートを読み込みます。Loads the XSLT style sheet specified by a URL.

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。The URL that specifies the XSLT style sheet to load.

resolver
XmlResolver

スタイル シート、および xsl:import 要素と xsl:include 要素で参照される任意のスタイル シートの読み込みに使用する XmlResolverThe XmlResolver to use to load the style sheet and any style sheet(s) referenced in xsl:import and xsl:include elements.

これが null の場合は、ユーザー資格情報を持たない既定の XmlUrlResolver がスタイル シートを開くときに使用されます。If this is null, a default XmlUrlResolver with no user credentials is used to open the style sheet. 既定の XmlUrlResolver は、スタイル シート内の外部リソースの解決には使用されないため、xsl:import 要素と xsl:include 要素は解決されません。The default XmlUrlResolver is not used to resolve any external resources in the style sheet, so xsl:import and xsl:include elements are not resolved.

XmlResolver メソッドが完了した後、Load(String, XmlResolver) がキャッシュされていません。The XmlResolver is not cached after the Load(String, XmlResolver) method completes.

例外

読み込まれたリソースが、有効なスタイル シートではありません。The loaded resource is not a valid style sheet.

スタイル シートに埋め込みスクリプトが含まれており、読み出し元に UnmanagedCode アクセス許可がありません。The style sheet contains embedded script, and the caller does not have UnmanagedCode permission.

次の例では、XML ドキュメントを HTML ドキュメントに変換します。The following example transforms an XML document into an HTML document. この例では、 xsl:include 別のスタイルシートを参照している要素を含む XSLT スタイルシートを読み込みます。The example loads an XSLT style sheet which contains an xsl:include element referencing another style sheet. は、 XmlUrlResolver Load 含まれているスタイルシートのネットワークリソースにアクセスするために必要な資格情報を設定するメソッドに渡されます。An XmlUrlResolver is passed to the Load method which sets the credentials necessary to access the network resource for the included style sheet.

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

この例では、入力として次のデータファイルを使用します。The example uses the following data files as input.

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 では廃止されています。The XslTransform class is obsolete in the .NET Framework version 2.0. クラスは、 XslCompiledTransform 新しい XSLT プロセッサです。The XslCompiledTransform class is the new XSLT processor. 詳細については、「 XslCompiledTransform クラスの使用 」および「 XslTransform クラスからの移行」を参照してください。For more information, see Using the XslCompiledTransform Class and Migrating From the XslTransform Class.

XslTransform では、XSLT 1.0 構文がサポートされています。XslTransform supports the XSLT 1.0 syntax. XSLT スタイルシートには、名前空間の宣言が含まれている必要があり xmlns:xsl= http://www.w3.org/1999/XSL/Transform ます。The XSLT style sheet must include the namespace declaration xmlns:xsl= http://www.w3.org/1999/XSL/Transform.

スタイルシートに埋め込みスクリプトが含まれている場合、スクリプトはアセンブリにコンパイルされます。If the style sheet contains embedded scripting, the script is compiled to an assembly. スタイルシートの URI は、アセンブリに適用される証拠の作成に使用されます。The URI of the style sheet is used to create evidence, which is applied to the assembly.

注意

呼び出し元にアクセス許可がない場合 UnmanagedCode 、埋め込みスクリプトはコンパイルされず、 SecurityException がスローされます。If the caller does not have UnmanagedCode permission, the embedded script is not compiled and a SecurityException is thrown. 詳細については、「SecurityPermission」および「SecurityPermissionFlag.UnmanagedCode」を参照してください。See SecurityPermission and SecurityPermissionFlag.UnmanagedCode for more information.

こちらもご覧ください

適用対象