XslTransform.Load Methode

Definition

Lädt das XSLT-Stylesheet einschließlich aller Stylesheets, auf die in xsl:include-Elementen und xsl:import-Elementen verwiesen wird.

Überlädt

Load(XPathNavigator, XmlResolver, Evidence)

Lädt das im XPathNavigator enthaltene XSLT-Stylesheet. Mit dieser Methode können Sie die Berechtigungen für das Stylesheet einschränken, indem Sie Beweise angeben.

Load(IXPathNavigable, XmlResolver, Evidence)

Lädt das im IXPathNavigable enthaltene XSLT-Stylesheet. Mit dieser Methode können Sie die Berechtigungen für das Stylesheet einschränken, indem Sie Beweise angeben.

Load(XPathNavigator, XmlResolver)
Veraltet.

Lädt das im XPathNavigator enthaltene XSLT-Stylesheet.

Load(IXPathNavigable, XmlResolver)
Veraltet.

Lädt das im IXPathNavigable enthaltene XSLT-Stylesheet.

Load(XmlReader, XmlResolver)
Veraltet.

Lädt das im XmlReader enthaltene XSLT-Stylesheet.

Load(XmlReader, XmlResolver, Evidence)

Lädt das im XmlReader enthaltene XSLT-Stylesheet. Mit dieser Methode können Sie die Berechtigungen für das Stylesheet einschränken, indem Sie Beweise angeben.

Load(XPathNavigator)
Veraltet.

Lädt das im XPathNavigator enthaltene XSLT-Stylesheet.

Load(IXPathNavigable)
Veraltet.

Lädt das im IXPathNavigable enthaltene XSLT-Stylesheet.

Load(XmlReader)
Veraltet.

Lädt das im XmlReader enthaltene XSLT-Stylesheet.

Load(String)

Lädt das durch eine URL angegebene XSLT-Stylesheet.

Load(String, XmlResolver)

Lädt das durch eine URL angegebene XSLT-Stylesheet.

Hinweise

Hinweis

Die XslTransform -Klasse ist in der .NET Framework Version 2.0 veraltet. Die XslCompiledTransform -Klasse ist der neue XSLT-Prozessor. Weitere Informationen finden Sie unter Verwenden der XslCompiledTransform-Klasse und Migrieren von der XslTransform-Klasse.

Load(XPathNavigator, XmlResolver, Evidence)

Lädt das im XPathNavigator enthaltene XSLT-Stylesheet. Mit dieser Methode können Sie die Berechtigungen für das Stylesheet einschränken, indem Sie Beweise angeben.

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)

Parameter

stylesheet
XPathNavigator

Ein XPathNavigator-Objekt, das das zu ladende Stylesheet enthält.

resolver
XmlResolver

Die , die XmlResolver zum Laden von Stylesheets verwendet wird, auf die in xsl:import - und xsl:include -Elementen verwiesen wird. Bei null werden externe Ressourcen nicht aufgelöst.

Der XmlResolver wird nach Abschluss der Load-Methode nicht zwischengespeichert.

evidence
Evidence

Der für die Assembly festgelegte Evidence, die für den Skriptblock im XSLT-Stylesheet generiert wurde.

Wenn dies ist null, werden Skriptblöcke nicht verarbeitet, die XSLT-Funktion document() wird nicht unterstützt, und privilegierte Erweiterungsobjekte sind nicht zulässig.

Der Aufrufer muss über die ControlEvidence-Berechtigung verfügen, um Beweise für die Skriptassembly bereitzustellen. Teilweise vertrauenswürdige Aufrufer können diesen Parameter auf null festlegen.

Ausnahmen

Der aktuelle Knoten entspricht keinem gültigen Stylesheet.

Für das Stylesheet, auf das verwiesen wird, ist eine Funktion erforderlich, die für den bereitgestellten Beweis nicht zulässig ist.

Der Aufrufer versucht, Beweise zur Verfügung zu stellen, und verfügt nicht über die ControlEvidence-Berechtigung.

Beispiele

Im folgenden Beispiel wird eine XSLT-Transformation mithilfe eines Stylesheets aus einer externen Quelle ausgeführt. Da das Stylesheet aus einer nicht vertrauenswürdigen Quelle stammt, werden die resolver Parameter und evidence auf nullfestgelegt.


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

Hinweise

Hinweis

Die XslTransform -Klasse ist in der .NET Framework Version 2.0 veraltet. Die XslCompiledTransform -Klasse ist der neue XSLT-Prozessor. Weitere Informationen finden Sie unter Verwenden der XslCompiledTransform-Klasse und Migrieren von der XslTransform-Klasse.

XslTransform unterstützt die XSLT 1.0-Syntax. Das XSLT-Stylesheet muss die Namespacedeklaration xmlns:xsl= http://www.w3.org/1999/XSL/Transformenthalten.

