次の方法で共有


XslTransform.Load メソッド (IXPathNavigable, XmlResolver, Evidence)

メモ : この名前空間、クラス、およびメンバは、.NET Framework Version 1.1 だけでサポートされています。

IXPathNavigable に格納されている XSLT スタイルシートを読み込みます。このメソッドを使用すると、証拠を指定することによって、スタイルシートのアクセス許可を制限できます。

Overloads Public Sub Load( _
   ByVal stylesheet As IXPathNavigable, _   ByVal resolver As XmlResolver, _   ByVal evidence As Evidence _)
[C#]
public void Load(IXPathNavigablestylesheet,XmlResolverresolver,Evidenceevidence);
[C++]
public: void Load(IXPathNavigable* stylesheet,XmlResolver* resolver,Evidence* evidence);
[JScript]
public function Load(
   stylesheet : IXPathNavigable,resolver : XmlResolver,evidence : Evidence);

パラメータ

  • stylesheet
    IXPathNavigable インターフェイスを実装するオブジェクト。.NET Framework では、これは XmlNode (通常は XmlDocument)、または XSLT スタイル シートを含んでいる XPathDocument になります。

  • resolver
    xsl:import 要素および xsl:include 要素で参照される任意のスタイル シートを読み込むために使用される XmlResolver 。これが null 参照 (Visual Basic では Nothing) の場合は、外部リソースが解決されません。

    Load メソッドが完了した後、 XmlResolver がキャッシュされていません。

  • evidence
    XSLT スタイルシート内のスクリプト ブロックに対して生成されたアセンブリに設定された System.Security.Policy.Evidence

    これが null 参照 (Visual Basic では Nothing) の場合、スクリプト ブロックは処理されません。また、XSLT の document() 関数はサポートされず、特権拡張機能オブジェクトは許可されません。

    呼び出し元には、スクリプト アセンブリの証拠を提供するための ControlEvidence アクセス許可が必要です。信頼度の低い呼び出し元は、このパラメータを null 参照 (Nothing) に設定できます。

例外

例外の種類 条件
XsltCompileException 読み込まれたリソースが、有効なスタイル シートではありません。
SecurityException 参照されるスタイルシートは、提供された証拠で許可されない機能を要求します。

呼び出し元は証拠を提供しようとしましたが、 ControlEvidence アクセス許可を持っていません。

解説

XslTransform は、XSLT 1.0 構文をサポートしています。XSLT スタイル シートには、名前空間宣言 xmlns:xsl= http://www.w3.org/1999/XSL/Transform を含める必要があります。

証拠を提供するにはさまざまな方法があります。一般的なユーザー シナリオに対してどの種類の証拠を提供するかを次の表に示します。

シナリオ 提供する証拠の種類
XSLT スタイルシートは、単体で使用できるものか、信頼するコード ベースのものです。 アセンブリからの証拠を使用します。

XsltTransform xslt = new XslTransform();

xslt.Load(stylesheet, resolver, this.GetType().Assembly.Evidence);

XSLT スタイルシートは外部ソースのものです。ソースの起点は既知であり、検証可能な URL があります。 URL を使用して証拠を作成します。

XsltTransform xslt = new XslTransform();

Evidence evidence = XmlSecureResolver.CreateEvidenceForUrl(stylesheetURL);

xslt.Load(stylesheet,resolver,evidence);

XSLT スタイルシートは外部ソースのものです。ソースの起点が既知ではありません。 証拠を null 参照 (Visual Basic では Nothing) に設定します。スクリプト ブロックは処理されません。また、XSLT の document() 関数はサポートされず、特権拡張機能オブジェクトは許可されません。

さらに、 resolver パラメータを null 参照 (Nothing) に設定することもできます。これによって、 xsl:import 要素および xsl:include 要素が処理されないことが保証されます。

XSLT スタイルシートは外部ソースのものです。ソースの起点は既知ではありませんが、スクリプト サポートは必要です。 読み出し元から証拠を要求します。呼び出し元の API は、証拠、一般的には Evidence クラス、を提供する方法を提供する必要があります。

必要条件

プラットフォーム: Windows 98, Windows NT 4.0, Windows Millennium Edition, Windows 2000, Windows XP Home Edition, Windows XP Professional, Windows Server 2003 ファミリ

.NET Framework セキュリティ:

参照

XslTransform クラス | XslTransform メンバ | System.Xml.Xsl 名前空間 | XslTransform.Load オーバーロードの一覧 | XmlResolver.Credentials | NetworkCredential | CredentialCache | 証拠 | System.Security.SecurityZone | XmlSecureResolver | XmlSecureResolver.CreateEvidenceForUrl