Sdílet prostřednictvím


XslCompiledTransform.Transform Metoda

Definice

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

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

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

input
XmlReader

Obsahuje XmlReader vstupní dokument.

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

input
XmlReader

Obsahuje XmlReader vstupní dokument.

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

input
XmlReader

Obsahuje XmlReader vstupní dokument.

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.

Hodnotu inputUri nelze přeložit.

-nebo- Při zpracování požadavku došlo k chybě.

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.

Hodnotu inputUri nelze přeložit.

-nebo- Při zpracování požadavku došlo k chybě.

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)

Provede transformaci pomocí vstupního dokumentu určeného objektem XmlReader a vypíše výsledky do objektu 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

input
XmlReader

Obsahuje XmlReader vstupní dokument.

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.

Hodnotu inputUri nelze přeložit.

-nebo- Při zpracování požadavku došlo k chybě.

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

input
XmlReader

Obsahuje XmlReader vstupní dokument.

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.

Hodnotu inputUri nelze přeložit.

-nebo- Při zpracování požadavku došlo k chybě.

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ší.

Platí pro