Das Stylesheet wird von der aktuellen Position des XPathNavigatorgeladen. Um einen Teil des geladenen Dokuments als Stylesheet zu verwenden, navigieren Sie zu dem Knoten, der dem Anfang des Stylesheets entspricht. Nachdem die Load -Methode zurückgegeben wurde, wird am XPathNavigator Anfang des Stylesheets (auf dem xsl:style sheet Knoten) positioniert.

Es gibt verschiedene Möglichkeiten, Beweise zu liefern. In der folgenden Tabelle wird beschrieben, welche Art von Beweisen für gängige Benutzerszenarien bereitgestellt werden soll.

Szenario Art der zu liefernden Beweise
Das XSLT-Stylesheet ist eigenständig oder stammt aus einer Codebasis, der Sie vertrauen. Verwenden Sie die Beweise aus Ihrer Assembly.

XsltTransform xslt = new XslTransform(); 
xslt.Load(xslNav, resolver, this.GetType().Assembly.Evidence);
Das XSLT-Stylesheet stammt aus einer externen Quelle. Der Ursprung der Quelle ist bekannt, und es gibt eine überprüfbare URL. Erstellen Sie Beweise mithilfe der URL.

XsltTransform xslt = new XslTransform(); 
Evidence evidence = XmlSecureResolver.CreateEvidenceForUrl(style sheetURL); 
xslt.Load(xslNav,resolver,evidence);
Das XSLT-Stylesheet stammt aus einer externen Quelle. Der Ursprung der Quelle ist unbekannt. Legen Sie den Beweis auf null fest. Skriptblöcke werden nicht verarbeitet, die XSLT-Funktion document() wird nicht unterstützt, und privilegierte Erweiterungsobjekte sind nicht zulässig.

Darüber hinaus können Sie den resolver Parameter auch auf nullfestlegen. Dadurch wird sichergestellt, dass xsl:import - und xsl:include -Elemente nicht verarbeitet werden.
Das XSLT-Stylesheet stammt aus einer externen Quelle. Der Ursprung der Quelle ist unbekannt, aber die Skriptunterstützung wird benötigt. Fordern Sie einen Beweis vom Aufrufer an. Die API des Aufrufers muss eine Möglichkeit zum Bereitstellen von Nachweisen bereitstellen, in der Regel die Evidence -Klasse.

Weitere Informationen

Gilt für:

Load(IXPathNavigable, XmlResolver, Evidence)

Lädt das im IXPathNavigable enthaltene XSLT-Stylesheet. Mit dieser Methode können Sie die Berechtigungen für das Stylesheet einschränken, indem Sie Beweise angeben.

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)

Parameter

stylesheet
IXPathNavigable

Ein Objekt, das die IXPathNavigable-Schnittstelle implementiert. In .NET Framework kann dies entweder ein XmlNode (normalerweise ein XmlDocument) oder ein XPathDocument sein, das das XSLT-Stylesheet enthält.

resolver
XmlResolver

Die , die XmlResolver zum Laden von Stylesheets verwendet wird, auf die in xsl:import - und xsl:include -Elementen verwiesen wird. Bei null werden externe Ressourcen nicht aufgelöst.

Der XmlResolver wird nach Abschluss der Load-Methode nicht zwischengespeichert.

evidence
Evidence

Der für die Assembly festgelegte Evidence, die für den Skriptblock im XSLT-Stylesheet generiert wurde.

Wenn dies ist null, werden Skriptblöcke nicht verarbeitet, die XSLT-Funktion document() wird nicht unterstützt, und privilegierte Erweiterungsobjekte sind nicht zulässig.

Der Aufrufer muss über die ControlEvidence-Berechtigung verfügen, um Beweise für die Skriptassembly bereitzustellen. Teilweise vertrauenswürdige Aufrufer können diesen Parameter auf null festlegen.

Ausnahmen

Die geladene Ressource ist kein gültiges Stylesheet.

Für das Stylesheet, auf das verwiesen wird, ist eine Funktion erforderlich, die für den bereitgestellten Beweis nicht zulässig ist.

Der Aufrufer versucht, Beweise zur Verfügung zu stellen, und verfügt nicht über die ControlEvidence-Berechtigung.

Hinweise

Hinweis

Die XslTransform-Klasse ist in .NET Framework 2.0 veraltet. Die XslCompiledTransform -Klasse ist der neue XSLT-Prozessor. Weitere Informationen finden Sie unter Verwenden der XslCompiledTransform-Klasse und Migrieren von der XslTransform-Klasse.

XslTransform unterstützt die XSLT 1.0-Syntax. Das XSLT-Stylesheet muss die Namespacedeklaration xmlns:xsl= http://www.w3.org/1999/XSL/Transformenthalten.

