XslCompiledTransform.Transform 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.
Führt die XSLT-Transformation aus.
Überlädt
Transform(XmlReader, XsltArgumentList, TextWriter) |
Führt die Transformation anhand des vom XmlReader-Objekt angegebenen Eingabedokuments aus und gibt die Ergebnisse an einen TextWriter aus. Die XsltArgumentList stellt zusätzliche Laufzeitargumente bereit. |
Transform(IXPathNavigable, XsltArgumentList, XmlWriter) |
Führt die Transformation anhand des vom IXPathNavigable-Objekt angegebenen Eingabedokuments aus und gibt die Ergebnisse an einen XmlWriter aus. Die XsltArgumentList stellt zusätzliche Laufzeitargumente bereit. |
Transform(IXPathNavigable, XsltArgumentList, TextWriter) |
Führt die Transformation anhand des vom IXPathNavigable-Objekt angegebenen Eingabedokuments aus und gibt die Ergebnisse an einen TextWriter aus. Die XsltArgumentList stellt zusätzliche Laufzeitargumente bereit. |
Transform(IXPathNavigable, XsltArgumentList, Stream) |
Führt die Transformation anhand des vom IXPathNavigable-Objekt angegebenen Eingabedokuments aus und gibt die Ergebnisse an einen Stream aus. Die XsltArgumentList stellt zusätzliche Laufzeitargumente bereit. |
Transform(XmlReader, XsltArgumentList, XmlWriter) |
Führt die Transformation anhand des vom XmlReader-Objekt angegebenen Eingabedokuments aus und gibt die Ergebnisse an einen XmlWriter aus. Die XsltArgumentList stellt zusätzliche Laufzeitargumente bereit. |
Transform(XmlReader, XsltArgumentList, Stream) |
Führt die Transformation anhand des vom XmlReader-Objekt angegebenen Eingabedokuments aus und gibt die Ergebnisse an einen Stream aus. Die XsltArgumentList stellt zusätzliche Laufzeitargumente bereit. |
Transform(String, String) |
Führt die Transformation anhand des vom URI angegebenen Eingabedokuments aus und gibt die Ergebnisse in eine Datei aus. |
Transform(String, XsltArgumentList, TextWriter) |
Führt die Transformation anhand des vom URI angegebenen Eingabedokuments aus und gibt die Ergebnisse an einen TextWriter aus. |
Transform(String, XsltArgumentList, Stream) |
Führt die Transformation anhand des vom URI angegebenen Eingabedokuments aus und gibt die Ergebnisse an einen Stream aus. Die XsltArgumentList stellt zusätzliche Laufzeitargumente bereit. |
Transform(IXPathNavigable, XmlWriter) |
Führt die Transformation anhand des vom IXPathNavigable-Objekt angegebenen Eingabedokuments aus und gibt die Ergebnisse an einen XmlWriter aus. |
Transform(XmlReader, XmlWriter) |
Führt die Transformation anhand des vom XmlReader-Objekt angegebenen Eingabedokuments aus und gibt die Ergebnisse an einen XmlWriter aus. |
Transform(String, XmlWriter) |
Führt die Transformation anhand des vom URI angegebenen Eingabedokuments aus und gibt die Ergebnisse an einen XmlWriter aus. |
Transform(XmlReader, XsltArgumentList, XmlWriter, XmlResolver) |
Führt die Transformation anhand des vom XmlReader-Objekt angegebenen Eingabedokuments aus und gibt die Ergebnisse an einen XmlWriter aus. Die XsltArgumentList stellt zusätzliche Laufzeitargumente bereit, und der XmlResolver löst die |
Transform(String, XsltArgumentList, XmlWriter) |
Führt die Transformation anhand des vom URI angegebenen Eingabedokuments aus und gibt die Ergebnisse an einen XmlWriter aus. Die XsltArgumentList stellt zusätzliche Laufzeitargumente bereit. |
Transform(IXPathNavigable, XsltArgumentList, XmlWriter, XmlResolver) |
Führt die Transformation anhand des vom IXPathNavigable-Objekt angegebenen Eingabedokuments aus und gibt die Ergebnisse an einen XmlWriter aus. Die XsltArgumentList stellt zusätzliche Laufzeitargumente bereit, und der XmlResolver löst die XSLT- |
Hinweise
Hinweis
Es gibt Unterschiede zwischen einer XSLT, die im Debugmodus kompiliert wurde, und einer im Releasemodus kompilierten XSLT. In einigen Fällen werden durch Stylesheets, die im Debugmodus kompiliert wurden, während Load keine Fehler ausgelöst. Die Stylesheets schlagen jedoch später während Transform fehl. Das gleiche, im Releasemodus kompilierte Stylesheet schlägt während Load fehl. Ein Beispiel für solches Verhalten ist, wenn eine Variable, die kein Knotengruppentyp ist, einem Ausdruck zugeordnet wird, der eine Knotengruppe erfordert.
Transform(XmlReader, XsltArgumentList, TextWriter)
Führt die Transformation anhand des vom XmlReader-Objekt angegebenen Eingabedokuments aus und gibt die Ergebnisse an einen TextWriter aus. Die XsltArgumentList stellt zusätzliche Laufzeitargumente bereit.
public:
void Transform(System::Xml::XmlReader ^ input, System::Xml::Xsl::XsltArgumentList ^ arguments, System::IO::TextWriter ^ results);
public void Transform (System.Xml.XmlReader input, System.Xml.Xsl.XsltArgumentList? arguments, System.IO.TextWriter results);
public void Transform (System.Xml.XmlReader input, System.Xml.Xsl.XsltArgumentList arguments, System.IO.TextWriter results);
member this.Transform : System.Xml.XmlReader * System.Xml.Xsl.XsltArgumentList * System.IO.TextWriter -> unit
Public Sub Transform (input As XmlReader, arguments As XsltArgumentList, results As TextWriter)
Parameter
- arguments
- XsltArgumentList
Eine XsltArgumentList mit durch Namespaces gekennzeichneten Argumenten, die als Eingabe für die Transformation verwendet werden. Dieser Wert kann null
sein.
- results
- TextWriter
Der TextWriter, an den die Ausgabe erfolgen soll.
Ausnahmen
Der input
-Wert oder der results
-Wert ist null
.
Bei der Ausführung der XSLT-Transformation ist ein Fehler aufgetreten.
Hinweise
Wenn das Stylesheet eine XSLT-Funktion document()
enthält, wird es mit XmlUrlResolver keinem Benutzeranmeldeinformationen aufgelöst. Wenn sich die externe Ressource in einer Netzwerkressource befindet, die eine Authentifizierung erfordert, verwenden Sie die Überladung, die als eine der Argumente verwendet XmlResolver wird, und geben Sie eine XmlResolver mit den erforderlichen Anmeldeinformationen an.
Siehe auch
Gilt für
Transform(IXPathNavigable, XsltArgumentList, XmlWriter)
Führt die Transformation anhand des vom IXPathNavigable-Objekt angegebenen Eingabedokuments aus und gibt die Ergebnisse an einen XmlWriter aus. Die XsltArgumentList stellt zusätzliche Laufzeitargumente bereit.
public:
void Transform(System::Xml::XPath::IXPathNavigable ^ input, System::Xml::Xsl::XsltArgumentList ^ arguments, System::Xml::XmlWriter ^ results);
public void Transform (System.Xml.XPath.IXPathNavigable input, System.Xml.Xsl.XsltArgumentList? arguments, System.Xml.XmlWriter results);
public void Transform (System.Xml.XPath.IXPathNavigable input, System.Xml.Xsl.XsltArgumentList arguments, System.Xml.XmlWriter results);
member this.Transform : System.Xml.XPath.IXPathNavigable * System.Xml.Xsl.XsltArgumentList * System.Xml.XmlWriter -> unit
Public Sub Transform (input As IXPathNavigable, arguments As XsltArgumentList, results As XmlWriter)
Parameter
- input
- IXPathNavigable
Ein Objekt, das die IXPathNavigable-Schnittstelle implementiert. Dabei kann es sich in Microsoft .NET Framework entweder um einen XmlNode (i. d. R. ein XmlDocument) oder um ein XPathDocument mit den zu transformierenden Daten handeln.
- arguments
- XsltArgumentList
Eine XsltArgumentList mit durch Namespaces gekennzeichneten Argumenten, die als Eingabe für die Transformation verwendet werden. Dieser Wert kann null
sein.
- results
- XmlWriter
Der XmlWriter, an den die Ausgabe erfolgen soll.
Wenn das Stylesheet ein xsl:output
-Element enthält, müssen Sie den XmlWriter mithilfe des XmlWriterSettings-Objekts erstellen, das von der OutputSettings-Eigenschaft zurückgegeben wird. Dieses Verfahren stellt sicher, dass XmlWriter die richtigen Ausgabeeinstellungen verwendet.
Ausnahmen
Der input
-Wert oder der results
-Wert ist null
.
Bei der Ausführung der XSLT-Transformation ist ein Fehler aufgetreten.
Hinweise
Wenn die XSLT-Funktion document()
aktiviert ist, wird sie mit XmlUrlResolver keinen Benutzeranmeldeinformationen aufgelöst. Wenn sich die externe Ressource auf einer Netzwerkressource befindet, die Authentifizierung erfordert, verwenden Sie die Überladung, die als eines XmlResolver seiner Argumente verwendet wird, und geben Sie eine XmlResolver mit den erforderlichen Anmeldeinformationen an.
Diese Methode unterstützt das xsl:strip-space
Element nicht. Wenn das kompilierte Stylesheet das xsl:strip-space
Element enthält, müssen Sie die Überladung verwenden, die Transform als XmlReader Eingabeargument verwendet wird.
Die IXPathNavigable-Schnittstelle ist in der XmlNode-Klasse und der XPathDocument-Klasse implementiert. Diese Klassen stellen einen speicherinternen Cache der XML-Daten dar.
Die XmlNode-Klasse basiert auf dem W3C-DOM (Document Object Model) und umfasst Bearbeitungsfunktionen.
Die XPathDocument-Klasse ist ein schreibgeschützter Datenspeicher, der auf dem XPath-Datenmodell basiert. XPathDocument ist die empfohlene Klasse zu XSLT-Verarbeitung. Im Vergleich zur XmlNode-Klasse bietet sie eine schnellere Leistung.
Transformationen werden auf das gesamte Dokument angewendet. Wenn Sie einen anderen Knoten als den Stammknoten des Dokuments übergeben, wird dadurch nicht verhindert, dass im Transformationsprozess auf alle Knoten im geladenen Dokument zugegriffen wird. Zum Transformieren eines Knotenfragments müssen Sie ein Objekt erstellen, das nur das Knotenfragment enthält, und dieses Objekt an die Transform-Methode übergeben. Weitere Informationen finden Sie unter Vorgehensweise: Transformieren eines Knotenfragments.
Siehe auch
Gilt für
Transform(IXPathNavigable, XsltArgumentList, TextWriter)
Führt die Transformation anhand des vom IXPathNavigable-Objekt angegebenen Eingabedokuments aus und gibt die Ergebnisse an einen TextWriter aus. Die XsltArgumentList stellt zusätzliche Laufzeitargumente bereit.
public:
void Transform(System::Xml::XPath::IXPathNavigable ^ input, System::Xml::Xsl::XsltArgumentList ^ arguments, System::IO::TextWriter ^ results);
public void Transform (System.Xml.XPath.IXPathNavigable input, System.Xml.Xsl.XsltArgumentList? arguments, System.IO.TextWriter results);
public void Transform (System.Xml.XPath.IXPathNavigable input, System.Xml.Xsl.XsltArgumentList arguments, System.IO.TextWriter results);
member this.Transform : System.Xml.XPath.IXPathNavigable * System.Xml.Xsl.XsltArgumentList * System.IO.TextWriter -> unit
Public Sub Transform (input As IXPathNavigable, arguments As XsltArgumentList, results As TextWriter)
Parameter
- input
- IXPathNavigable
Ein Objekt, das die IXPathNavigable-Schnittstelle implementiert. Dabei kann es sich in Microsoft .NET Framework entweder um einen XmlNode (i. d. R. ein XmlDocument) oder um ein XPathDocument mit den zu transformierenden Daten handeln.
- arguments
- XsltArgumentList
Eine XsltArgumentList mit durch Namespaces gekennzeichneten Argumenten, die als Eingabe für die Transformation verwendet werden. Dieser Wert kann null
sein.
- results
- TextWriter
Der TextWriter, an den die Ausgabe erfolgen soll.
Ausnahmen
Der input
-Wert oder der results
-Wert ist null
.
Bei der Ausführung der XSLT-Transformation ist ein Fehler aufgetreten.
Hinweise
Wenn die XSLT-Funktion document()
aktiviert ist, wird sie mit XmlUrlResolver keinen Benutzeranmeldeinformationen aufgelöst. Wenn sich die externe Ressource auf einer Netzwerkressource befindet, die Authentifizierung erfordert, verwenden Sie die Überladung, die als eines XmlResolver seiner Argumente verwendet wird, und geben Sie eine XmlResolver mit den erforderlichen Anmeldeinformationen an.
Diese Methode unterstützt das xsl:strip-space
Element nicht. Wenn das kompilierte Stylesheet das xsl:strip-space
Element enthält, müssen Sie die Überladung verwenden, die Transform als XmlReader Eingabeargument verwendet wird.
Die IXPathNavigable-Schnittstelle ist in der XmlNode-Klasse und der XPathDocument-Klasse implementiert. Diese Klassen stellen einen speicherinternen Cache der XML-Daten dar.
Die XmlNode-Klasse basiert auf dem W3C-DOM (Document Object Model) und umfasst Bearbeitungsfunktionen.
Die XPathDocument-Klasse ist ein schreibgeschützter Datenspeicher, der auf dem XPath-Datenmodell basiert. XPathDocument ist die empfohlene Klasse zu XSLT-Verarbeitung. Im Vergleich zur XmlNode-Klasse bietet sie eine schnellere Leistung.
Transformationen werden auf das gesamte Dokument angewendet. Wenn Sie einen anderen Knoten als den Stammknoten des Dokuments übergeben, wird dadurch nicht verhindert, dass im Transformationsprozess auf alle Knoten im geladenen Dokument zugegriffen wird. Zum Transformieren eines Knotenfragments müssen Sie ein Objekt erstellen, das nur das Knotenfragment enthält, und dieses Objekt an die Transform-Methode übergeben. Weitere Informationen finden Sie unter Vorgehensweise: Transformieren eines Knotenfragments.
Siehe auch
Gilt für
Transform(IXPathNavigable, XsltArgumentList, Stream)
Führt die Transformation anhand des vom IXPathNavigable-Objekt angegebenen Eingabedokuments aus und gibt die Ergebnisse an einen Stream aus. Die XsltArgumentList stellt zusätzliche Laufzeitargumente bereit.
public:
void Transform(System::Xml::XPath::IXPathNavigable ^ input, System::Xml::Xsl::XsltArgumentList ^ arguments, System::IO::Stream ^ results);
public void Transform (System.Xml.XPath.IXPathNavigable input, System.Xml.Xsl.XsltArgumentList? arguments, System.IO.Stream results);
public void Transform (System.Xml.XPath.IXPathNavigable input, System.Xml.Xsl.XsltArgumentList arguments, System.IO.Stream results);
member this.Transform : System.Xml.XPath.IXPathNavigable * System.Xml.Xsl.XsltArgumentList * System.IO.Stream -> unit
Public Sub Transform (input As IXPathNavigable, arguments As XsltArgumentList, results As Stream)
Parameter
- input
- IXPathNavigable
Ein Objekt, das die IXPathNavigable-Schnittstelle implementiert. Dabei kann es sich in Microsoft .NET Framework entweder um einen XmlNode (i. d. R. ein XmlDocument) oder um ein XPathDocument mit den zu transformierenden Daten handeln.
- arguments
- XsltArgumentList
Eine XsltArgumentList mit durch Namespaces gekennzeichneten Argumenten, die als Eingabe für die Transformation verwendet werden. Dieser Wert kann null
sein.
- results
- Stream
Der Stream, in den ausgegeben werden soll.
Ausnahmen
Der input
-Wert oder der results
-Wert ist null
.
Bei der Ausführung der XSLT-Transformation ist ein Fehler aufgetreten.
Beispiele
Im folgenden Beispiel wird eine XSLT-Transformation ausgeführt und in eine FileStream.
// Load the style sheet.
XslCompiledTransform xslt = new XslCompiledTransform();
xslt.Load("output.xsl");
// Create the FileStream.
using (FileStream fs = new FileStream(@"c:\data\output.xml", FileMode.Create))
{
// Execute the transformation.
xslt.Transform(new XPathDocument("books.xml"), null, fs);
}
' Load the style sheet.
Dim xslt As New XslCompiledTransform()
xslt.Load("output.xsl")
' Create the FileStream.
Using fs As New FileStream("c:\data\output.xml", FileMode.Create)
' Execute the transformation.
xslt.Transform(New XPathDocument("books.xml"), Nothing, fs)
End Using
Hinweise
Wenn die XSLT-Funktion document()
aktiviert ist, wird sie mit XmlUrlResolver keinen Benutzeranmeldeinformationen aufgelöst. Wenn sich die externe Ressource auf einer Netzwerkressource befindet, die Authentifizierung erfordert, verwenden Sie die Überladung, die als eines XmlResolver seiner Argumente verwendet wird, und geben Sie eine XmlResolver mit den erforderlichen Anmeldeinformationen an.
Diese Methode unterstützt das xsl:strip-space
Element nicht. Wenn das kompilierte Stylesheet das xsl:strip-space
Element enthält, müssen Sie die Überladung verwenden, die Transform als XmlReader Eingabeargument verwendet wird.
Die IXPathNavigable-Schnittstelle ist in der XmlNode-Klasse und der XPathDocument-Klasse implementiert. Diese Klassen stellen einen speicherinternen Cache der XML-Daten dar.
Die XmlNode-Klasse basiert auf dem W3C-DOM (Document Object Model) und umfasst Bearbeitungsfunktionen.
Die XPathDocument-Klasse ist ein schreibgeschützter Datenspeicher, der auf dem XPath-Datenmodell basiert. XPathDocument ist die empfohlene Klasse zu XSLT-Verarbeitung. Im Vergleich zur XmlNode-Klasse bietet sie eine schnellere Leistung.
Transformationen werden auf das gesamte Dokument angewendet. Wenn Sie einen anderen Knoten als den Stammknoten des Dokuments übergeben, wird dadurch nicht verhindert, dass im Transformationsprozess auf alle Knoten im geladenen Dokument zugegriffen wird. Zum Transformieren eines Knotenfragments müssen Sie ein Objekt erstellen, das nur das Knotenfragment enthält, und dieses Objekt an die Transform-Methode übergeben. Weitere Informationen finden Sie unter Vorgehensweise: Transformieren eines Knotenfragments.
Siehe auch
Gilt für
Transform(XmlReader, XsltArgumentList, XmlWriter)
Führt die Transformation anhand des vom XmlReader-Objekt angegebenen Eingabedokuments aus und gibt die Ergebnisse an einen XmlWriter aus. Die XsltArgumentList stellt zusätzliche Laufzeitargumente bereit.
public:
void Transform(System::Xml::XmlReader ^ input, System::Xml::Xsl::XsltArgumentList ^ arguments, System::Xml::XmlWriter ^ results);
public void Transform (System.Xml.XmlReader input, System.Xml.Xsl.XsltArgumentList? arguments, System.Xml.XmlWriter results);
public void Transform (System.Xml.XmlReader input, System.Xml.Xsl.XsltArgumentList arguments, System.Xml.XmlWriter results);
member this.Transform : System.Xml.XmlReader * System.Xml.Xsl.XsltArgumentList * System.Xml.XmlWriter -> unit
Public Sub Transform (input As XmlReader, arguments As XsltArgumentList, results As XmlWriter)
Parameter
- arguments
- XsltArgumentList
Eine XsltArgumentList mit durch Namespaces gekennzeichneten Argumenten, die als Eingabe für die Transformation verwendet werden. Dieser Wert kann null
sein.
- results
- XmlWriter
Der XmlWriter, an den die Ausgabe erfolgen soll.
Wenn das Stylesheet ein xsl:output
-Element enthält, müssen Sie den XmlWriter mithilfe des XmlWriterSettings-Objekts erstellen, das von der OutputSettings-Eigenschaft zurückgegeben wird. Dieses Verfahren stellt sicher, dass XmlWriter die richtigen Ausgabeeinstellungen verwendet.
Ausnahmen
Der input
-Wert oder der results
-Wert ist null
.
Bei der Ausführung der XSLT-Transformation ist ein Fehler aufgetreten.
Hinweise
Wenn das Stylesheet eine XSLT-Funktion document()
enthält, wird es mithilfe einer XmlUrlResolver Benutzeranmeldeinformationen aufgelöst. Wenn sich die externe Ressource auf einer Netzwerkressource befindet, die Authentifizierung erfordert, verwenden Sie die Überladung, die als eines XmlResolver seiner Argumente verwendet wird, und geben Sie eine XmlResolver mit den erforderlichen Anmeldeinformationen an.
Siehe auch
Gilt für
Transform(XmlReader, XsltArgumentList, Stream)
Führt die Transformation anhand des vom XmlReader-Objekt angegebenen Eingabedokuments aus und gibt die Ergebnisse an einen Stream aus. Die XsltArgumentList stellt zusätzliche Laufzeitargumente bereit.
public:
void Transform(System::Xml::XmlReader ^ input, System::Xml::Xsl::XsltArgumentList ^ arguments, System::IO::Stream ^ results);
public void Transform (System.Xml.XmlReader input, System.Xml.Xsl.XsltArgumentList? arguments, System.IO.Stream results);
public void Transform (System.Xml.XmlReader input, System.Xml.Xsl.XsltArgumentList arguments, System.IO.Stream results);
member this.Transform : System.Xml.XmlReader * System.Xml.Xsl.XsltArgumentList * System.IO.Stream -> unit
Public Sub Transform (input As XmlReader, arguments As XsltArgumentList, results As Stream)
Parameter
- arguments
- XsltArgumentList
Eine XsltArgumentList mit durch Namespaces gekennzeichneten Argumenten, die als Eingabe für die Transformation verwendet werden. Dieser Wert kann null
sein.
- results
- Stream
Der Stream, in den ausgegeben werden soll.
Ausnahmen
Der input
-Wert oder der results
-Wert ist null
.
Bei der Ausführung der XSLT-Transformation ist ein Fehler aufgetreten.
Hinweise
Wenn das Stylesheet eine XSLT-Funktion document()
enthält, wird es mit XmlUrlResolver keinem Benutzeranmeldeinformationen aufgelöst. Wenn sich die externe Ressource in einer Netzwerkressource befindet, die eine Authentifizierung erfordert, verwenden Sie die Überladung, die als eine der Argumente verwendet XmlResolver wird, und geben Sie eine XmlResolver mit den erforderlichen Anmeldeinformationen an.
Siehe auch
Gilt für
Transform(String, String)
Führt die Transformation anhand des vom URI angegebenen Eingabedokuments aus und gibt die Ergebnisse in eine Datei aus.
public:
void Transform(System::String ^ inputUri, System::String ^ resultsFile);
public void Transform (string inputUri, string resultsFile);
member this.Transform : string * string -> unit
Public Sub Transform (inputUri As String, resultsFile As String)
Parameter
- inputUri
- String
Der URI des Eingabedokuments.
- resultsFile
- String
Der URI der Ausgabedatei.
Ausnahmen
Der inputUri
-Wert oder der resultsFile
-Wert ist null
.
Bei der Ausführung der XSLT-Transformation ist ein Fehler aufgetreten.
Das Eingabedokument kann nicht gefunden werden.
Der inputUri
-Wert oder der resultsFile
-Wert enthält einen Dateinamen oder ein Verzeichnis, das nicht gefunden werden kann.
Der inputUri
-Wert oder der resultsFile
-Wert kann nicht aufgelöst werden.
- oder - Bei der Verarbeitung der Anforderung ist ein Fehler aufgetreten.
inputUri
oder resultsFile
ist kein gültiger URI.
Beim Laden des Eingabedokuments ist ein Analysefehler aufgetreten.
Beispiele
Im folgenden Beispiel wird eine Transformation ausgeführt und in eine Datei ausgegeben.
// Load the style sheet.
XslCompiledTransform xslt = new XslCompiledTransform();
xslt.Load("output.xsl");
// Execute the transform and output the results to a file.
xslt.Transform("books.xml", "books.html");
' Load the style sheet.
Dim xslt As New XslCompiledTransform()
xslt.Load("output.xsl")
' Execute the transform and output the results to a file.
xslt.Transform("books.xml", "books.html")
Im 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
Diese Methode verwendet eine Standardeinstellung XmlUrlResolver ohne Benutzeranmeldeinformationen, um die Eingabe- und Ausgabedokumente zu beheben. Wenn sich eine dieser Ressourcen auf einer Netzwerkressource befindet, die eine Authentifizierung erfordert, verwenden Sie die Überladung, die als eines XmlResolver seiner Argumente verwendet wird, und geben Sie eine XmlResolver mit den erforderlichen Anmeldeinformationen an.
Eine XmlReader Standardeinstellung wird verwendet, um das Eingabedokument zu laden. Die DTD-Verarbeitung ist auf der XmlReader. Wenn Sie die DTD-Verarbeitung benötigen, erstellen Sie ein XmlReader Feature mit aktivierter Funktion, und übergeben Sie es an die Transform Methode.
Siehe auch
Gilt für
Transform(String, XsltArgumentList, TextWriter)
Führt die Transformation anhand des vom URI angegebenen Eingabedokuments aus und gibt die Ergebnisse an einen TextWriter aus.
public:
void Transform(System::String ^ inputUri, System::Xml::Xsl::XsltArgumentList ^ arguments, System::IO::TextWriter ^ results);
public void Transform (string inputUri, System.Xml.Xsl.XsltArgumentList? arguments, System.IO.TextWriter results);
public void Transform (string inputUri, System.Xml.Xsl.XsltArgumentList arguments, System.IO.TextWriter results);
member this.Transform : string * System.Xml.Xsl.XsltArgumentList * System.IO.TextWriter -> unit
Public Sub Transform (inputUri As String, arguments As XsltArgumentList, results As TextWriter)
Parameter
- inputUri
- String
Der URI des Eingabedokuments.
- arguments
- XsltArgumentList
Eine XsltArgumentList mit durch Namespaces gekennzeichneten Argumenten, die als Eingabe für die Transformation verwendet werden. Dieser Wert kann null
sein.
- results
- TextWriter
Der TextWriter, an den die Ausgabe erfolgen soll.
Ausnahmen
Der inputUri
-Wert oder der results
-Wert ist null
.
Bei der Ausführung der XSLT-Transformation ist ein Fehler aufgetreten.
Der inputUri
-Wert enthält einen Dateinamen oder ein Verzeichnis, das nicht gefunden werden kann.
Der inputUri
-Wert kann nicht aufgelöst werden.
- oder - Bei der Verarbeitung der Anforderung ist ein Fehler aufgetreten.
inputUri
ist kein gültiger URI.
Beim Laden des Eingabedokuments ist ein Analysefehler aufgetreten.
Beispiele
Im folgenden Beispiel wird eine XSLT-Transformation ausgeführt und eine Zeichenfolge ausgegeben.
// Load the style sheet.
XslCompiledTransform xslt = new XslCompiledTransform();
xslt.Load("HTML_out.xsl");
// Transform the file and output an HTML string.
string HTMLoutput;
StringWriter writer = new StringWriter();
xslt.Transform("books.xml", null, writer);
HTMLoutput = writer.ToString();
writer.Close();
' Load the style sheet.
Dim xslt As New XslCompiledTransform()
xslt.Load("HTML_out.xsl")
' Transform the file and output an HTML string.
Dim HTMLoutput As String
Dim writer As New StringWriter()
xslt.Transform("books.xml", Nothing, writer)
HTMLoutput = writer.ToString()
writer.Close()
Hinweise
Diese Methode verwendet eine Standardeinstellung XmlUrlResolver ohne Benutzeranmeldeinformationen, um das Eingabedokument und alle Instanzen der XSLT-Funktion document()
zu beheben, die im Stylesheet gefunden wurde. Wenn sich eine dieser Ressourcen in einer Netzwerkressource befindet, die eine Authentifizierung erfordert, verwenden Sie die Überladung, die als eine der Argumente verwendet XmlResolver wird, und geben Sie eine XmlResolver mit den erforderlichen Anmeldeinformationen an.
Eine XmlReader standardeinstellung wird verwendet, um das Eingabedokument zu laden. Die DTD-Verarbeitung ist auf dem XmlReader. Wenn Sie DIE DTD-Verarbeitung benötigen, erstellen Sie eine XmlReader mit diesem Feature aktivierte Funktion, und übergeben Sie sie an die Transform Methode.
Siehe auch
Gilt für
Transform(String, XsltArgumentList, Stream)
Führt die Transformation anhand des vom URI angegebenen Eingabedokuments aus und gibt die Ergebnisse an einen Stream aus. Die XsltArgumentList stellt zusätzliche Laufzeitargumente bereit.
public:
void Transform(System::String ^ inputUri, System::Xml::Xsl::XsltArgumentList ^ arguments, System::IO::Stream ^ results);
public void Transform (string inputUri, System.Xml.Xsl.XsltArgumentList? arguments, System.IO.Stream results);
public void Transform (string inputUri, System.Xml.Xsl.XsltArgumentList arguments, System.IO.Stream results);
member this.Transform : string * System.Xml.Xsl.XsltArgumentList * System.IO.Stream -> unit
Public Sub Transform (inputUri As String, arguments As XsltArgumentList, results As Stream)
Parameter
- inputUri
- String
Der URI des Eingabedokuments.
- arguments
- XsltArgumentList
Eine XsltArgumentList mit durch Namespaces gekennzeichneten Argumenten, die als Eingabe für die Transformation verwendet werden. Dieser Wert kann null
sein.
- results
- Stream
Der Stream, in den ausgegeben werden soll.
Ausnahmen
Der inputUri
-Wert oder der results
-Wert ist null
.
Bei der Ausführung der XSLT-Transformation ist ein Fehler aufgetreten.
Der inputUri
-Wert enthält einen Dateinamen oder ein Verzeichnis, das nicht gefunden werden kann.
Der inputUri
-Wert kann nicht aufgelöst werden.
- oder - Bei der Verarbeitung der Anforderung ist ein Fehler aufgetreten.
inputUri
ist kein gültiger URI.
Beim Laden des Eingabedokuments ist ein Analysefehler aufgetreten.
Hinweise
Diese Methode verwendet eine Standardeinstellung XmlUrlResolver ohne Benutzeranmeldeinformationen, um das Eingabedokument und alle Instanzen der XSLT-Funktion document()
zu beheben, die im Stylesheet gefunden wurde. Wenn sich eine dieser Ressourcen in einer Netzwerkressource befindet, die eine Authentifizierung erfordert, verwenden Sie die Überladung, die als eine der Argumente verwendet XmlResolver wird, und geben Sie eine XmlResolver mit den erforderlichen Anmeldeinformationen an.
Eine XmlReader standardeinstellung wird verwendet, um das Eingabedokument zu laden. Die DTD-Verarbeitung ist auf dem XmlReader. Wenn Sie DIE DTD-Verarbeitung benötigen, erstellen Sie eine XmlReader mit diesem Feature aktivierte Funktion, und übergeben Sie sie an die Transform Methode.
Siehe auch
Gilt für
Transform(IXPathNavigable, XmlWriter)
Führt die Transformation anhand des vom IXPathNavigable-Objekt angegebenen Eingabedokuments aus und gibt die Ergebnisse an einen XmlWriter aus.
public:
void Transform(System::Xml::XPath::IXPathNavigable ^ input, System::Xml::XmlWriter ^ results);
public void Transform (System.Xml.XPath.IXPathNavigable input, System.Xml.XmlWriter results);
member this.Transform : System.Xml.XPath.IXPathNavigable * System.Xml.XmlWriter -> unit
Public Sub Transform (input As IXPathNavigable, results As XmlWriter)
Parameter
- input
- IXPathNavigable
Ein Objekt, das die IXPathNavigable-Schnittstelle implementiert. Dabei kann es sich in Microsoft .NET Framework entweder um einen XmlNode (i. d. R. ein XmlDocument) oder um ein XPathDocument mit den zu transformierenden Daten handeln.
- results
- XmlWriter
Der XmlWriter, an den die Ausgabe erfolgen soll.
Wenn das Stylesheet ein xsl:output
-Element enthält, müssen Sie den XmlWriter mithilfe des XmlWriterSettings-Objekts erstellen, das von der OutputSettings-Eigenschaft zurückgegeben wird. Dieses Verfahren stellt sicher, dass XmlWriter die richtigen Ausgabeeinstellungen verwendet.
Ausnahmen
Der input
-Wert oder der results
-Wert ist null
.
Bei der Ausführung der XSLT-Transformation ist ein Fehler aufgetreten.
Beispiele
Im folgenden Beispiel wird eine XSLT-Transformation ausgeführt und an ein XmlWriter Objekt ausgegeben.
// Load the style sheet.
XslCompiledTransform xslt = new XslCompiledTransform();
xslt.Load("output.xsl");
// Create the writer.
XmlWriterSettings settings = new XmlWriterSettings();
settings.Indent = true;
settings.IndentChars = "\t";
XmlWriter writer = XmlWriter.Create("output.xml", settings);
// Execute the transformation.
xslt.Transform(new XPathDocument("books.xml"), writer);
writer.Close();
' Load the style sheet.
Dim xslt As New XslCompiledTransform()
xslt.Load("output.xsl")
' Create the writer.
Dim settings As New XmlWriterSettings()
settings.Indent = True
settings.IndentChars = vbTab
Dim writer As XmlWriter = XmlWriter.Create("output.xml", settings)
' Execute the transformation.
xslt.Transform(New XPathDocument("books.xml"), writer)
writer.Close()
Hinweise
Wenn die XSLT-Funktion document()
aktiviert ist, wird sie mit XmlUrlResolver keinen Benutzeranmeldeinformationen aufgelöst. Wenn sich die externe Ressource auf einer Netzwerkressource befindet, die Authentifizierung erfordert, verwenden Sie die Überladung, die als eines XmlResolver seiner Argumente verwendet wird, und geben Sie eine XmlResolver mit den erforderlichen Anmeldeinformationen an.
Diese Methode unterstützt das xsl:strip-space
Element nicht. Wenn das kompilierte Stylesheet das xsl:strip-space
Element enthält, müssen Sie die Überladung verwenden, die Transform als XmlReader Eingabeargument verwendet wird.
Die IXPathNavigable-Schnittstelle ist in der XmlNode-Klasse und der XPathDocument-Klasse implementiert. Diese Klassen stellen einen speicherinternen Cache der XML-Daten dar.
Die XmlNode-Klasse basiert auf dem W3C-DOM (Document Object Model) und umfasst Bearbeitungsfunktionen.
Die XPathDocument-Klasse ist ein schreibgeschützter Datenspeicher, der auf dem XPath-Datenmodell basiert. XPathDocument ist die empfohlene Klasse zu XSLT-Verarbeitung. Im Vergleich zur XmlNode-Klasse bietet sie eine schnellere Leistung.
Transformationen werden auf das gesamte Dokument angewendet. Wenn Sie einen anderen Knoten als den Stammknoten des Dokuments übergeben, wird dadurch nicht verhindert, dass im Transformationsprozess auf alle Knoten im geladenen Dokument zugegriffen wird. Zum Transformieren eines Knotenfragments müssen Sie ein Objekt erstellen, das nur das Knotenfragment enthält, und dieses Objekt an die Transform-Methode übergeben. Weitere Informationen finden Sie unter Vorgehensweise: Transformieren eines Knotenfragments.
Siehe auch
Gilt für
Transform(XmlReader, XmlWriter)
public:
void Transform(System::Xml::XmlReader ^ input, System::Xml::XmlWriter ^ results);
public void Transform (System.Xml.XmlReader input, System.Xml.XmlWriter results);
member this.Transform : System.Xml.XmlReader * System.Xml.XmlWriter -> unit
Public Sub Transform (input As XmlReader, results As XmlWriter)
Parameter
- results
- XmlWriter
Der XmlWriter, an den die Ausgabe erfolgen soll.
Wenn das Stylesheet ein xsl:output
-Element enthält, müssen Sie den XmlWriter mithilfe des XmlWriterSettings-Objekts erstellen, das von der OutputSettings-Eigenschaft zurückgegeben wird. Dieses Verfahren stellt sicher, dass XmlWriter die richtigen Ausgabeeinstellungen verwendet.
Ausnahmen
Der input
-Wert oder der results
-Wert ist null
.
Bei der Ausführung der XSLT-Transformation ist ein Fehler aufgetreten.
Beispiele
Im folgenden Beispiel wird das erste Buch in der datei books.xml transformiert.
// Load the style sheet.
XslCompiledTransform xslt = new XslCompiledTransform();
xslt.Load("output.xsl");
// Create the writer.
XmlWriterSettings settings = new XmlWriterSettings();
settings.Indent = true;
settings.IndentChars = "\t";
XmlWriter writer = XmlWriter.Create("output.xml", settings);
XmlReader reader = XmlReader.Create("books.xml");
reader.MoveToContent();
// Execute the transformation.
xslt.Transform(reader, writer);
writer.Close();
reader.Close();
' Load the style sheet.
Dim xslt As New XslCompiledTransform()
xslt.Load("output.xsl")
' Create the writer.
Dim settings As New XmlWriterSettings()
settings.Indent = True
settings.IndentChars = vbTab
Dim writer As XmlWriter = XmlWriter.Create("output.xml", settings)
Dim reader As XmlReader = XmlReader.Create("books.xml")
reader.MoveToContent()
' Execute the transformation.
xslt.Transform(reader, writer)
writer.Close()
reader.Close()
Hinweise
Wenn die XSLT-Funktion document()
aktiviert ist, wird sie mit XmlUrlResolver keinen Benutzeranmeldeinformationen aufgelöst. Wenn sich die externe Ressource auf einer Netzwerkressource befindet, die Authentifizierung erfordert, verwenden Sie die Überladung, die als eines XmlResolver seiner Argumente verwendet wird, und geben Sie eine XmlResolver mit den erforderlichen Anmeldeinformationen an.
Siehe auch
Gilt für
Transform(String, XmlWriter)
Führt die Transformation anhand des vom URI angegebenen Eingabedokuments aus und gibt die Ergebnisse an einen XmlWriter aus.
public:
void Transform(System::String ^ inputUri, System::Xml::XmlWriter ^ results);
public void Transform (string inputUri, System.Xml.XmlWriter results);
member this.Transform : string * System.Xml.XmlWriter -> unit
Public Sub Transform (inputUri As String, results As XmlWriter)
Parameter
- inputUri
- String
Der URI des Eingabedokuments.
- results
- XmlWriter
Der XmlWriter, an den die Ausgabe erfolgen soll.
Wenn das Stylesheet ein xsl:output
-Element enthält, müssen Sie den XmlWriter mithilfe des XmlWriterSettings-Objekts erstellen, das von der OutputSettings-Eigenschaft zurückgegeben wird. Dieses Verfahren stellt sicher, dass XmlWriter die richtigen Ausgabeeinstellungen verwendet.
Ausnahmen
Der inputUri
-Wert oder der results
-Wert ist null
.
Bei der Ausführung der XSLT-Transformation ist ein Fehler aufgetreten.
Der inputUri
-Wert enthält einen Dateinamen oder ein Verzeichnis, das nicht gefunden werden kann.
Der inputUri
-Wert kann nicht aufgelöst werden.
- oder - Bei der Verarbeitung der Anforderung ist ein Fehler aufgetreten.
inputUri
ist kein gültiger URI.
Beim Laden des Eingabedokuments ist ein Analysefehler aufgetreten.
Beispiele
Im folgenden Beispiel wird eine XSLT-Transformation ausgeführt und in ein XmlWriter Objekt ausgegeben.
// Load the style sheet.
XslCompiledTransform xslt = new XslCompiledTransform();
xslt.Load("output.xsl");
// Create the writer.
XmlWriterSettings settings = new XmlWriterSettings();
settings.Indent = true;
settings.IndentChars = "\t";
XmlWriter writer = XmlWriter.Create("output.xml", settings);
// Execute the transformation.
xslt.Transform("books.xml", writer);
writer.Close();
' Load the style sheet.
Dim xslt As New XslCompiledTransform()
xslt.Load("output.xsl")
' Create the writer.
Dim settings As New XmlWriterSettings()
settings.Indent = True
settings.IndentChars = vbTab
Dim writer As XmlWriter = XmlWriter.Create("output.xml", settings)
' Execute the transformation.
xslt.Transform("books.xml", writer)
writer.Close()
Hinweise
Diese Methode verwendet eine Standardeinstellung XmlUrlResolver ohne Benutzeranmeldeinformationen, um das Eingabedokument und alle Instanzen der XSLT-Funktion document()
im Stylesheet aufzulösen. Wenn sich eine dieser Ressourcen auf einer Netzwerkressource befindet, die eine Authentifizierung erfordert, verwenden Sie die Überladung, die als eines XmlResolver seiner Argumente verwendet wird, und geben Sie eine XmlResolver mit den erforderlichen Anmeldeinformationen an.
Eine XmlReader Standardeinstellung wird verwendet, um das Eingabedokument zu laden. Die DTD-Verarbeitung ist auf der XmlReader. Wenn Sie die DTD-Verarbeitung benötigen, erstellen Sie ein XmlReader Feature mit aktivierter Funktion, und übergeben Sie es an die Transform Methode.
Diese Methode unterstützt das xsl:strip-space
Element nicht. Wenn das kompilierte Stylesheet das xsl:strip-space
Element enthält, müssen Sie die Überladung verwenden, die Transform als XmlReader Eingabeargument verwendet wird.
Siehe auch
Gilt für
Transform(XmlReader, XsltArgumentList, XmlWriter, XmlResolver)
Führt die Transformation anhand des vom XmlReader-Objekt angegebenen Eingabedokuments aus und gibt die Ergebnisse an einen XmlWriter aus. Die XsltArgumentList stellt zusätzliche Laufzeitargumente bereit, und der XmlResolver löst die document()
-XSLT-Funktion auf.
public:
void Transform(System::Xml::XmlReader ^ input, System::Xml::Xsl::XsltArgumentList ^ arguments, System::Xml::XmlWriter ^ results, System::Xml::XmlResolver ^ documentResolver);
public void Transform (System.Xml.XmlReader input, System.Xml.Xsl.XsltArgumentList? arguments, System.Xml.XmlWriter results, System.Xml.XmlResolver? documentResolver);
public void Transform (System.Xml.XmlReader input, System.Xml.Xsl.XsltArgumentList arguments, System.Xml.XmlWriter results, System.Xml.XmlResolver documentResolver);
member this.Transform : System.Xml.XmlReader * System.Xml.Xsl.XsltArgumentList * System.Xml.XmlWriter * System.Xml.XmlResolver -> unit
Public Sub Transform (input As XmlReader, arguments As XsltArgumentList, results As XmlWriter, documentResolver As XmlResolver)
Parameter
- arguments
- XsltArgumentList
Eine XsltArgumentList mit durch Namespaces gekennzeichneten Argumenten, die als Eingabe für die Transformation verwendet werden. Dieser Wert kann null
sein.
- results
- XmlWriter
Der XmlWriter, an den die Ausgabe erfolgen soll.
Wenn das Stylesheet ein xsl:output
-Element enthält, müssen Sie den XmlWriter mithilfe des XmlWriterSettings-Objekts erstellen, das von der OutputSettings-Eigenschaft zurückgegeben wird. Dieses Verfahren stellt sicher, dass XmlWriter die richtigen Ausgabeeinstellungen verwendet.
- documentResolver
- XmlResolver
Der zum Auflösen der XSLT-document()
-Funktion verwendete XmlResolver. Wenn dies null
ist, wird die document()
-Funktion nicht aufgelöst.
Ausnahmen
Der input
-Wert oder der results
-Wert ist null
.
Bei der Ausführung der XSLT-Transformation ist ein Fehler aufgetreten.
Beispiele
Im folgenden Beispiel wird die XmlSecureResolver XSLT-Funktion document()
aufgelöst.
// Create a resolver and specify the necessary credentials.
XmlSecureResolver resolver = new XmlSecureResolver(new XmlUrlResolver(), "http://serverName/data/");
System.Net.NetworkCredential myCred;
myCred = new System.Net.NetworkCredential(UserName,SecurelyStoredPassword,Domain);
resolver.Credentials = myCred;
XsltSettings settings = new XsltSettings();
settings.EnableDocumentFunction = true;
// Load the style sheet.
XslCompiledTransform xslt = new XslCompiledTransform();
xslt.Load("http://serverName/data/xsl/sort.xsl", settings, resolver);
// Transform the file.
using (XmlReader reader = XmlReader.Create("books.xml"))
{
using (XmlWriter writer = XmlWriter.Create("output.xml"))
{
xslt.Transform(reader, null, writer, resolver);
}
}
' Create a resolver and specify the necessary credentials.
Dim resolver As New XmlSecureResolver(New XmlUrlResolver(), "http://serverName/data/")
Dim myCred As System.Net.NetworkCredential
myCred = New System.Net.NetworkCredential(UserName, SecurelyStoredPassword, Domain)
resolver.Credentials = myCred
Dim settings As New XsltSettings()
settings.EnableDocumentFunction = True
' Load the style sheet.
Dim xslt As New XslCompiledTransform()
xslt.Load("http://serverName/data/xsl/sort.xsl", settings, resolver)
' Transform the file.
Using reader As XmlReader = XmlReader.Create("books.xml")
Using writer As XmlWriter = XmlWriter.Create("output.xml")
xslt.Transform(reader, Nothing, writer, resolver)
End Using
End Using
Siehe auch
Gilt für
Transform(String, XsltArgumentList, XmlWriter)
Führt die Transformation anhand des vom URI angegebenen Eingabedokuments aus und gibt die Ergebnisse an einen XmlWriter aus. Die XsltArgumentList stellt zusätzliche Laufzeitargumente bereit.
public:
void Transform(System::String ^ inputUri, System::Xml::Xsl::XsltArgumentList ^ arguments, System::Xml::XmlWriter ^ results);
public void Transform (string inputUri, System.Xml.Xsl.XsltArgumentList? arguments, System.Xml.XmlWriter results);
public void Transform (string inputUri, System.Xml.Xsl.XsltArgumentList arguments, System.Xml.XmlWriter results);
member this.Transform : string * System.Xml.Xsl.XsltArgumentList * System.Xml.XmlWriter -> unit
Public Sub Transform (inputUri As String, arguments As XsltArgumentList, results As XmlWriter)
Parameter
- inputUri
- String
Der URI des Eingabedokuments.
- arguments
- XsltArgumentList
Eine XsltArgumentList mit durch Namespaces gekennzeichneten Argumenten, die als Eingabe für die Transformation verwendet werden. Dieser Wert kann null
sein.
- results
- XmlWriter
Der XmlWriter, an den die Ausgabe erfolgen soll.
Wenn das Stylesheet ein xsl:output
-Element enthält, müssen Sie den XmlWriter mithilfe des XmlWriterSettings-Objekts erstellen, das von der OutputSettings-Eigenschaft zurückgegeben wird. Dieses Verfahren stellt sicher, dass XmlWriter die richtigen Ausgabeeinstellungen verwendet.
Ausnahmen
Der inputUri
-Wert oder der results
-Wert ist null
.
Bei der Ausführung der XSLT-Transformation ist ein Fehler aufgetreten.
Der inputtUri
-Wert enthält einen Dateinamen oder ein Verzeichnis, das nicht gefunden werden kann.
Der inputUri
-Wert kann nicht aufgelöst werden.
- oder - Bei der Verarbeitung der Anforderung ist ein Fehler aufgetreten.
inputUri
ist kein gültiger URI.
Beim Laden des Eingabedokuments ist ein Analysefehler aufgetreten.
Beispiele
Im folgenden Beispiel wird ein Objekt verwendet, um einen XsltArgumentList Parameter zu erstellen, der das aktuelle Datum und die aktuelle Uhrzeit darstellt.
using System;
using System.IO;
using System.Xml;
using System.Xml.Xsl;
public class Sample
{
public static void Main()
{
// Create the XslCompiledTransform and load the stylesheet.
XslCompiledTransform xslt = new XslCompiledTransform();
xslt.Load("order.xsl");
// Create the XsltArgumentList.
XsltArgumentList xslArg = new XsltArgumentList();
// Create a parameter which represents the current date and time.
DateTime d = DateTime.Now;
xslArg.AddParam("date", "", d.ToString());
// Transform the file.
using (XmlWriter w = XmlWriter.Create("output.xml"))
{
xslt.Transform("order.xml", xslArg, w);
}
}
}
Imports System.IO
Imports System.Xml
Imports System.Xml.Xsl
Public Class Sample
Public Shared Sub Main()
' Create the XslCompiledTransform and load the stylesheet.
Dim xslt As New XslCompiledTransform()
xslt.Load("order.xsl")
' Create the XsltArgumentList.
Dim xslArg As New XsltArgumentList()
' Create a parameter which represents the current date and time.
Dim d As DateTime = DateTime.Now
xslArg.AddParam("date", "", d.ToString())
Using w As XmlWriter = XmlWriter.Create("output.xml")
' Transform the file.
xslt.Transform("order.xml", xslArg, w)
End Using
End Sub
End Class
Im Beispiel werden die folgenden beiden Datendateien als Eingabe verwendet.
order.xml
<!--Represents a customer order-->
<order>
<book ISBN='10-861003-324'>
<title>The Handmaid's Tale</title>
<price>19.95</price>
</book>
<cd ISBN='2-3631-4'>
<title>Americana</title>
<price>16.95</price>
</cd>
</order>
order.xsl
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:param name="date"/>
<xsl:template match="/">
<order>
<date><xsl:value-of select="$date"/></date>
<total><xsl:value-of select="sum(//price)"/></total>
</order>
</xsl:template>
</xsl:stylesheet>
Hinweise
Diese Methode verwendet eine Standardeinstellung XmlUrlResolver ohne Benutzeranmeldeinformationen, um das Eingabedokument und alle Instanzen der XSLT-Funktion document()
zu beheben, die im Stylesheet gefunden wurde. Wenn sich eine dieser Ressourcen in einer Netzwerkressource befindet, die eine Authentifizierung erfordert, verwenden Sie die Überladung, die als eine der Argumente verwendet XmlResolver wird, und geben Sie eine XmlResolver mit den erforderlichen Anmeldeinformationen an.
Eine XmlReader standardeinstellung wird verwendet, um das Eingabedokument zu laden. Die DTD-Verarbeitung ist auf dem XmlReader. Wenn Sie DIE DTD-Verarbeitung benötigen, erstellen Sie eine XmlReader mit diesem Feature aktivierte Funktion, und übergeben Sie sie an die Transform Methode.
Siehe auch
Gilt für
Transform(IXPathNavigable, XsltArgumentList, XmlWriter, XmlResolver)
Führt die Transformation anhand des vom IXPathNavigable-Objekt angegebenen Eingabedokuments aus und gibt die Ergebnisse an einen XmlWriter aus. Die XsltArgumentList stellt zusätzliche Laufzeitargumente bereit, und der XmlResolver löst die XSLT-document()
-Funktion auf.
public:
void Transform(System::Xml::XPath::IXPathNavigable ^ input, System::Xml::Xsl::XsltArgumentList ^ arguments, System::Xml::XmlWriter ^ results, System::Xml::XmlResolver ^ documentResolver);
public void Transform (System.Xml.XPath.IXPathNavigable input, System.Xml.Xsl.XsltArgumentList? arguments, System.Xml.XmlWriter results, System.Xml.XmlResolver? documentResolver);
public void Transform (System.Xml.XPath.IXPathNavigable input, System.Xml.Xsl.XsltArgumentList arguments, System.Xml.XmlWriter results, System.Xml.XmlResolver documentResolver);
member this.Transform : System.Xml.XPath.IXPathNavigable * System.Xml.Xsl.XsltArgumentList * System.Xml.XmlWriter * System.Xml.XmlResolver -> unit
Public Sub Transform (input As IXPathNavigable, arguments As XsltArgumentList, results As XmlWriter, documentResolver As XmlResolver)
Parameter
- input
- IXPathNavigable
Das zu transformierende Dokument, das vom IXPathNavigable-Objekt angegeben wird.
- arguments
- XsltArgumentList
Argumentliste als XsltArgumentList.
- results
- XmlWriter
Der XmlWriter, an den die Ausgabe erfolgen soll.
Wenn das Stylesheet ein xsl:output
-Element enthält, müssen Sie den XmlWriter mithilfe des XmlWriterSettings-Objekts erstellen, das von der OutputSettings-Eigenschaft zurückgegeben wird. Dieses Verfahren stellt sicher, dass XmlWriter die richtigen Ausgabeeinstellungen verwendet.
- documentResolver
- XmlResolver
Der zum Auflösen der XSLT-document()
-Funktion verwendete XmlResolver. Wenn dies null
ist, wird die document()
-Funktion nicht aufgelöst.