XslCompiledTransform.Transform Methode

Definition

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 document()-XSLT-Funktion auf.

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-document()-Funktion auf.

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

input
XmlReader

Der XmlReader, der das Eingabedokument enthält.

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

input
XmlReader

Der XmlReader, der das Eingabedokument enthält.

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

input
XmlReader

Der XmlReader, der das Eingabedokument enthält.

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)

Führt die Transformation anhand des vom XmlReader-Objekt angegebenen Eingabedokuments aus und gibt die Ergebnisse an einen XmlWriter aus.

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

input
XmlReader

Der XmlReader, der das Eingabedokument enthält.

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

input
XmlReader

Der XmlReader, der das Eingabedokument enthält.

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.

Gilt für