Es gibt verschiedene Möglichkeiten, Beweise zu liefern. In der folgenden Tabelle wird beschrieben, welche Art von Beweisen für gängige Benutzerszenarien bereitgestellt werden soll.

Szenario Art der zu liefernden Beweise
Das XSLT-Stylesheet ist eigenständig oder stammt aus einer Codebasis, der Sie vertrauen. Verwenden Sie die Beweise aus Ihrer Assembly.

XsltTransform xslt = new XslTransform(); 
xslt.Load(style sheet, resolver, this.GetType().Assembly.Evidence);
Das XSLT-Stylesheet stammt aus einer externen Quelle. Der Ursprung der Quelle ist bekannt, und es gibt eine überprüfbare URL. Erstellen Sie Beweise mithilfe der URL.

XsltTransform xslt = new XslTransform(); 
Evidence evidence = XmlSecureResolver.CreateEvidenceForUrl(style sheetURL); 
xslt.Load(style sheet,resolver,evidence);
Das XSLT-Stylesheet stammt aus einer externen Quelle. Der Ursprung der Quelle ist unbekannt. Legen Sie den Beweis auf null fest. Skriptblöcke werden nicht verarbeitet, die XSLT-Funktion document() wird nicht unterstützt, und privilegierte Erweiterungsobjekte sind nicht zulässig.

Darüber hinaus können Sie den resolver Parameter auch auf nullfestlegen. Dadurch wird sichergestellt, dass xsl:import - und xsl:include -Elemente nicht verarbeitet werden.
Das XSLT-Stylesheet stammt aus einer externen Quelle. Der Ursprung der Quelle ist unbekannt, aber die Skriptunterstützung wird benötigt. Fordern Sie einen Beweis vom Aufrufer an. Die API des Aufrufers muss eine Möglichkeit zum Bereitstellen von Nachweisen bereitstellen, in der Regel die Evidence -Klasse.

Weitere Informationen

Gilt für:

Load(XPathNavigator, XmlResolver)

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

Achtung

You should pass evidence to Load() method

Lädt das im XPathNavigator enthaltene XSLT-Stylesheet.

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)

Parameter

stylesheet
XPathNavigator

Ein XPathNavigator-Objekt, das das XSLT-Stylesheet enthält.

resolver
XmlResolver

Die , die XmlResolver zum Laden von Stylesheets verwendet wird, auf die in xsl:import - und xsl:include -Elementen verwiesen wird. Bei null werden externe Ressourcen nicht aufgelöst.

Der XmlResolver wird nach Abschluss der Load-Methode nicht zwischengespeichert.

Attribute

Ausnahmen

Der aktuelle Knoten entspricht keinem gültigen Stylesheet.

Das Stylesheet enthält eingebettete Skripts, und der Aufrufer verfügt nicht über die UnmanagedCode-Berechtigung.

Hinweise

Hinweis

Die XslTransform -Klasse ist in der .NET Framework Version 2.0 veraltet. Die XslCompiledTransform -Klasse ist der neue XSLT-Prozessor. Weitere Informationen finden Sie unter Verwenden der XslCompiledTransform-Klasse und Migrieren von der XslTransform-Klasse.

XslTransform unterstützt die XSLT 1.0-Syntax. Das XSLT-Stylesheet muss die Namespacedeklaration xmlns:xsl= http://www.w3.org/1999/XSL/Transformenthalten.

Das Stylesheet wird von der aktuellen Position des XPathNavigatorgeladen. Um einen Teil des geladenen Dokuments als Stylesheet zu verwenden, navigieren Sie zu dem Knoten, der dem Anfang des Stylesheets entspricht. Nachdem die Load -Methode zurückgegeben wurde, wird am XPathNavigator Anfang des Stylesheets (auf dem xsl:style sheet Knoten) positioniert.

Wenn das Stylesheet eingebettete Skripts enthält, wird das Skript in eine Assembly kompiliert. Die Assembly ist voll vertrauenswürdig. Die empfohlene Vorgehensweise besteht darin, Beweise mithilfe von Load(XPathNavigator, XmlResolver, Evidence)bereitzustellen.

Hinweis

Wenn der Aufrufer nicht über UnmanagedCode die Berechtigung verfügt, wird das eingebettete Skript nicht kompiliert, und es wird ein SecurityException ausgelöst. Weitere Informationen finden Sie unter SecurityPermission und SecurityPermissionFlag.UnmanagedCode.

Weitere Informationen

Gilt für:

Load(IXPathNavigable, XmlResolver)

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

Achtung

You should pass evidence to Load() method

Lädt das im IXPathNavigable enthaltene XSLT-Stylesheet.

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)

Parameter

stylesheet
IXPathNavigable

Ein Objekt, das die IXPathNavigable-Schnittstelle implementiert. In .NET Framework kann dies entweder ein XmlNode (normalerweise ein XmlDocument) oder ein XPathDocument sein, das das XSLT-Stylesheet enthält.

