XslCompiledTransform.Transform Metoda
Definice
Důležité
Některé informace platí pro předběžně vydaný produkt, který se může zásadně změnit, než ho výrobce nebo autor vydá. Microsoft neposkytuje žádné záruky, výslovné ani předpokládané, týkající se zde uváděných informací.
Provede transformaci XSLT.
Přetížení
Transform(XmlReader, XsltArgumentList, TextWriter) |
Provede transformaci pomocí vstupního dokumentu určeného objektem XmlReader a vypíše výsledky do TextWritersouboru . Poskytuje XsltArgumentList další argumenty za běhu. |
Transform(IXPathNavigable, XsltArgumentList, XmlWriter) |
Provede transformaci pomocí vstupního dokumentu určeného objektem IXPathNavigable a vypíše výsledky do objektu XmlWriter. Poskytuje XsltArgumentList další argumenty za běhu. |
Transform(IXPathNavigable, XsltArgumentList, TextWriter) |
Provede transformaci pomocí vstupního dokumentu určeného objektem IXPathNavigable a vypíše výsledky do objektu TextWriter. Poskytuje XsltArgumentList další argumenty za běhu. |
Transform(IXPathNavigable, XsltArgumentList, Stream) |
Provede transformaci pomocí vstupního dokumentu určeného IXPathNavigable objektem a vypíše výsledky do datového proudu. Poskytuje XsltArgumentList další argumenty modulu runtime. |
Transform(XmlReader, XsltArgumentList, XmlWriter) |
Provede transformaci pomocí vstupního dokumentu určeného objektem XmlReader a vypíše výsledky do objektu XmlWriter. Poskytuje XsltArgumentList další argumenty za běhu. |
Transform(XmlReader, XsltArgumentList, Stream) |
Provede transformaci pomocí vstupního dokumentu určeného XmlReader objektem a vypíše výsledky do datového proudu. Poskytuje XsltArgumentList další argumenty za běhu. |
Transform(String, String) |
Provede transformaci pomocí vstupního dokumentu určeného identifikátorem URI a výstupem výsledků do souboru. |
Transform(String, XsltArgumentList, TextWriter) |
Provede transformaci pomocí vstupního dokumentu určeného identifikátorem URI a vypíše výsledky do TextWritersouboru . |
Transform(String, XsltArgumentList, Stream) |
Provede transformaci pomocí vstupního dokumentu určeného identifikátorem URI a vypíše výsledky do datového proudu. Poskytuje XsltArgumentList další argumenty za běhu. |
Transform(IXPathNavigable, XmlWriter) |
Provede transformaci pomocí vstupního dokumentu určeného objektem IXPathNavigable a vypíše výsledky do objektu XmlWriter. |
Transform(XmlReader, XmlWriter) |
Provede transformaci pomocí vstupního dokumentu určeného objektem XmlReader a vypíše výsledky do objektu XmlWriter. |
Transform(String, XmlWriter) |
Provede transformaci pomocí vstupního dokumentu určeného identifikátorem URI a výstupem výsledků do objektu XmlWriter. |
Transform(XmlReader, XsltArgumentList, XmlWriter, XmlResolver) |
Provede transformaci pomocí vstupního dokumentu určeného objektem XmlReader a vypíše výsledky do objektu XmlWriter. Poskytuje XsltArgumentList další argumenty za běhu a XmlResolver překládá funkci |
Transform(String, XsltArgumentList, XmlWriter) |
Provede transformaci pomocí vstupního dokumentu určeného identifikátorem URI a vypíše výsledky do XmlWritersouboru . Poskytuje XsltArgumentList další argumenty za běhu. |
Transform(IXPathNavigable, XsltArgumentList, XmlWriter, XmlResolver) |
Provede transformaci pomocí vstupního dokumentu určeného IXPathNavigable objektem a výstupem výsledků do objektu XmlWriter. Poskytuje XsltArgumentList další argumenty za běhu a XmlResolver překládá funkci XSLT |
Poznámky
Poznámka
Existují rozdíly mezi XSLT zkompilovaným v režimu ladění a XSLT kompilovaným v režimu vydané verze. V některých situacích nebudou šablony stylů kompilované v režimu ladění vyvolat chyby během Load, ale později selžou během Transform. Stejná šablona stylů zkompilovaná v režimu vydání selže během Load. Příkladem takového chování je, že proměnná, která není typu sady uzlů, je přiřazena výrazu, ve kterém je požadována sada uzlů.
Transform(XmlReader, XsltArgumentList, TextWriter)
Provede transformaci pomocí vstupního dokumentu určeného objektem XmlReader a vypíše výsledky do TextWritersouboru . Poskytuje XsltArgumentList další argumenty za běhu.
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)
Parametry
- arguments
- XsltArgumentList
Obsahující XsltArgumentList argumenty kvalifikované k oboru názvů používané jako vstup pro transformaci. Tato hodnota může být null
.
- results
- TextWriter
Do TextWriter kterého chcete výstup provést.
Výjimky
Hodnota input
nebo results
hodnota je null
.
Při provádění transformace XSLT došlo k chybě.
Poznámky
Pokud šablona stylů obsahuje funkci XSLT document()
, je vyřešena pomocí XmlUrlResolver bez přihlašovacích údajů uživatele. Pokud je externí prostředek umístěný v síťovém prostředku, který vyžaduje ověření, použijte přetížení, které přebírá XmlResolver jako jeden z jeho argumentů a zadejte XmlResolver potřebné přihlašovací údaje.
Viz také
Platí pro
Transform(IXPathNavigable, XsltArgumentList, XmlWriter)
Provede transformaci pomocí vstupního dokumentu určeného objektem IXPathNavigable a vypíše výsledky do objektu XmlWriter. Poskytuje XsltArgumentList další argumenty za běhu.
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)
Parametry
- input
- IXPathNavigable
Objekt implementuje IXPathNavigable rozhraní. V microsoft .NET Framework to může být buď (XmlNodeobvykle ), XmlDocumentnebo XPathDocument obsahující data, která se mají transformovat.
- arguments
- XsltArgumentList
Obsahující XsltArgumentList argumenty kvalifikované k oboru názvů používané jako vstup pro transformaci. Tato hodnota může být null
.
- results
- XmlWriter
Do XmlWriter kterého chcete výstup provést.
Pokud šablona stylů obsahuje element xsl:output
, měli byste vytvořit XmlWriter pomocí objektu vráceného XmlWriterSettings OutputSettings z vlastnosti. Tím zajistíte, že má správná nastavení výstupu XmlWriter .
Výjimky
Hodnota input
nebo results
hodnota je null
.
Při provádění transformace XSLT došlo k chybě.
Poznámky
Pokud je funkce XSLT document()
povolená, je vyřešena pomocí XmlUrlResolver bez přihlašovacích údajů uživatele. Pokud je externí prostředek umístěný v síťovém prostředku, který vyžaduje ověření, použijte přetížení, které přebírá XmlResolver jako jeden z jeho argumentů a zadejte XmlResolver potřebné přihlašovací údaje.
Tato metoda xsl:strip-space
nepodporuje prvek. Pokud kompilovaná šablona stylů obsahovala xsl:strip-space
prvek, musíte použít Transform přetížení, které přebírá XmlReader jako vstupní argument.
Rozhraní IXPathNavigable je implementováno v třídáchXmlNode.XPathDocument Tyto třídy představují mezipaměť dat XML v paměti.
Třída XmlNode je založená na modelu DOM (Document Object Model) W3C a zahrnuje možnosti úprav.
Třída XPathDocument je úložiště dat jen pro čtení založené na datovém modelu XPath. XPathDocument je doporučená třída pro zpracování XSLT. Poskytuje rychlejší výkon ve srovnání s XmlNode třídou.
Transformace se vztahují na dokument jako celek. Jinými slovy, pokud předáte jiný uzel než kořenový uzel dokumentu, nezabráníte procesu transformace v přístupu ke všem uzlům v načteném dokumentu. Chcete-li transformovat fragment uzlu, musíte vytvořit objekt obsahující pouze fragment uzlu a předat tento objekt metodě Transform . Další informace najdete v tématu Postupy: Transformace fragmentu uzlu.
Viz také
Platí pro
Transform(IXPathNavigable, XsltArgumentList, TextWriter)
Provede transformaci pomocí vstupního dokumentu určeného objektem IXPathNavigable a vypíše výsledky do objektu TextWriter. Poskytuje XsltArgumentList další argumenty za běhu.
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)
Parametry
- input
- IXPathNavigable
Objekt implementuje IXPathNavigable rozhraní. V microsoft .NET Framework to může být buď (XmlNodeobvykle ), XmlDocumentnebo XPathDocument obsahující data, která se mají transformovat.
- arguments
- XsltArgumentList
Obsahující XsltArgumentList argumenty kvalifikované k oboru názvů používané jako vstup pro transformaci. Tato hodnota může být null
.
- results
- TextWriter
Do TextWriter kterého chcete výstup provést.
Výjimky
Hodnota input
nebo results
hodnota je null
.
Při provádění transformace XSLT došlo k chybě.
Poznámky
Pokud je funkce XSLT document()
povolená, je vyřešena pomocí XmlUrlResolver bez přihlašovacích údajů uživatele. Pokud je externí prostředek umístěný v síťovém prostředku, který vyžaduje ověření, použijte přetížení, které přebírá XmlResolver jako jeden z jeho argumentů a zadejte XmlResolver potřebné přihlašovací údaje.
Tato metoda xsl:strip-space
nepodporuje prvek. Pokud kompilovaná šablona stylů obsahovala xsl:strip-space
prvek, musíte použít Transform přetížení, které přebírá XmlReader jako vstupní argument.
Rozhraní IXPathNavigable je implementováno v třídáchXmlNode.XPathDocument Tyto třídy představují mezipaměť dat XML v paměti.
Třída XmlNode je založená na modelu DOM (Document Object Model) W3C a zahrnuje možnosti úprav.
Třída XPathDocument je úložiště dat jen pro čtení založené na datovém modelu XPath. XPathDocument je doporučená třída pro zpracování XSLT. Poskytuje rychlejší výkon ve srovnání s XmlNode třídou.
Transformace se vztahují na dokument jako celek. Jinými slovy, pokud předáte jiný uzel než kořenový uzel dokumentu, nezabráníte procesu transformace v přístupu ke všem uzlům v načteném dokumentu. Chcete-li transformovat fragment uzlu, musíte vytvořit objekt obsahující pouze fragment uzlu a předat tento objekt metodě Transform . Další informace najdete v tématu Postupy: Transformace fragmentu uzlu.
Viz také
Platí pro
Transform(IXPathNavigable, XsltArgumentList, Stream)
Provede transformaci pomocí vstupního dokumentu určeného IXPathNavigable objektem a vypíše výsledky do datového proudu. Poskytuje XsltArgumentList další argumenty modulu runtime.
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)
Parametry
- input
- IXPathNavigable
Objekt implementuje IXPathNavigable rozhraní. V microsoft .NET Framework to může být buď (XmlNodeobvykle ), XmlDocumentnebo XPathDocument obsahující data, která se mají transformovat.
- arguments
- XsltArgumentList
Obsahující XsltArgumentList argumenty kvalifikované k oboru názvů používané jako vstup pro transformaci. Tato hodnota může být null
.
- results
- Stream
Datový proud, do kterého chcete výstup provést.
Výjimky
Hodnota input
nebo results
hodnota je null
.
Při provádění transformace XSLT došlo k chybě.
Příklady
Následující příklad spustí transformaci XSLT a výstupy na 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
Poznámky
Pokud je funkce XSLT document()
povolená, je vyřešena pomocí XmlUrlResolver bez přihlašovacích údajů uživatele. Pokud je externí prostředek umístěný v síťovém prostředku, který vyžaduje ověření, použijte přetížení, které přebírá XmlResolver jako jeden z jeho argumentů a zadejte XmlResolver potřebné přihlašovací údaje.
Tato metoda xsl:strip-space
nepodporuje prvek. Pokud kompilovaná šablona stylů obsahovala xsl:strip-space
prvek, musíte použít Transform přetížení, které přebírá XmlReader jako vstupní argument.
Rozhraní IXPathNavigable je implementováno v třídáchXmlNode.XPathDocument Tyto třídy představují mezipaměť dat XML v paměti.
Třída XmlNode je založená na modelu DOM (Document Object Model) W3C a zahrnuje možnosti úprav.
Třída XPathDocument je úložiště dat jen pro čtení založené na datovém modelu XPath. XPathDocument je doporučená třída pro zpracování XSLT. Poskytuje rychlejší výkon ve srovnání s XmlNode třídou.
Transformace se vztahují na dokument jako celek. Jinými slovy, pokud předáte jiný uzel než kořenový uzel dokumentu, nezabráníte procesu transformace v přístupu ke všem uzlům v načteném dokumentu. Chcete-li transformovat fragment uzlu, musíte vytvořit objekt obsahující pouze fragment uzlu a předat tento objekt metodě Transform . Další informace najdete v tématu Postupy: Transformace fragmentu uzlu.
Viz také
Platí pro
Transform(XmlReader, XsltArgumentList, XmlWriter)
Provede transformaci pomocí vstupního dokumentu určeného objektem XmlReader a vypíše výsledky do objektu XmlWriter. Poskytuje XsltArgumentList další argumenty za běhu.
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)
Parametry
- arguments
- XsltArgumentList
Obsahující XsltArgumentList argumenty kvalifikované k oboru názvů používané jako vstup pro transformaci. Tato hodnota může být null
.
- results
- XmlWriter
Do XmlWriter kterého chcete výstup provést.
Pokud šablona stylů obsahuje element xsl:output
, měli byste vytvořit XmlWriter pomocí objektu vráceného XmlWriterSettings OutputSettings z vlastnosti. Tím zajistíte, že má správná nastavení výstupu XmlWriter .
Výjimky
Hodnota input
nebo results
hodnota je null
.
Při provádění transformace XSLT došlo k chybě.
Poznámky
Pokud šablona stylů obsahuje funkci XSLT document()
, je vyřešena pomocí XmlUrlResolver bez přihlašovacích údajů uživatele. Pokud je externí prostředek umístěný v síťovém prostředku, který vyžaduje ověření, použijte přetížení, které přebírá XmlResolver jako jeden z jeho argumentů a zadejte XmlResolver potřebné přihlašovací údaje.
Viz také
Platí pro
Transform(XmlReader, XsltArgumentList, Stream)
Provede transformaci pomocí vstupního dokumentu určeného XmlReader objektem a vypíše výsledky do datového proudu. Poskytuje XsltArgumentList další argumenty za běhu.
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)
Parametry
- arguments
- XsltArgumentList
Obsahující XsltArgumentList argumenty kvalifikované k oboru názvů používané jako vstup pro transformaci. Tato hodnota může být null
.
- results
- Stream
Datový proud, do kterého chcete výstup provést.
Výjimky
Hodnota input
nebo results
hodnota je null
.
Při provádění transformace XSLT došlo k chybě.
Poznámky
Pokud šablona stylů obsahuje funkci XSLT document()
, je vyřešena pomocí XmlUrlResolver bez přihlašovacích údajů uživatele. Pokud je externí prostředek umístěný v síťovém prostředku, který vyžaduje ověření, použijte přetížení, které přebírá XmlResolver jako jeden z jeho argumentů a zadejte XmlResolver potřebné přihlašovací údaje.
Viz také
Platí pro
Transform(String, String)
Provede transformaci pomocí vstupního dokumentu určeného identifikátorem URI a výstupem výsledků do souboru.
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)
Parametry
- inputUri
- String
Identifikátor URI vstupního dokumentu
- resultsFile
- String
Identifikátor URI výstupního souboru.
Výjimky
Hodnota inputUri
je resultsFile
null
.
Při provádění transformace XSLT došlo k chybě.
Vstupní dokument nebyl nalezen.
Hodnotu inputUri
nebo resultsFile
název souboru nebo adresáře nelze najít.
Hodnotu inputUri
nebo resultsFile
hodnotu nelze přeložit.
-nebo- Při zpracování požadavku došlo k chybě.
inputUri
nebo resultsFile
není platný identifikátor URI.
Při načítání vstupního dokumentu došlo k chybě analýzy.
Příklady
Následující příklad provede transformaci a výstupy do souboru.
// 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")
Ukázka používá následující dva vstupní soubory:
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>
Poznámky
Tato metoda používá výchozí XmlUrlResolver přihlašovací údaje uživatele k překladu vstupních a výstupních dokumentů. Pokud se některý z těchto prostředků nachází v síťovém prostředku, který vyžaduje ověření, použijte přetížení, které přebírá XmlResolver jako jeden z jeho argumentů, a zadejte XmlResolver s potřebnými přihlašovacími údaji.
K XmlReader načtení vstupního dokumentu se používá výchozí nastavení. Zpracování DTD je zakázáno na XmlReader. Pokud požadujete zpracování DTD, vytvořte s touto funkcí povolenou XmlReader Transform funkci a předejte ji metodě.
Viz také
Platí pro
Transform(String, XsltArgumentList, TextWriter)
Provede transformaci pomocí vstupního dokumentu určeného identifikátorem URI a vypíše výsledky do TextWritersouboru .
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)
Parametry
- inputUri
- String
Identifikátor URI vstupního dokumentu.
- arguments
- XsltArgumentList
Obsahující XsltArgumentList argumenty kvalifikované k oboru názvů používané jako vstup pro transformaci. Tato hodnota může být null
.
- results
- TextWriter
Do TextWriter kterého chcete výstup provést.
Výjimky
Hodnota inputUri
nebo results
hodnota je null
.
Při provádění transformace XSLT došlo k chybě.
Hodnota inputUri
obsahuje název souboru nebo adresář, který nelze najít.
inputUri
není platný identifikátor URI.
Při načítání vstupního dokumentu došlo k chybě analýzy.
Příklady
Následující příklad spustí transformaci XSLT a vypíše řetězec.
// 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()
Poznámky
Tato metoda používá výchozí XmlUrlResolver bez přihlašovacích údajů uživatele k vyřešení vstupního dokumentu a všech instancí funkce XSLT document()
nalezených v šabloně stylů. Pokud se některý z těchto prostředků nachází v síťovém prostředku, který vyžaduje ověření, použijte přetížení, které přebírá XmlResolver jako jeden z jeho argumentů a určuje XmlResolver s potřebnými přihlašovacími údaji.
K XmlReader načtení vstupního dokumentu se používá výchozí nastavení. Zpracování DTD je zakázané na .XmlReader Pokud potřebujete zpracování DTD, vytvořte s touto funkcí povolenou XmlReader funkci a předejte ji metodě Transform .
Viz také
Platí pro
Transform(String, XsltArgumentList, Stream)
Provede transformaci pomocí vstupního dokumentu určeného identifikátorem URI a vypíše výsledky do datového proudu. Poskytuje XsltArgumentList další argumenty za běhu.
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)
Parametry
- inputUri
- String
Identifikátor URI vstupního dokumentu.
- arguments
- XsltArgumentList
Obsahující XsltArgumentList argumenty kvalifikované k oboru názvů používané jako vstup pro transformaci. Tato hodnota může být null
.
- results
- Stream
Datový proud, do kterého chcete výstup provést.
Výjimky
Hodnota inputUri
nebo results
hodnota je null
.
Při provádění transformace XSLT došlo k chybě.
Hodnota inputUri
obsahuje název souboru nebo adresář, který nelze najít.
inputUri
není platný identifikátor URI.
Při načítání vstupního dokumentu došlo k chybě analýzy.
Poznámky
Tato metoda používá výchozí XmlUrlResolver bez přihlašovacích údajů uživatele k vyřešení vstupního dokumentu a všech instancí funkce XSLT document()
nalezených v šabloně stylů. Pokud se některý z těchto prostředků nachází v síťovém prostředku, který vyžaduje ověření, použijte přetížení, které přebírá XmlResolver jako jeden z jeho argumentů a určuje XmlResolver s potřebnými přihlašovacími údaji.
K XmlReader načtení vstupního dokumentu se používá výchozí nastavení. Zpracování DTD je zakázané na .XmlReader Pokud potřebujete zpracování DTD, vytvořte s touto funkcí povolenou XmlReader funkci a předejte ji metodě Transform .
Viz také
Platí pro
Transform(IXPathNavigable, XmlWriter)
Provede transformaci pomocí vstupního dokumentu určeného objektem IXPathNavigable a vypíše výsledky do objektu XmlWriter.
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)
Parametry
- input
- IXPathNavigable
Objekt implementuje IXPathNavigable rozhraní. V microsoft .NET Framework to může být buď XmlNode (obvykle ), XmlDocumentnebo XPathDocument obsahující data, která se mají transformovat.
- results
- XmlWriter
To XmlWriter , do kterého chcete výstup provést.
Pokud šablona stylů obsahuje element xsl:output
, měli byste vytvořit XmlWriter pomocí XmlWriterSettings objektu vráceného OutputSettings z vlastnosti. Tím zajistíte, že XmlWriter má správná nastavení výstupu.
Výjimky
Hodnota input
nebo results
hodnota je null
.
Při provádění transformace XSLT došlo k chybě.
Příklady
Následující příklad provede transformaci XSLT a výstupy objektu XmlWriter .
// 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()
Poznámky
Pokud je funkce XSLT document()
povolená, je vyřešena pomocí bez XmlUrlResolver přihlašovacích údajů uživatele. Pokud se externí prostředek nachází v síťovém prostředku, který vyžaduje ověření, použijte přetížení, které přebírá XmlResolver jako jeden z jeho argumentů, a zadejte XmlResolver s potřebnými přihlašovacími údaji.
Tato metoda nepodporuje xsl:strip-space
prvek. Pokud kompilovaná šablona stylů obsahovala xsl:strip-space
prvek, musíte použít Transform přetížení, které přebírá XmlReader jako vstupní argument.
Rozhraní IXPathNavigable je implementováno v třídách XmlNode a XPathDocument třídách. Tyto třídy představují mezipaměť dat XML v paměti.
Třída XmlNode je založená na modelu DOM (Document Object Model) W3C a zahrnuje možnosti úprav.
Třída XPathDocument je úložiště dat jen pro čtení založené na datovém modelu XPath. XPathDocument je doporučená třída pro zpracování XSLT. Ve srovnání s XmlNode třídou poskytuje rychlejší výkon.
Transformace se vztahují na dokument jako celek. Jinými slovy, pokud předáte jiný uzel než kořenový uzel dokumentu, nezabráníte procesu transformace v přístupu ke všem uzlům v načteném dokumentu. Chcete-li transformovat fragment uzlu, musíte vytvořit objekt obsahující pouze fragment uzlu a předat tento objekt metodě Transform . Další informace najdete v tématu Postupy: Transformace fragmentu uzlu.
Viz také
Platí pro
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)
Parametry
- results
- XmlWriter
To XmlWriter , do kterého chcete výstup provést.
Pokud šablona stylů obsahuje element xsl:output
, měli byste vytvořit XmlWriter pomocí XmlWriterSettings objektu vráceného OutputSettings z vlastnosti. Tím zajistíte, že XmlWriter má správná nastavení výstupu.
Výjimky
Hodnota input
je results
null
.
Při provádění transformace XSLT došlo k chybě.
Příklady
Následující příklad transformuje první knihu v souboru books.xml.
// 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()
Poznámky
Pokud je funkce XSLT document()
povolená, je vyřešena pomocí bez XmlUrlResolver přihlašovacích údajů uživatele. Pokud se externí prostředek nachází v síťovém prostředku, který vyžaduje ověření, použijte přetížení, které přebírá XmlResolver jako jeden z jeho argumentů, a zadejte XmlResolver s potřebnými přihlašovacími údaji.
Viz také
Platí pro
Transform(String, XmlWriter)
Provede transformaci pomocí vstupního dokumentu určeného identifikátorem URI a výstupem výsledků do objektu XmlWriter.
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)
Parametry
- inputUri
- String
Identifikátor URI vstupního dokumentu
- results
- XmlWriter
To XmlWriter , do kterého chcete výstup provést.
Pokud šablona stylů obsahuje element xsl:output
, měli byste vytvořit XmlWriter pomocí XmlWriterSettings objektu vráceného OutputSettings z vlastnosti. Tím zajistíte, že XmlWriter má správná nastavení výstupu.
Výjimky
Hodnota inputUri
je results
null
.
Při provádění transformace XSLT došlo k chybě.
Hodnota inputUri
obsahuje název souboru nebo adresář, který nelze najít.
inputUri
není platný identifikátor URI.
Při načítání vstupního dokumentu došlo k chybě analýzy.
Příklady
Následující příklad provede transformaci XSLT a výstupy objektu XmlWriter .
// 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()
Poznámky
Tato metoda používá výchozí XmlUrlResolver bez uživatelských přihlašovacích údajů k vyřešení vstupního dokumentu a všech instancí funkce XSLT document()
nalezené v šabloně stylů. Pokud se některý z těchto prostředků nachází v síťovém prostředku, který vyžaduje ověření, použijte přetížení, které přebírá XmlResolver jako jeden z jeho argumentů, a zadejte XmlResolver s potřebnými přihlašovacími údaji.
K XmlReader načtení vstupního dokumentu se používá výchozí nastavení. Zpracování DTD je zakázáno na XmlReader. Pokud požadujete zpracování DTD, vytvořte s touto funkcí povolenou XmlReader Transform funkci a předejte ji metodě.
Tato metoda nepodporuje xsl:strip-space
prvek. Pokud kompilovaná šablona stylů obsahovala xsl:strip-space
prvek, musíte použít Transform přetížení, které přebírá XmlReader jako vstupní argument.
Viz také
Platí pro
Transform(XmlReader, XsltArgumentList, XmlWriter, XmlResolver)
Provede transformaci pomocí vstupního dokumentu určeného objektem XmlReader a vypíše výsledky do objektu XmlWriter. Poskytuje XsltArgumentList další argumenty za běhu a XmlResolver překládá funkci XSLT document().
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)
Parametry
- arguments
- XsltArgumentList
Obsahující XsltArgumentList argumenty kvalifikované k oboru názvů používané jako vstup pro transformaci. Tato hodnota může být null
.
- results
- XmlWriter
Do XmlWriter kterého chcete výstup provést.
Pokud šablona stylů obsahuje element xsl:output
, měli byste vytvořit XmlWriter pomocí objektu vráceného XmlWriterSettings OutputSettings z vlastnosti. Tím zajistíte, že má správná nastavení výstupu XmlWriter .
- documentResolver
- XmlResolver
Používá XmlResolver se k vyřešení funkce document()
XSLT. Pokud ano null
, funkce document()
se nevyřeší.
Výjimky
Hodnota input
nebo results
hodnota je null
.
Při provádění transformace XSLT došlo k chybě.
Příklady
Následující příklad používá XmlSecureResolver k vyřešení funkce XSLT document()
.
// 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
Viz také
Platí pro
Transform(String, XsltArgumentList, XmlWriter)
Provede transformaci pomocí vstupního dokumentu určeného identifikátorem URI a vypíše výsledky do XmlWritersouboru . Poskytuje XsltArgumentList další argumenty za běhu.
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)
Parametry
- inputUri
- String
Identifikátor URI vstupního dokumentu.
- arguments
- XsltArgumentList
Obsahující XsltArgumentList argumenty kvalifikované k oboru názvů používané jako vstup pro transformaci. Tato hodnota může být null
.
- results
- XmlWriter
Do XmlWriter kterého chcete výstup provést.
Pokud šablona stylů obsahuje element xsl:output
, měli byste vytvořit XmlWriter pomocí objektu vráceného XmlWriterSettings OutputSettings z vlastnosti. Tím zajistíte, že má správná nastavení výstupu XmlWriter .
Výjimky
Hodnota inputUri
nebo results
hodnota je null
.
Při provádění transformace XSLT došlo k chybě.
Hodnota inputtUri
obsahuje název souboru nebo adresář, který nelze najít.
inputUri
není platný identifikátor URI.
Při načítání vstupního dokumentu došlo k chybě analýzy.
Příklady
Následující příklad používá XsltArgumentList objekt k vytvoření parametru představujícího aktuální datum a čas.
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
V příkladu se jako vstup používají následující dva datové soubory.
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>
Poznámky
Tato metoda používá výchozí XmlUrlResolver bez přihlašovacích údajů uživatele k vyřešení vstupního dokumentu a všech instancí funkce XSLT document()
nalezených v šabloně stylů. Pokud se některý z těchto prostředků nachází v síťovém prostředku, který vyžaduje ověření, použijte přetížení, které přebírá XmlResolver jako jeden z jeho argumentů a určuje XmlResolver s potřebnými přihlašovacími údaji.
K XmlReader načtení vstupního dokumentu se používá výchozí nastavení. Zpracování DTD je zakázané na .XmlReader Pokud potřebujete zpracování DTD, vytvořte s touto funkcí povolenou XmlReader funkci a předejte ji metodě Transform .
Viz také
Platí pro
Transform(IXPathNavigable, XsltArgumentList, XmlWriter, XmlResolver)
Provede transformaci pomocí vstupního dokumentu určeného IXPathNavigable objektem a výstupem výsledků do objektu XmlWriter. Poskytuje XsltArgumentList další argumenty za běhu a XmlResolver překládá funkci XSLT document()
.
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)
Parametry
- input
- IXPathNavigable
Dokument, který má být transformován objektem IXPathNavigable .
- arguments
- XsltArgumentList
Seznam argumentů jako XsltArgumentList.
- results
- XmlWriter
Do XmlWriter kterého chcete výstup provést.
Pokud šablona stylů obsahuje xsl:output
prvek, měli byste vytvořit XmlWriter objekt XmlWriterSettings vrácený z OutputSettings vlastnosti. Tím zajistíte, že má správná nastavení výstupu XmlWriter .
- documentResolver
- XmlResolver
Používá XmlResolver se k vyřešení funkce XSLT document()
. Pokud ano null
, document()
funkce se nevyřeší.