XslTransform.Load Methode
Definition
Wichtig
Einige Informationen beziehen sich auf Vorabversionen, die vor dem Release ggf. grundlegend überarbeitet werden. Microsoft übernimmt hinsichtlich der hier bereitgestellten Informationen keine Gewährleistungen, seien sie ausdrücklich oder konkludent.
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 null
festgelegt.
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/Transform
enthalten.
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.
|
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.
|
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 null festlegen. 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
- Credentials
- NetworkCredential
- CredentialCache
- SecurityZone
- XmlSecureResolver
- CreateEvidenceForUrl(String)
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/Transform
enthalten.
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.
|
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.
|
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 null festlegen. 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
- Credentials
- NetworkCredential
- CredentialCache
- SecurityZone
- XmlSecureResolver
- CreateEvidenceForUrl(String)
Gilt für:
Load(XPathNavigator, XmlResolver)
- Quelle:
- XslTransform.cs
- Quelle:
- XslTransform.cs
- Quelle:
- 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/Transform
enthalten.
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)
- Quelle:
- XslTransform.cs
- Quelle:
- XslTransform.cs
- Quelle:
- 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/Transform
enthalten.
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)
- Quelle:
- XslTransform.cs
- Quelle:
- XslTransform.cs
- Quelle:
- 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
- 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/Transform
enthalten.
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
- 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/Transform
enthalten.
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.
|
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.
|
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 null festlegen. 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
- Credentials
- NetworkCredential
- CredentialCache
- SecurityZone
- XmlSecureResolver
- CreateEvidenceForUrl(String)
Gilt für:
Load(XPathNavigator)
- Quelle:
- XslTransform.cs
- Quelle:
- XslTransform.cs
- Quelle:
- 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/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.
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)
- Quelle:
- XslTransform.cs
- Quelle:
- XslTransform.cs
- Quelle:
- 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/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. 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)
- Quelle:
- XslTransform.cs
- Quelle:
- XslTransform.cs
- Quelle:
- 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
- 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/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.
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)
- Quelle:
- XslTransform.cs
- Quelle:
- XslTransform.cs
- Quelle:
- 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)
- Quelle:
- XslTransform.cs
- Quelle:
- XslTransform.cs
- Quelle:
- 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/Transform
enthalten.
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.