resolver
XmlResolver

Die , die XmlResolver zum Laden von Stylesheets verwendet wird, auf die in xsl:import - und xsl:include -Elementen verwiesen wird. Bei null werden externe Ressourcen nicht aufgelöst.

Der XmlResolver wird nach Abschluss der Load-Methode nicht zwischengespeichert.

Attribute

Ausnahmen

Die geladene Ressource ist kein gültiges Stylesheet.

Das Stylesheet enthält eingebettete Skripts, und der Aufrufer verfügt nicht über die UnmanagedCode-Berechtigung.

Hinweise

Hinweis

Die XslTransform -Klasse ist in der .NET Framework Version 2.0 veraltet. Die XslCompiledTransform -Klasse ist der neue XSLT-Prozessor. Weitere Informationen finden Sie unter Verwenden der XslCompiledTransform-Klasse und Migrieren von der XslTransform-Klasse.

XslTransform unterstützt die XSLT 1.0-Syntax. Das XSLT-Stylesheet muss die Namespacedeklaration xmlns:xsl= http://www.w3.org/1999/XSL/Transformenthalten.

Wenn das Stylesheet eingebettete Skripts enthält, wird das Skript in eine Assembly kompiliert. Die Assembly ist voll vertrauenswürdig. Die empfohlene Vorgehensweise besteht darin, Beweise mithilfe der Load(IXPathNavigable, XmlResolver, Evidence) -Methode bereitzustellen.

Hinweis

Wenn der Aufrufer nicht über UnmanagedCode die Berechtigung verfügt, wird das eingebettete Skript nicht kompiliert, und es wird ein SecurityException ausgelöst. Weitere Informationen finden Sie unter SecurityPermission und SecurityPermissionFlag.UnmanagedCode.

Weitere Informationen

Gilt für:

Load(XmlReader, XmlResolver)

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

Achtung

You should pass evidence to Load() method

Lädt das im XmlReader enthaltene XSLT-Stylesheet.

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)

Parameter

stylesheet
XmlReader

Ein XmlReader-Objekt, das das XSLT-Stylesheet enthält.

resolver
XmlResolver

Die , die XmlResolver zum Laden von Stylesheets verwendet wird, auf die in xsl:import - und xsl:include -Elementen verwiesen wird. Bei null werden externe Ressourcen nicht aufgelöst.

Der XmlResolver wird nach Abschluss der Load(XmlReader, XmlResolver)-Methode nicht zwischengespeichert.

Attribute

Ausnahmen

Der aktuelle Knoten entspricht keinem gültigen Stylesheet.

Das Stylesheet enthält eingebettete Skripts, und der Aufrufer verfügt nicht über die UnmanagedCode-Berechtigung.

Hinweise

Hinweis

Die XslTransform -Klasse ist in der .NET Framework Version 2.0 veraltet. Die XslCompiledTransform -Klasse ist der neue XSLT-Prozessor. Weitere Informationen finden Sie unter Verwenden der XslCompiledTransform-Klasse und Migrieren von der XslTransform-Klasse.

XslTransform unterstützt die XSLT 1.0-Syntax. Das XSLT-Stylesheet muss die Namespacedeklaration xmlns:xsl= http://www.w3.org/1999/XSL/Transformenthalten.

Diese Methode lädt das XSLT-Stylesheet, einschließlich aller Stylesheets, auf die in xsl:include und xsl:import -Elementen verwiesen wird. Das Stylesheet wird vom aktuellen Knoten des XmlReader durch alle untergeordneten Elemente geladen. Dadurch können Sie einen Teil eines Dokuments als Stylesheet verwenden.

Nachdem die Load -Methode zurückgegeben wurde, wird auf XmlReader dem nächsten Knoten nach dem Ende des Stylesheets positioniert. Wenn das Ende des Dokuments erreicht wird, wird der XmlReader am Ende der Datei (EOF) platziert.

Wenn das Stylesheet Entitäten enthält, sollten Sie eine XmlReader angeben, die Entitäten auflösen kann (XmlReader.CanResolveEntity gibt zurück true). In diesem Fall kann ein XmlValidatingReader verwendet werden.

Wenn das Stylesheet eingebettete Skripts enthält, wird das Skript in eine Assembly kompiliert. Die Assembly ist voll vertrauenswürdig. Die empfohlene Vorgehensweise besteht darin, Beweise mithilfe der Load(XmlReader, XmlResolver, Evidence) -Methode bereitzustellen.

Hinweis

Wenn der Aufrufer nicht über UnmanagedCode die Berechtigung verfügt, wird das eingebettete Skript nicht kompiliert, und es wird ein SecurityException ausgelöst. Weitere Informationen finden Sie unter SecurityPermission und SecurityPermissionFlag.UnmanagedCode.

Weitere Informationen

Gilt für:

Load(XmlReader, XmlResolver, Evidence)

Lädt das im XmlReader enthaltene XSLT-Stylesheet. Mit dieser Methode können Sie die Berechtigungen für das Stylesheet einschränken, indem Sie Beweise angeben.

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)

Parameter

stylesheet
XmlReader

Ein XmlReader-Objekt, das das zu ladende Stylesheet enthält.

resolver
XmlResolver

Die , die XmlResolver zum Laden von Stylesheets verwendet wird, auf die in xsl:import - und xsl:include -Elementen verwiesen wird. Bei null werden externe Ressourcen nicht aufgelöst.

Der XmlResolver wird nach Abschluss der Load-Methode nicht zwischengespeichert.

evidence
Evidence

Der für die Assembly festgelegte Evidence, die für den Skriptblock im XSLT-Stylesheet generiert wurde.

Wenn dies ist null, werden Skriptblöcke nicht verarbeitet, die XSLT-Funktion document() wird nicht unterstützt, und privilegierte Erweiterungsobjekte sind nicht zulässig.

Der Aufrufer muss über die ControlEvidence-Berechtigung verfügen, um Beweise für die Skriptassembly bereitzustellen. Teilweise vertrauenswürdige Aufrufer können diesen Parameter auf null festlegen.

Ausnahmen

Der aktuelle Knoten entspricht keinem gültigen Stylesheet.

Für das Stylesheet, auf das verwiesen wird, ist eine Funktion erforderlich, die für den bereitgestellten Beweis nicht zulässig ist.

Der Aufrufer versucht, Beweise zur Verfügung zu stellen, und verfügt nicht über die ControlEvidence-Berechtigung.

Beispiele

Im folgenden Beispiel wird eine XSLT-Transformation ausgeführt, wobei xsltReader eine ist, XmlReader die ein Stylesheet enthält und secureURL eine vertrauenswürdige URL ist, die zum Erstellen Evidencevon verwendet werden kann. Die XmlSecureResolver.CreateEvidenceForUrl -Methode wird verwendet, um zu erstellen Evidence , die auf das Stylesheet angewendet wird.

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

Hinweise

Hinweis

Die XslTransform -Klasse ist in der .NET Framework Version 2.0 veraltet. Die XslCompiledTransform -Klasse ist der neue XSLT-Prozessor. Weitere Informationen finden Sie unter Verwenden der XslCompiledTransform-Klasse und Migrieren von der XslTransform-Klasse.

XslTransform unterstützt die XSLT 1.0-Syntax. Das XSLT-Stylesheet muss die Namespacedeklaration xmlns:xsl= http://www.w3.org/1999/XSL/Transformenthalten.

Diese Methode lädt das XSLT-Stylesheet, einschließlich aller Stylesheets, auf die in xsl:include und xsl:import -Elementen verwiesen wird. Das Stylesheet lädt vom aktuellen Knoten des XmlReader über alle untergeordneten Elemente. Dadurch können Sie einen Teil eines Dokuments als Stylesheet verwenden.

Nachdem die Load -Methode zurückgegeben wurde, wird auf XmlReader dem nächsten Knoten nach dem Ende des Stylesheets positioniert. Wenn das Ende des Dokuments erreicht wird, wird der XmlReader am Ende der Datei (EOF) platziert.

Wenn das Stylesheet Entitäten enthält, sollten Sie ein XmlReader angeben, das Entitäten auflösen kann (XmlReader.CanResolveEntity gibt zurück true). In diesem Fall kann ein XmlValidatingReader verwendet werden.

Es gibt verschiedene Möglichkeiten, Beweise bereitzustellen. In der folgenden Tabelle wird beschrieben, welche Art von Beweisen für gängige Benutzerszenarien bereitgestellt werden sollen.

Szenario Art des nachweisbaren Nachweises
Das XSLT-Stylesheet ist eigenständig oder stammt aus einer Codebasis, der Sie vertrauen. Verwenden Sie die Beweise aus Ihrer Assembly.

XsltTransform xslt = new XslTransform(); &#13;&#10;xslt.Load(xslReader, resolver, this.GetType().Assembly.Evidence);
Das XSLT-Stylesheet stammt aus einer externen Quelle. Der Ursprung der Quelle ist bekannt, und es gibt eine überprüfbare URL. Erstellen Sie Beweise mithilfe der URL.

XsltTransform xslt = new XslTransform();&#13;&#10; Evidence evidence = XmlSecureResolver.CreateEvidenceForUrl(stylesheetURL); &#13;&#10;xslt.Load(xslReader,resolver,evidence);
Das XSLT-Stylesheet stammt aus einer externen Quelle. Der Ursprung der Quelle ist unbekannt. Legen Sie den Beweis auf null fest. Skriptblöcke werden nicht verarbeitet, die XSLT-Funktion document() wird nicht unterstützt, und privilegierte Erweiterungsobjekte sind nicht zulässig.

Darüber hinaus können Sie den resolver Parameter auch auf nullfestlegen. Dadurch wird sichergestellt, dass xsl:import Elemente und xsl:include nicht verarbeitet werden.
Das XSLT-Stylesheet stammt aus einer externen Quelle. Der Ursprung der Quelle ist unbekannt, aber die Skriptunterstützung wird benötigt. Fordern Sie einen Beweis vom Aufrufer an. Die API des Aufrufers muss eine Möglichkeit zum Bereitstellen von Nachweisen bieten, in der Regel die Evidence -Klasse.

Weitere Informationen

Gilt für:

Load(XPathNavigator)

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

Achtung

You should pass evidence to Load() method

Lädt das im XPathNavigator enthaltene XSLT-Stylesheet.

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)

Parameter

stylesheet
XPathNavigator

Ein XPathNavigator-Objekt, das das XSLT-Stylesheet enthält.

Attribute

Ausnahmen

Der aktuelle Knoten entspricht keinem gültigen Stylesheet.

Das Stylesheet enthält eingebettete Skripts, und der Aufrufer verfügt nicht über die UnmanagedCode-Berechtigung.

Hinweise

Hinweis

Die XslTransform -Klasse ist in der .NET Framework Version 2.0 veraltet. Die XslCompiledTransform -Klasse ist der neue XSLT-Prozessor. Weitere Informationen finden Sie unter Verwenden der XslCompiledTransform-Klasse und Migrieren von der XslTransform-Klasse.

XslTransform unterstützt die XSLT 1.0-Syntax. Das XSLT-Stylesheet muss die Namespacedeklaration xmlns:xsl= http://www.w3.org/1999/XSL/Transformenthalten.

Diese Methode lädt das XSLT-Stylesheet, einschließlich aller Stylesheets, auf die in xsl:include und xsl:import -Elementen verwiesen wird. Externe Ressourcen werden mit einem XmlUrlResolver ohne Benutzeranmeldeinformationen aufgelöst. Wenn sich die Stylesheets in einer Netzwerkressource befinden, die eine Authentifizierung erfordert, verwenden Sie die Überladung, die ein XmlResolver als eines ihrer Argumente annimmt, und geben Sie ein XmlResolver mit den erforderlichen Anmeldeinformationen an.

Das Stylesheet wird von der aktuellen Position des XPathNavigatorgeladen. Wenn Sie nur einen Teil des geladenen Dokuments als Stylesheet verwenden möchten, navigieren Sie zu dem Knoten, der dem Anfang des Stylesheets entspricht. Nachdem die Load -Methode zurückgegeben wurde, wird die XPathNavigator am Anfang des Stylesheets (auf dem xsl:style sheet Knoten) positioniert.

Wenn das Stylesheet eingebettete Skripts enthält, wird das Skript zu einer Assembly kompiliert. Die Assembly verfügt über volle Vertrauenswürdigstellung. Die empfohlene Vorgehensweise besteht darin, Beweise mithilfe der Load(XPathNavigator, XmlResolver, Evidence) -Methode bereitzustellen.

Hinweis

Wenn der Aufrufer nicht über UnmanagedCode die Berechtigung verfügt, wird das eingebettete Skript nicht kompiliert und ein SecurityException ausgelöst. Weitere Informationen finden Sie unter SecurityPermission und SecurityPermissionFlag.UnmanagedCode.

Gilt für:

Load(IXPathNavigable)

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

Achtung

You should pass evidence to Load() method

Lädt das im IXPathNavigable enthaltene XSLT-Stylesheet.

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)

Parameter

stylesheet
IXPathNavigable

Ein Objekt, das die IXPathNavigable-Schnittstelle implementiert. In .NET Framework kann dies entweder ein XmlNode (normalerweise ein XmlDocument) oder ein XPathDocument sein, das das XSLT-Stylesheet enthält.

Attribute

Ausnahmen

Die geladene Ressource ist kein gültiges Stylesheet.

Das Stylesheet enthält eingebettete Skripts, und der Aufrufer verfügt nicht über die UnmanagedCode-Berechtigung.

Hinweise

Hinweis

Die XslTransform -Klasse ist in der .NET Framework Version 2.0 veraltet. Die XslCompiledTransform -Klasse ist der neue XSLT-Prozessor. Weitere Informationen finden Sie unter Verwenden der XslCompiledTransform-Klasse und Migrieren von der XslTransform-Klasse.

XslTransform unterstützt die XSLT 1.0-Syntax. Das XSLT-Stylesheet muss die Namespacedeklaration xmlns:xsl= http://www.w3.org/1999/XSL/Transformenthalten.

Diese Methode lädt das XSLT-Stylesheet, einschließlich aller Stylesheets, auf die in xsl:include und xsl:import -Elementen verwiesen wird. Externe Ressourcen werden mit einem XmlUrlResolver ohne Benutzeranmeldeinformationen aufgelöst. Wenn sich die Stylesheets in einer Netzwerkressource befinden, die eine Authentifizierung erfordert, verwenden Sie die Überladung, die ein XmlResolver als eines ihrer Argumente annimmt, und geben Sie ein XmlResolver mit den erforderlichen Anmeldeinformationen an.

Wenn das Stylesheet eingebettete Skripts enthält, wird das Skript zu einer Assembly kompiliert. Die Assembly verfügt über volle Vertrauenswürdigstellung. Die empfohlene Vorgehensweise besteht darin, Beweise mithilfe der Load(IXPathNavigable, XmlResolver, Evidence) -Methode bereitzustellen.

Hinweis

Wenn der Aufrufer nicht über UnmanagedCode die Berechtigung verfügt, wird das eingebettete Skript nicht kompiliert und ein SecurityException ausgelöst. Weitere Informationen finden Sie unter SecurityPermission und SecurityPermissionFlag.UnmanagedCode.

Gilt für:

Load(XmlReader)

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

Achtung

You should pass evidence to Load() method

Lädt das im XmlReader enthaltene XSLT-Stylesheet.

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)

Parameter

stylesheet
XmlReader

Ein XmlReader-Objekt, das das XSLT-Stylesheet enthält.

Attribute

Ausnahmen

Der aktuelle Knoten entspricht keinem gültigen Stylesheet.

Das Stylesheet enthält eingebettete Skripts, und der Aufrufer verfügt nicht über die UnmanagedCode-Berechtigung.

Beispiele

Im folgenden Beispiel wird eine XML-Datei transformiert, die alle Bücher nach Titel sortiert.

#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

Im Beispiel werden die folgenden Datendateien als Eingabe verwendet.

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>

Hinweise

Hinweis

Die XslTransform -Klasse ist in der .NET Framework Version 2.0 veraltet. Die XslCompiledTransform -Klasse ist der neue XSLT-Prozessor. Weitere Informationen finden Sie unter Verwenden der XslCompiledTransform-Klasse und Migrieren von der XslTransform-Klasse.

XslTransform unterstützt die XSLT 1.0-Syntax. Das XSLT-Stylesheet muss die Namespacedeklaration xmlns:xsl= http://www.w3.org/1999/XSL/Transformenthalten.

Diese Methode lädt das XSLT-Stylesheet, einschließlich aller Stylesheets, auf die in xsl:include und xsl:import -Elementen verwiesen wird. Externe Ressourcen werden mit einem XmlUrlResolver ohne Benutzeranmeldeinformationen aufgelöst. Wenn sich die Stylesheets in einer Netzwerkressource befinden, die eine Authentifizierung erfordert, verwenden Sie die Überladung, die ein XmlResolver als eines ihrer Argumente annimmt, und geben Sie ein XmlResolver mit den erforderlichen Anmeldeinformationen an.

Das Stylesheet lädt vom aktuellen Knoten des XmlReader über alle untergeordneten Elemente. Dadurch können Sie einen Teil eines Dokuments als Stylesheet verwenden. Nachdem die Load -Methode zurückgegeben wurde, wird auf XmlReader dem nächsten Knoten nach dem Ende des Stylesheets positioniert. Wenn das Ende des Dokuments erreicht wird, wird der XmlReader am Ende der Datei (EOF) platziert.

Wenn das Stylesheet Entitäten enthält, sollten Sie ein XmlReader angeben, das Entitäten auflösen kann (XmlReader.CanResolveEntity gibt zurück true). In diesem Fall kann ein XmlValidatingReader verwendet werden.

Wenn das Stylesheet eingebettete Skripts enthält, wird das Skript zu einer Assembly kompiliert. Die Assembly verfügt über volle Vertrauenswürdigstellung. Die empfohlene Vorgehensweise besteht darin, Beweise mithilfe der Load(XmlReader, XmlResolver, Evidence) -Methode bereitzustellen.

Hinweis

Wenn der Aufrufer nicht über UnmanagedCode die Berechtigung verfügt, wird das eingebettete Skript nicht kompiliert und ein SecurityException ausgelöst. Weitere Informationen finden Sie unter SecurityPermission und SecurityPermissionFlag.UnmanagedCode.

Gilt für:

Load(String)

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

Lädt das durch eine URL angegebene XSLT-Stylesheet.

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

Parameter

url
String

Die URL, die das zu ladende XSLT-Stylesheet angibt.

Ausnahmen

Die geladene Ressource ist kein gültiges Stylesheet.

Das Stylesheet enthält eingebettete Skripts, und der Aufrufer verfügt nicht über die UnmanagedCode-Berechtigung.

Beispiele

Im folgenden Beispiel wird ein XML-Dokument in ein HTML-Dokument transformiert. Sie zeigt die ISBN, den Titel und den Preis für jedes Buch in einer Tabelle an.

#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

In diesem Beispiel werden die folgenden beiden Eingabedateien verwendet:

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>

Hinweise

Hinweis

Die XslTransform -Klasse ist in der .NET Framework Version 2.0 veraltet. Die XslCompiledTransform -Klasse ist der neue XSLT-Prozessor. Weitere Informationen finden Sie unter Verwenden der XslCompiledTransform-Klasse und Migrieren von der XslTransform-Klasse.

XslTransform unterstützt die XSLT 1.0-Syntax. Das XSLT-Stylesheet muss die Namespacedeklaration xmlns:xsl="http://www.w3.org/1999/XSL/Transform"enthalten.

Diese Methode lädt das XSLT-Stylesheet, einschließlich aller Stylesheets, auf die in xsl:include und xsl:import -Elementen verwiesen wird. Externe Ressourcen werden mit einem XmlUrlResolver ohne Benutzeranmeldeinformationen aufgelöst. Wenn sich die Stylesheets in einer Netzwerkressource befinden, die eine Authentifizierung erfordert, verwenden Sie die Überladung, die ein XmlResolver als eines ihrer Argumente annimmt, und geben Sie ein XmlResolver mit den erforderlichen Anmeldeinformationen an.

Wenn das Stylesheet eingebettete Skripts enthält, wird das Skript zu einer Assembly kompiliert. Der URI des Stylesheets wird verwendet, um Beweise zu erstellen, die auf die Assembly angewendet werden.

Hinweis

Wenn der Aufrufer nicht über UnmanagedCode die Berechtigung verfügt, wird das eingebettete Skript nicht kompiliert und ein SecurityException ausgelöst. Weitere Informationen finden Sie unter SecurityPermission und SecurityPermissionFlag.UnmanagedCode.

Gilt für:

Load(String, XmlResolver)

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

Lädt das durch eine URL angegebene XSLT-Stylesheet.

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)

Parameter

url
String

Die URL, die das zu ladende XSLT-Stylesheet angibt.

resolver
XmlResolver

Der XmlResolver , der zum Laden des Stylesheets und aller Stylesheets verwendet werden soll, auf die in xsl:import und xsl:include -Elementen verwiesen wird.

Bei null wird das Stylesheet mit einem Standard-XmlUrlResolver ohne Benutzeranmeldeinformationen geöffnet. Der Standardwert XmlUrlResolver wird nicht verwendet, um externe Ressourcen im Stylesheet aufzulösen, sodass xsl:import Elemente xsl:include nicht aufgelöst werden.

Der XmlResolver wird nach Abschluss der Load(String, XmlResolver)-Methode nicht zwischengespeichert.

Ausnahmen

Die geladene Ressource ist kein gültiges Stylesheet.

Das Stylesheet enthält eingebettete Skripts, und der Aufrufer verfügt nicht über die UnmanagedCode-Berechtigung.

Beispiele

Im folgenden Beispiel wird ein XML-Dokument in ein HTML-Dokument transformiert. Im Beispiel wird ein XSLT-Stylesheet geladen, das ein xsl:include Element enthält, das auf ein anderes Stylesheet verweist. Ein XmlUrlResolver wird an die Load -Methode übergeben, die die Anmeldeinformationen festlegt, die für den Zugriff auf die Netzwerkressource für das enthaltene Stylesheet erforderlich sind.

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

Im Beispiel werden die folgenden Datendateien als Eingabe verwendet.

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>

Hinweise

Hinweis

Die XslTransform -Klasse ist in der .NET Framework Version 2.0 veraltet. Die XslCompiledTransform -Klasse ist der neue XSLT-Prozessor. Weitere Informationen finden Sie unter Verwenden der XslCompiledTransform-Klasse und Migrieren von der XslTransform-Klasse.

XslTransform unterstützt die XSLT 1.0-Syntax. Das XSLT-Stylesheet muss die Namespacedeklaration xmlns:xsl= http://www.w3.org/1999/XSL/Transformenthalten.

Wenn das Stylesheet eingebettete Skripts enthält, wird das Skript zu einer Assembly kompiliert. Der URI des Stylesheets wird verwendet, um Beweise zu erstellen, die auf die Assembly angewendet werden.

Hinweis

Wenn der Aufrufer nicht über UnmanagedCode die Berechtigung verfügt, wird das eingebettete Skript nicht kompiliert und ein SecurityException ausgelöst. Weitere Informationen finden Sie unter SecurityPermission und SecurityPermissionFlag.UnmanagedCode.

Weitere Informationen

Gilt für: