Sdílet prostřednictvím


XslTransform.Transform Metoda

Definice

Transformuje data XML pomocí načtené šablony stylů XSLT.

Přetížení

Transform(XPathNavigator, XsltArgumentList, XmlResolver)

Transformuje data XML pomocí XPathNavigator zadaného args a výstupu výsledku XmlReaderna hodnotu .

Transform(XPathNavigator, XsltArgumentList, TextWriter, XmlResolver)

Transformuje data XML pomocí XPathNavigator zadaného args a výstupu výsledek do TextWriter.

Transform(XPathNavigator, XsltArgumentList, Stream, XmlResolver)

Transformuje data XML pomocí XPathNavigator zadaného args a výstupu výsledek do Stream.

Transform(IXPathNavigable, XsltArgumentList, XmlWriter, XmlResolver)

Transformuje data XML pomocí IXPathNavigable zadaného args a výstupu výsledek do XmlWriter.

Transform(IXPathNavigable, XsltArgumentList, TextWriter, XmlResolver)

Transformuje data XML pomocí IXPathNavigable zadaného args a výstupu výsledek na TextWriter.

Transform(IXPathNavigable, XsltArgumentList, Stream, XmlResolver)

Transformuje data XML pomocí IXPathNavigable zadaného args a výstupu výsledek na Stream.

Transform(XPathNavigator, XsltArgumentList, XmlWriter)
Zastaralé.

Transformuje data XML pomocí XPathNavigator zadaných args a vypíše výsledek na XmlWriterhodnotu .

Transform(XPathNavigator, XsltArgumentList, TextWriter)
Zastaralé.

Transformuje data XML pomocí XPathNavigator zadaného args a výstupu výsledek do TextWriter.

Transform(String, String, XmlResolver)

Transformuje data XML ve vstupním souboru a vypíše výsledek do výstupního souboru.

Transform(IXPathNavigable, XsltArgumentList, XmlWriter)
Zastaralé.

Transformuje data XML pomocí IXPathNavigable zadaného args a výstupu výsledek do XmlWriter.

Transform(IXPathNavigable, XsltArgumentList, XmlResolver)

Transformuje data XML pomocí IXPathNavigable zadaného args a výstupu výsledek do XmlReader.

Transform(IXPathNavigable, XsltArgumentList, TextWriter)
Zastaralé.

Transformuje data XML pomocí IXPathNavigable zadaného args a výstupu výsledek na TextWriter.

Transform(IXPathNavigable, XsltArgumentList, Stream)
Zastaralé.

Transformuje data XML pomocí IXPathNavigable zadaného args a výstupu výsledek na Stream.

Transform(XPathNavigator, XsltArgumentList, XmlWriter, XmlResolver)

Transformuje data XML pomocí XPathNavigator zadaných args a vypíše výsledek do XmlWriter.

Transform(XPathNavigator, XsltArgumentList)
Zastaralé.

Transformuje data XML pomocí XPathNavigator zadaného args a výstupu výsledku XmlReaderna hodnotu .

Transform(IXPathNavigable, XsltArgumentList)
Zastaralé.

Transformuje data XML pomocí IXPathNavigable zadaného args a výstupu výsledku XmlReaderna hodnotu .

Transform(String, String)
Zastaralé.

Transformuje data XML ve vstupním souboru a vypíše výsledek do výstupního souboru.

Transform(XPathNavigator, XsltArgumentList, Stream)
Zastaralé.

Transformuje data XML pomocí XPathNavigator zadaného args a výstupu výsledek do Stream.

Poznámky

Poznámka

Třída XslTransform je zastaralá v rozhraní .NET Framework verze 2.0. Třída XslCompiledTransform je nový procesor XSLT. Další informace naleznete v tématu Použití třídy XslCompiledTransform a migrace z XslTransform třídy.

Transform(XPathNavigator, XsltArgumentList, XmlResolver)

Transformuje data XML pomocí XPathNavigator zadaného args a výstupu výsledku XmlReaderna hodnotu .

public:
 System::Xml::XmlReader ^ Transform(System::Xml::XPath::XPathNavigator ^ input, System::Xml::Xsl::XsltArgumentList ^ args, System::Xml::XmlResolver ^ resolver);
public System.Xml.XmlReader Transform (System.Xml.XPath.XPathNavigator input, System.Xml.Xsl.XsltArgumentList? args, System.Xml.XmlResolver? resolver);
public System.Xml.XmlReader Transform (System.Xml.XPath.XPathNavigator input, System.Xml.Xsl.XsltArgumentList args, System.Xml.XmlResolver resolver);
member this.Transform : System.Xml.XPath.XPathNavigator * System.Xml.Xsl.XsltArgumentList * System.Xml.XmlResolver -> System.Xml.XmlReader
Public Function Transform (input As XPathNavigator, args As XsltArgumentList, resolver As XmlResolver) As XmlReader

Parametry

input
XPathNavigator

Obsahující XPathNavigator data, která se mají transformovat.

args
XsltArgumentList

Obsahující XsltArgumentList argumenty kvalifikované k oboru názvů používané jako vstup do transformace.

resolver
XmlResolver

Používá XmlResolver se k vyřešení funkce document() XSLT. Pokud ano null, funkce document() se nevyřeší.

Po XmlResolver dokončení metody není uložena Transform(XPathNavigator, XsltArgumentList, XmlResolver) v mezipaměti.

Návraty

XmlReader

Obsahuje XmlReader výsledky transformace.

Výjimky

Při zpracování transformace XSLT došlo k chybě.

Poznámka: Jedná se o změnu chování ze starších verzí. Vyvolá se, XsltException pokud používáte rozhraní Microsoft .NET Framework verze 1.1 nebo starší.

Poznámky

Poznámka

Třída XslTransform je zastaralá v rozhraní .NET Framework verze 2.0. Třída XslCompiledTransform je nový procesor XSLT. Další informace naleznete v tématu Použití třídy XslCompiledTransform a migrace ze třídy XslTransform.

XslTransform podporuje syntaxi XSLT 1.0. Šablona stylů XSLT musí obsahovat deklaraci xmlns:xsl= http://www.w3.org/1999/XSL/Transformoboru názvů .

Odpovídá args prvkům definovaným xsl:param v šabloně stylů. Výběry transformace se vztahují na dokument jako celek. Jinými slovy, pokud je aktuální uzel nastavený na jiném stromu uzlů než na kořenovém uzlu dokumentu, nezabrání procesu transformace v přístupu ke všem uzlům v načteném dokumentu. Po provedení XPathNavigator transformace zůstane původní stav. To znamená, že uzel, který je aktuální před procesem transformace, zůstane aktuální uzel po Transform volání metody.

Vzhledem k tomu, že XmlReader poskytuje výstup jen pro čtení, xsl:output je prvek ignorován. Další informace najdete v tématu Výstupy z XslTransformu .

Tato metoda umožňuje provádět asynchronní transformaci zdrojového dokumentu.

Viz také

Platí pro

Transform(XPathNavigator, XsltArgumentList, TextWriter, XmlResolver)

Transformuje data XML pomocí XPathNavigator zadaného args a výstupu výsledek do TextWriter.

public:
 void Transform(System::Xml::XPath::XPathNavigator ^ input, System::Xml::Xsl::XsltArgumentList ^ args, System::IO::TextWriter ^ output, System::Xml::XmlResolver ^ resolver);
public void Transform (System.Xml.XPath.XPathNavigator input, System.Xml.Xsl.XsltArgumentList? args, System.IO.TextWriter output, System.Xml.XmlResolver? resolver);
public void Transform (System.Xml.XPath.XPathNavigator input, System.Xml.Xsl.XsltArgumentList args, System.IO.TextWriter output, System.Xml.XmlResolver resolver);
member this.Transform : System.Xml.XPath.XPathNavigator * System.Xml.Xsl.XsltArgumentList * System.IO.TextWriter * System.Xml.XmlResolver -> unit
Public Sub Transform (input As XPathNavigator, args As XsltArgumentList, output As TextWriter, resolver As XmlResolver)

Parametry

input
XPathNavigator

Obsahuje XPathNavigator data, která se mají transformovat.

args
XsltArgumentList

Obsahuje XsltArgumentList kvalifikované argumenty oboru názvů, které se používají jako vstup pro transformaci.

output
TextWriter

To TextWriter , do kterého chcete výstup provést.

resolver
XmlResolver

Slouží XmlResolver k vyřešení funkce XSLT document(). Pokud ano null, funkce document() se nevyřeší.

Po XmlResolver dokončení metody není uložena Transform(XPathNavigator, XsltArgumentList, TextWriter, XmlResolver) v mezipaměti.

Výjimky

Při zpracování transformace XSLT došlo k chybě.

Poznámka: Toto je změna chování ze starších verzí. Vyvolá XsltException se, pokud používáte rozhraní Microsoft .NET Framework verze 1.1 nebo starší.

Poznámky

Poznámka

Třída XslTransform je zastaralá v rozhraní .NET Framework verze 2.0. Třída XslCompiledTransform je nový procesor XSLT. Další informace naleznete v tématu Použití třídy XslCompiledTransform a migrace z XslTransform třídy.

XslTransform podporuje syntaxi XSLT 1.0. Šablona stylů XSLT musí obsahovat deklaraci xmlns:xsl= http://www.w3.org/1999/XSL/Transformoboru názvů .

Porovná args se s xsl:param prvky definovanými v šabloně stylů. Výběry transformace se vztahují na dokument jako celek. Jinými slovy, pokud je aktuální uzel nastavený na strom uzlu kromě kořenového uzlu dokumentu, nezabrání procesu transformace v přístupu ke všem uzlům v načteném dokumentu. Po provedení XPathNavigator transformace zůstane v původním stavu. To znamená, že uzel, který je aktuální před procesem transformace, zůstane aktuální uzel po Transform zavolání metody.

Atribut kódování elementu xsl:output není podporován při výstupu TextWriterdo . Podrobnosti o podporovaných atributech najdete v xsl:output části Výstupy z objektu XslTransform.

Viz také

Platí pro

Transform(XPathNavigator, XsltArgumentList, Stream, XmlResolver)

Transformuje data XML pomocí XPathNavigator zadaného args a výstupu výsledek do Stream.

public:
 void Transform(System::Xml::XPath::XPathNavigator ^ input, System::Xml::Xsl::XsltArgumentList ^ args, System::IO::Stream ^ output, System::Xml::XmlResolver ^ resolver);
public void Transform (System.Xml.XPath.XPathNavigator input, System.Xml.Xsl.XsltArgumentList? args, System.IO.Stream output, System.Xml.XmlResolver? resolver);
public void Transform (System.Xml.XPath.XPathNavigator input, System.Xml.Xsl.XsltArgumentList args, System.IO.Stream output, System.Xml.XmlResolver resolver);
member this.Transform : System.Xml.XPath.XPathNavigator * System.Xml.Xsl.XsltArgumentList * System.IO.Stream * System.Xml.XmlResolver -> unit
Public Sub Transform (input As XPathNavigator, args As XsltArgumentList, output As Stream, resolver As XmlResolver)

Parametry

input
XPathNavigator

Obsahuje XPathNavigator data, která se mají transformovat.

args
XsltArgumentList

Obsahuje XsltArgumentList kvalifikované argumenty oboru názvů, které se používají jako vstup pro transformaci.

output
Stream

Datový proud, do kterého chcete výstup provést.

resolver
XmlResolver

Slouží XmlResolver k vyřešení funkce XSLT document(). Pokud ano null, funkce document() se nevyřeší.

Po XmlResolver dokončení metody není uložena Transform(XPathNavigator, XsltArgumentList, Stream, XmlResolver) v mezipaměti.

Výjimky

Při zpracování transformace XSLT došlo k chybě.

Poznámka: Toto je změna chování ze starších verzí. Vyvolá XsltException se, pokud používáte rozhraní Microsoft .NET Framework verze 1.1 nebo starší.

Příklady

Následující příklad načte tabulku zákazníka do XmlDataDocument transformace XSLT, která načte data zákazníků do tabulky HTML. Příklad používá databázi Microsoft SQL Server 2000 Northwind.

using System;
using System.IO;
using System.Data;
using System.Data.SqlClient;
using System.Xml;
using System.Xml.XPath;
using System.Xml.Xsl;

public class Sample
{
  public static void Main()
  {

     // Create a DataSet and load it with customer data.
     DataSet dsNorthwind = new DataSet();
     String sConnect;
     sConnect="Data Source=localhost;Integrated Security=SSPI;Initial Catalog=Northwind";
     SqlConnection nwconnect = new SqlConnection(sConnect);
     String sCommand = "Select * from Customers where Region='WA'";
     SqlDataAdapter myDataAdapter = new SqlDataAdapter(sCommand, nwconnect);
     myDataAdapter.Fill(dsNorthwind,"Customers");

     // Load the DataSet into an XmlDataDocument.
     XmlDataDocument doc = new XmlDataDocument(dsNorthwind);

     // Create the XslTransform object and load the stylesheet.
     XslTransform xsl = new XslTransform();
     xsl.Load("customers.xsl");

     // Create an XPathNavigator to use in the transform.
     XPathNavigator nav = doc.CreateNavigator();

     // Create a FileStream object.
     FileStream fs = new FileStream("cust.html", FileMode.Create);

     // Transform the data.
     xsl.Transform(nav, null, fs, null);
  }
}
Imports System.IO
Imports System.Data
Imports System.Data.SqlClient
Imports System.Xml
Imports System.Xml.XPath
Imports System.Xml.Xsl

public class Sample

  public shared sub Main()

     ' Create a DataSet and load it with customer data.
     Dim dsNorthwind as DataSet = new DataSet()        
     Dim sConnect as String           
     sConnect="Data Source=localhost;Integrated Security=SSPI;Initial Catalog=Northwind"     
     Dim nwconnect as SqlConnection
     nwconnect = new SqlConnection(sConnect)
     Dim sCommand as String = "Select * from Customers where Region='WA'"
     Dim myDataAdapter as SqlDataAdapter
     myDataAdapter = new SqlDataAdapter(sCommand, nwconnect)
     myDataAdapter.Fill(dsNorthwind,"Customers")

     ' Load the DataSet into an XmlDataDocument.
     Dim doc as XmlDataDocument = new XmlDataDocument(dsNorthwind)   

     ' Create the XslTransform object and load the stylesheet.
     Dim xsl as XslTransform = new XslTransform()     
     xsl.Load("customers.xsl")

     ' Create an XPathNavigator to use in the transform.
     Dim nav as XPathNavigator = doc.CreateNavigator()

     ' Create a FileStream object.
     Dim fs as FileStream = new FileStream("cust.html", FileMode.Create)
 
     ' Transform the data.
     xsl.Transform(nav, nothing, fs, nothing)
    
  end sub
end class

V příkladu se customers.xsl soubor používá jako vstup.

<!-- Stylesheet to sort customers by city-->
<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0">

  <xsl:template match="NewDataSet">
    <HTML>
      <BODY>
        <TABLE BORDER="2">
          <TR>
            <TD>Company Name</TD>
            <TD>Contact Name</TD>
            <TD>City</TD>
          </TR>
         <xsl:apply-templates select="Customers">
            <xsl:sort select="City"/>
         </xsl:apply-templates>
        </TABLE>
      </BODY>
    </HTML>
  </xsl:template>

  <xsl:template match="Customers">
    <TR>
      <TD><xsl:value-of select="CompanyName"/></TD>
      <TD><xsl:value-of select="ContactName"/></TD>
      <TD><xsl:value-of select="City"/></TD>
    </TR>
  </xsl:template>

</xsl:stylesheet>

Poznámky

Poznámka

Třída XslTransform je zastaralá v rozhraní .NET Framework verze 2.0. Třída XslCompiledTransform je nový procesor XSLT. Další informace naleznete v tématu Použití třídy XslCompiledTransform a migrace z XslTransform třídy.

XslTransform podporuje syntaxi XSLT 1.0. Šablona stylů XSLT musí obsahovat deklaraci xmlns:xsl= http://www.w3.org/1999/XSL/Transformoboru názvů .

Porovná args se s xsl:param prvky definovanými v šabloně stylů. Výběry transformace se vztahují na dokument jako celek. Jinými slovy, pokud je aktuální uzel nastavený na strom uzlu kromě kořenového uzlu dokumentu, nezabrání procesu transformace v přístupu ke všem uzlům v načteném dokumentu. Po provedení XPathNavigator transformace zůstane původní stav. To znamená, že uzel, který je aktuální před procesem transformace, zůstane aktuální uzel po Transform zavolání metody.

Podrobnosti o podporovaných atributech najdete v xsl:output části Výstupy z objektu XslTransform.

Viz také

Platí pro

Transform(IXPathNavigable, XsltArgumentList, XmlWriter, XmlResolver)

Transformuje data XML pomocí IXPathNavigable zadaného args a výstupu výsledek do XmlWriter.

public:
 void Transform(System::Xml::XPath::IXPathNavigable ^ input, System::Xml::Xsl::XsltArgumentList ^ args, System::Xml::XmlWriter ^ output, System::Xml::XmlResolver ^ resolver);
public void Transform (System.Xml.XPath.IXPathNavigable input, System.Xml.Xsl.XsltArgumentList? args, System.Xml.XmlWriter output, System.Xml.XmlResolver? resolver);
public void Transform (System.Xml.XPath.IXPathNavigable input, System.Xml.Xsl.XsltArgumentList args, System.Xml.XmlWriter output, System.Xml.XmlResolver resolver);
member this.Transform : System.Xml.XPath.IXPathNavigable * System.Xml.Xsl.XsltArgumentList * System.Xml.XmlWriter * System.Xml.XmlResolver -> unit
Public Sub Transform (input As IXPathNavigable, args As XsltArgumentList, output As XmlWriter, resolver As XmlResolver)

Parametry

input
IXPathNavigable

Objekt implementuje IXPathNavigable rozhraní. V rozhraní .NET Framework to může být buď XmlNode (obvykle ), XmlDocumentnebo XPathDocument obsahující data, která se mají transformovat.

args
XsltArgumentList

Obsahuje XsltArgumentList kvalifikované argumenty oboru názvů, které se používají jako vstup pro transformaci.

output
XmlWriter

To XmlWriter , do kterého chcete výstup provést.

resolver
XmlResolver

Slouží XmlResolver k vyřešení funkce XSLT document(). Pokud ano null, funkce document() se nevyřeší.

Po XmlResolver dokončení metody není uložena Transform(IXPathNavigable, XsltArgumentList, XmlWriter, XmlResolver) v mezipaměti.

Výjimky

Při zpracování transformace XSLT došlo k chybě.

Poznámka: Toto je změna chování ze starších verzí. Vyvolá XsltException se, pokud používáte rozhraní Microsoft .NET Framework verze 1.1 nebo starší.

Příklady

Následující příklad transformuje dokument XML na dokument HTML. Zobrazí isBN, název a cenu pro každou knihu v tabulce.

#using <System.dll>
#using <System.Xml.dll>

using namespace System;
using namespace System::IO;
using namespace System::Xml;
using namespace System::Xml::Xsl;
using namespace System::Xml::XPath;

int main()
{
   String^ filename = "books.xml";
   String^ stylesheet = "output.xsl";

   //Load the stylesheet.
   XslTransform^ xslt = gcnew XslTransform;
   xslt->Load( stylesheet );

   //Load the file to transform.
   XPathDocument^ doc = gcnew XPathDocument( filename );

   //Create an XmlTextWriter which outputs to the console.
   XmlTextWriter^ writer = gcnew XmlTextWriter( Console::Out );

   //Transform the file and send the output to the console.
   xslt->Transform(doc,nullptr,writer,nullptr);
   writer->Close();
}
using System;
using System.IO;
using System.Xml;
using System.Xml.Xsl;
using System.Xml.XPath;

public class Sample
{
  private const String filename = "books.xml";
  private const String stylesheet = "output.xsl";

  public static void Main()
  {
    //Load the stylesheet.
    XslTransform xslt = new XslTransform();
    xslt.Load(stylesheet);

    //Load the file to transform.
    XPathDocument doc = new XPathDocument(filename);

    //Create an XmlTextWriter which outputs to the console.
    XmlTextWriter writer = new XmlTextWriter(Console.Out);

    //Transform the file and send the output to the console.
    xslt.Transform(doc, null, writer, null);
    writer.Close();
  }
}
Option Strict
Option Explicit

Imports System.IO
Imports System.Xml
Imports System.Xml.Xsl
Imports System.Xml.XPath

Public Class Sample
    Private Shared filename1 As String = "books.xml"
    Private Shared stylesheet1 As String = "output.xsl"
    
    
    Public Shared Sub Main()
        'Load the stylesheet.
        Dim xslt As New XslTransform()
        xslt.Load(stylesheet1)
        
        'Load the file to transform.
        Dim doc As New XPathDocument(filename1)
        
        'Create an XmlTextWriter which outputs to the console.
        Dim writer As New XmlTextWriter(Console.Out)
        
        'Transform the file and send the output to the console.
        xslt.Transform(doc, Nothing, writer, Nothing)
        writer.Close()
    End Sub
End Class

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

Poznámka

Třída XslTransform je zastaralá v rozhraní .NET Framework verze 2.0. Třída XslCompiledTransform je nový procesor XSLT. Další informace naleznete v tématu Použití třídy XslCompiledTransform a migrace z XslTransform třídy.

XslTransform podporuje syntaxi XSLT 1.0. Šablona stylů XSLT musí obsahovat deklaraci xmlns:xsl= http://www.w3.org/1999/XSL/Transformoboru názvů .

Porovná args se s xsl:param prvky definovanými v šabloně stylů. Prvek xsl:output není podporován při výstupu do objektu XmlWriter (xsl:output je ignorován). Další informace najdete v tématu Výstupy z objektu XslTransform .

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. Pokud chcete transformovat fragment uzlu, musíte vytvořit XmlDocument pouze fragment uzlu a předat XmlDocument ho Transform metodě.

Následující příklad provede transformaci fragmentu uzlu.

XslTransform xslt = new XslTransform();       
xslt.Load("print_root.xsl");  
XmlDocument doc = new XmlDocument();  
doc.Load("library.xml");  
// Create a new document containing just the node fragment.  
XmlNode testNode = doc.DocumentElement.FirstChild;   
XmlDocument tmpDoc = new XmlDocument();   
tmpDoc.LoadXml(testNode.OuterXml);  
// Pass the document containing the node fragment   
// to the Transform method.  
Console.WriteLine("Passing " + tmpDoc.OuterXml + " to print_root.xsl");  
xslt.Transform(tmpDoc, null, Console.Out, null);  

V příkladu se jako library.xml vstup a print_root.xsl výstupy používají následující položky do konzoly.

Passing <book genre="novel" ISBN="1-861001-57-5"><title>Pride And Prejudice</title></book> to print_root.xsl   
Root node is book.  

library.xml

<library>  
  <book genre='novel' ISBN='1-861001-57-5'>  
     <title>Pride And Prejudice</title>  
  </book>  
  <book genre='novel' ISBN='1-81920-21-2'>  
     <title>Hook</title>  
  </book>  
</library>  

print_root.xsl

<stylesheet version="1.0" xmlns="http://www.w3.org/1999/XSL/Transform" >  
  <output method="text" />  
  <template match="/">  
  Root node is  <value-of select="local-name(//*[position() = 1])" />   
  </template>  
</stylesheet>  

Viz také

Platí pro

Transform(IXPathNavigable, XsltArgumentList, TextWriter, XmlResolver)

Transformuje data XML pomocí IXPathNavigable zadaného args a výstupu výsledek na TextWriter.

public:
 void Transform(System::Xml::XPath::IXPathNavigable ^ input, System::Xml::Xsl::XsltArgumentList ^ args, System::IO::TextWriter ^ output, System::Xml::XmlResolver ^ resolver);
public void Transform (System.Xml.XPath.IXPathNavigable input, System.Xml.Xsl.XsltArgumentList? args, System.IO.TextWriter output, System.Xml.XmlResolver? resolver);
public void Transform (System.Xml.XPath.IXPathNavigable input, System.Xml.Xsl.XsltArgumentList args, System.IO.TextWriter output, System.Xml.XmlResolver resolver);
member this.Transform : System.Xml.XPath.IXPathNavigable * System.Xml.Xsl.XsltArgumentList * System.IO.TextWriter * System.Xml.XmlResolver -> unit
Public Sub Transform (input As IXPathNavigable, args As XsltArgumentList, output As TextWriter, resolver As XmlResolver)

Parametry

input
IXPathNavigable

Objekt implementuje IXPathNavigable rozhraní. V rozhraní .NET Framework to může být buď ( XmlNode obvykle an XmlDocument), nebo XPathDocument obsahující data, která se mají transformovat.

args
XsltArgumentList

Obsahující XsltArgumentList argumenty kvalifikované k oboru názvů používané jako vstup do transformace.

output
TextWriter

Do TextWriter kterého chcete výstup provést.

resolver
XmlResolver

Používá XmlResolver se k vyřešení funkce document() XSLT. Pokud ano null, funkce document() se nevyřeší.

Po XmlResolver dokončení metody není uložena Transform(IXPathNavigable, XsltArgumentList, TextWriter, XmlResolver) v mezipaměti.

Výjimky

Při zpracování transformace XSLT došlo k chybě.

Poznámka: Toto je změna chování ze starších verzí. Vyvolá XsltException se, pokud používáte rozhraní Microsoft .NET Framework verze 1.1 nebo starší.

Příklady

Následující příklad transformuje soubor XML a vypíše řetězec HTML. StringWriter Třídy StringReader se používají ke čtení a zápisu řetězců.

using System;
using System.IO;
using System.Xml;
using System.Xml.Xsl;
using System.Xml.XPath;

public class Sample {

  public static void Main() {

    // Create a string containing the XSLT stylesheet.
    String xsltString =
    @"<xsl:stylesheet xmlns:xsl='http://www.w3.org/1999/XSL/Transform' version='1.0'>
        <xsl:template match='bookstore'>
           <HTML>
              <HEAD>
                 <TITLE>Book Titles</TITLE>
             </HEAD>
             <BODY>
                <xsl:apply-templates select='book'/>
             </BODY>
          </HTML>
        </xsl:template>
        <xsl:template match='book'>
          <P><xsl:value-of select='title'/></P>
        </xsl:template>
        </xsl:stylesheet>";

    // Create the XslTransform object.
    XslTransform xslt = new XslTransform();

    // Load the stylesheet.
    StringReader rdr = new StringReader(xsltString);
    xslt.Load(new XPathDocument(rdr), null, null);

    // Transform the file and output an HTML string.
    string HTMLoutput;
    StringWriter writer = new StringWriter();
    xslt.Transform(new XPathDocument("books.xml"), null, writer, null);
    HTMLoutput = writer.ToString();
  }
}
Imports System.IO
Imports System.Xml
Imports System.Xml.Xsl
Imports System.Xml.XPath

public class Sample 

  public shared sub Main() 
   
    ' Create a string containing the XSLT stylesheet.
    Dim xsltString as String 
    xsltString = "<xsl:stylesheet xmlns:xsl='http://www.w3.org/1999/XSL/Transform' version='1.0'>" & _
    "   <xsl:template match='bookstore'>" & _
    "      <HTML>" & _
    "         <HEAD>" & _
    "            <TITLE>Book Titles</TITLE>" & _
    "       </HEAD>" & _
    "        <BODY>" & _
    "           <xsl:apply-templates select='book'/>" & _
    "        </BODY>" & _
    "     </HTML>" & _
    "   </xsl:template>" & _
    "  <xsl:template match='book'>" & _
    "     <P><xsl:value-of select='title'/></P>" & _
    "   </xsl:template>" & _
    "   </xsl:stylesheet>"

    ' Create the XslTransform object.
    Dim xslt as XslTransform = new XslTransform()

    ' Load the stylesheet.
    Dim rdr as StringReader = new StringReader(xsltString)
    xslt.Load(new XPathDocument(rdr), nothing, nothing)

    ' Transform the file and output an HTML string.
    Dim HTMLoutput as string
    Dim writer as StringWriter = new StringWriter()
    xslt.Transform(new XPathDocument("books.xml"), nothing, writer, nothing)
    HTMLoutput = writer.ToString()

  end sub
end class

V příkladu se books.xml soubor používá jako vstup.

<?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>

Poznámky

Poznámka

Třída XslTransform je zastaralá v rozhraní .NET Framework verze 2.0. Třída XslCompiledTransform je nový procesor XSLT. Další informace naleznete v tématu Použití třídy XslCompiledTransform a migrace ze třídy XslTransform.

XslTransform podporuje syntaxi XSLT 1.0. Šablona stylů XSLT musí obsahovat deklaraci xmlns:xsl= http://www.w3.org/1999/XSL/Transformoboru názvů .

Odpovídá args prvkům definovaným xsl:param v šabloně stylů.

Atribut kódování prvku xsl:output není při výstupu TextWriterdo prvku podporován . Projděte si výstupy z XslTransformu pro konkrétní atributy, které xsl:output jsou podporovány.

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. Pokud chcete transformovat fragment uzlu, musíte vytvořit XmlDocument pouze fragment uzlu a předat XmlDocument ho Transform metodě.

Následující příklad provede transformaci na fragmentu uzlu.

XslTransform xslt = new XslTransform();       
xslt.Load("print_root.xsl");  
XmlDocument doc = new XmlDocument();  
doc.Load("library.xml");  
// Create a new document containing just the node fragment.  
XmlNode testNode = doc.DocumentElement.FirstChild;   
XmlDocument tmpDoc = new XmlDocument();   
tmpDoc.LoadXml(testNode.OuterXml);  
// Pass the document containing the node fragment   
// to the Transform method.  
Console.WriteLine("Passing " + tmpDoc.OuterXml + " to print_root.xsl");  
xslt.Transform(tmpDoc, null, Console.Out, null);  

Příklad používá library.xml jako vstup a print_root.xsl výstupy následující příkazy konzoly.

Passing <book genre="novel" ISBN="1-861001-57-5"><title>Pride And Prejudice</title></book> to print_root.xsl   
Root node is book.  

library.xml

<library>  
  <book genre='novel' ISBN='1-861001-57-5'>  
     <title>Pride And Prejudice</title>  
  </book>  
  <book genre='novel' ISBN='1-81920-21-2'>  
     <title>Hook</title>  
  </book>  
</library>  

print_root.xsl

<stylesheet version="1.0" xmlns="http://www.w3.org/1999/XSL/Transform" >  
  <output method="text" />   
  <template match="/">  
     Root node is  <value-of select="local-name(//*[position() = 1])" />   
  </template>  
</stylesheet>  

Viz také

Platí pro

Transform(IXPathNavigable, XsltArgumentList, Stream, XmlResolver)

Transformuje data XML pomocí IXPathNavigable zadaného args a výstupu výsledek na Stream.

public:
 void Transform(System::Xml::XPath::IXPathNavigable ^ input, System::Xml::Xsl::XsltArgumentList ^ args, System::IO::Stream ^ output, System::Xml::XmlResolver ^ resolver);
public void Transform (System.Xml.XPath.IXPathNavigable input, System.Xml.Xsl.XsltArgumentList? args, System.IO.Stream output, System.Xml.XmlResolver? resolver);
public void Transform (System.Xml.XPath.IXPathNavigable input, System.Xml.Xsl.XsltArgumentList args, System.IO.Stream output, System.Xml.XmlResolver resolver);
member this.Transform : System.Xml.XPath.IXPathNavigable * System.Xml.Xsl.XsltArgumentList * System.IO.Stream * System.Xml.XmlResolver -> unit
Public Sub Transform (input As IXPathNavigable, args As XsltArgumentList, output As Stream, resolver As XmlResolver)

Parametry

input
IXPathNavigable

Objekt implementuje IXPathNavigable rozhraní. V rozhraní .NET Framework to může být buď ( XmlNode obvykle an XmlDocument), nebo XPathDocument obsahující data, která se mají transformovat.

args
XsltArgumentList

Obsahující XsltArgumentList argumenty kvalifikované k oboru názvů používané jako vstup do transformace.

output
Stream

Datový proud, do kterého chcete výstup provést.

resolver
XmlResolver

Používá XmlResolver se k vyřešení funkce document() XSLT. Pokud ano null, funkce document() se nevyřeší.

Po XmlResolver dokončení metody není uložena Transform v mezipaměti.

Výjimky

Při zpracování transformace XSLT došlo k chybě.

Poznámka: Jedná se o změnu chování ze starších verzí. Vyvolá se, XsltException pokud používáte rozhraní Microsoft .NET Framework verze 1.1 nebo starší.

Příklady

Následující příklad provede transformaci na ASP.NET stránce.

<%@ Import Namespace="System" %>
<%@ Import Namespace="System.IO" %>
<%@ import NameSpace="System.Web" %>
<%@ Import Namespace="System.Xml.XPath" %>
<%@ Import Namespace="System.Xml.Xsl" %>
<html>
   <script language="C#" runat="server">
      void Page_Load(Object sender, EventArgs e) 
      {
         // Load the XML document to transform.
         XPathDocument doc = new XPathDocument(Server.MapPath("books.xml"));

         // Load the stylesheet and perform the transform.
         XslTransform xslt = new XslTransform();
         xslt.Load(Server.MapPath("output.xsl"));
         xslt.Transform(doc, null, Response.OutputStream, null);
        
      }
   </script>
</html>
<%@ Import Namespace="System" %>
<%@ Import Namespace="System.IO" %>
<%@ import NameSpace="System.Web" %>
<%@ Import Namespace="System.Xml.XPath" %>
<%@ Import Namespace="System.Xml.Xsl" %>
<html>
   <script language="VB" runat="server">
      sub Page_Load(sender as Object, e as EventArgs) 

         ' Load the XML document to transform.
         dim doc as XPathDocument = new XPathDocument(Server.MapPath("books.xml"))

         ' Load the stylesheet and perform the transform.
         dim xslt as XslTransform = new XslTransform()
         xslt.Load(Server.MapPath("output.xsl"))
         xslt.Transform(doc, nothing, Response.OutputStream, nothing)
        
      end sub
   </script>
</html>

Poznámky

Poznámka

Třída XslTransform je zastaralá v rozhraní .NET Framework verze 2.0. Třída XslCompiledTransform je nový procesor XSLT. Další informace naleznete v tématu Použití třídy XslCompiledTransform a migrace ze třídy XslTransform.

XslTransform podporuje syntaxi XSLT 1.0. Šablona stylů XSLT musí obsahovat deklaraci xmlns:xsl= http://www.w3.org/1999/XSL/Transformoboru názvů .

Odpovídá args prvkům definovaným xsl:param v šabloně stylů.

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. Pokud chcete transformovat fragment uzlu, musíte vytvořit XmlDocument pouze fragment uzlu a předat XmlDocument ho Transform metodě.

Následující příklad provede transformaci na fragmentu uzlu.

XslTransform xslt = new XslTransform();       
xslt.Load("print_root.xsl");  
XmlDocument doc = new XmlDocument();  
doc.Load("library.xml");  
// Create a new document containing just the node fragment.  
XmlNode testNode = doc.DocumentElement.FirstChild;   
XmlDocument tmpDoc = new XmlDocument();   
tmpDoc.LoadXml(testNode.OuterXml);  
// Pass the document containing the node fragment   
// to the Transform method.  
Console.WriteLine("Passing " + tmpDoc.OuterXml + " to print_root.xsl");  
xslt.Transform(tmpDoc, null, Console.Out, null);  

Příklad používá library.xml jako vstup a print_root.xsl výstupy následující příkazy konzoly.

Passing <book genre="novel" ISBN="1-861001-57-5"><title>Pride And Prejudice</title></book> to print_root.xsl   
Root node is book.  

library.xml

<library>  
  <book genre='novel' ISBN='1-861001-57-5'>  
     <title>Pride And Prejudice</title>  
  </book>  
  <book genre='novel' ISBN='1-81920-21-2'>  
     <title>Hook</title>  
  </book>  
</library>  

print_root.xsl

<stylesheet version="1.0" xmlns="http://www.w3.org/1999/XSL/Transform" >  
  <output method="text" />   
  <template match="/">  
     Root node is  <value-of select="local-name(//*[position() = 1])" />   
  </template>  
</stylesheet>  

Viz také

Platí pro

Transform(XPathNavigator, XsltArgumentList, XmlWriter)

Upozornění

You should pass XmlResolver to Transform() method

Transformuje data XML pomocí XPathNavigator zadaných args a vypíše výsledek na XmlWriterhodnotu .

public:
 void Transform(System::Xml::XPath::XPathNavigator ^ input, System::Xml::Xsl::XsltArgumentList ^ args, System::Xml::XmlWriter ^ output);
public void Transform (System.Xml.XPath.XPathNavigator input, System.Xml.Xsl.XsltArgumentList? args, System.Xml.XmlWriter output);
public void Transform (System.Xml.XPath.XPathNavigator input, System.Xml.Xsl.XsltArgumentList args, System.Xml.XmlWriter output);
[System.Obsolete("You should pass XmlResolver to Transform() method")]
public void Transform (System.Xml.XPath.XPathNavigator input, System.Xml.Xsl.XsltArgumentList args, System.Xml.XmlWriter output);
member this.Transform : System.Xml.XPath.XPathNavigator * System.Xml.Xsl.XsltArgumentList * System.Xml.XmlWriter -> unit
[<System.Obsolete("You should pass XmlResolver to Transform() method")>]
member this.Transform : System.Xml.XPath.XPathNavigator * System.Xml.Xsl.XsltArgumentList * System.Xml.XmlWriter -> unit
Public Sub Transform (input As XPathNavigator, args As XsltArgumentList, output As XmlWriter)

Parametry

input
XPathNavigator

Obsahující XPathNavigator data, která se mají transformovat.

args
XsltArgumentList

Obsahující XsltArgumentList argumenty kvalifikované k oboru názvů používané jako vstup do transformace.

output
XmlWriter

Do XmlWriter kterého chcete výstup provést.

Atributy

Výjimky

Při zpracování transformace XSLT došlo k chybě.

Poznámka: Jedná se o změnu chování ze starších verzí. Vyvolá se, XsltException pokud používáte rozhraní Microsoft .NET Framework verze 1.1 nebo starší.

Poznámky

Poznámka

Třída XslTransform je zastaralá v rozhraní .NET Framework verze 2.0. Třída XslCompiledTransform je nový procesor XSLT. Další informace naleznete v tématu Použití třídy XslCompiledTransform a migrace ze třídy XslTransform.

XslTransform podporuje syntaxi XSLT 1.0. Šablona stylů XSLT musí obsahovat deklaraci xmlns:xsl= http://www.w3.org/1999/XSL/Transformoboru názvů .

Odpovídá args prvkům definovaným xsl:param v šabloně stylů. Výběry transformace se vztahují na dokument jako celek. Jinými slovy, pokud je aktuální uzel nastavený na jiném stromu uzlů než na kořenovém uzlu dokumentu, nezabrání procesu transformace v přístupu ke všem uzlům v načteném dokumentu. Po provedení XPathNavigator transformace zůstane původní stav. To znamená, že uzel, který je aktuální před procesem transformace, zůstane aktuální uzel po Transform volání metody.

Prvek xsl:output není podporován při výstupu do objektu XmlWriter (xsl:output je ignorován). Další informace najdete v tématu Výstupy z XslTransformu .

Poznámka

Tato metoda je nyní zastaralá. Nastavení XmlResolver vlastnosti určuje způsob vyřešení funkce XSLT document() . Doporučeným postupem je použít metodu Transform XmlResolver , která přebírá objekt jako jeden z jeho argumentů.

Viz také

Platí pro

Transform(XPathNavigator, XsltArgumentList, TextWriter)

Upozornění

You should pass XmlResolver to Transform() method

Transformuje data XML pomocí XPathNavigator zadaného args a výstupu výsledek do TextWriter.

public:
 void Transform(System::Xml::XPath::XPathNavigator ^ input, System::Xml::Xsl::XsltArgumentList ^ args, System::IO::TextWriter ^ output);
public void Transform (System.Xml.XPath.XPathNavigator input, System.Xml.Xsl.XsltArgumentList? args, System.IO.TextWriter output);
public void Transform (System.Xml.XPath.XPathNavigator input, System.Xml.Xsl.XsltArgumentList args, System.IO.TextWriter output);
[System.Obsolete("You should pass XmlResolver to Transform() method")]
public void Transform (System.Xml.XPath.XPathNavigator input, System.Xml.Xsl.XsltArgumentList args, System.IO.TextWriter output);
member this.Transform : System.Xml.XPath.XPathNavigator * System.Xml.Xsl.XsltArgumentList * System.IO.TextWriter -> unit
[<System.Obsolete("You should pass XmlResolver to Transform() method")>]
member this.Transform : System.Xml.XPath.XPathNavigator * System.Xml.Xsl.XsltArgumentList * System.IO.TextWriter -> unit
Public Sub Transform (input As XPathNavigator, args As XsltArgumentList, output As TextWriter)

Parametry

input
XPathNavigator

Obsahuje XPathNavigator data, která se mají transformovat.

args
XsltArgumentList

Obsahuje XsltArgumentList kvalifikované argumenty oboru názvů, které se používají jako vstup pro transformaci.

output
TextWriter

To TextWriter , do kterého chcete výstup provést.

Atributy

Výjimky

Při zpracování transformace XSLT došlo k chybě.

Poznámka: Jedná se o změnu chování ze starších verzí. Vyvolá se, XsltException pokud používáte rozhraní Microsoft .NET Framework verze 1.1 nebo starší.

Poznámky

Poznámka

Třída XslTransform je zastaralá v rozhraní .NET Framework verze 2.0. Třída XslCompiledTransform je nový procesor XSLT. Další informace naleznete v tématu Použití třídy XslCompiledTransform a migrace z XslTransform třídy.

XslTransform podporuje syntaxi XSLT 1.0. Šablona stylů XSLT musí obsahovat deklaraci xmlns:xsl= http://www.w3.org/1999/XSL/Transformoboru názvů .

Porovná args se s xsl:param prvky definovanými v šabloně stylů. Výběry transformace se vztahují na dokument jako celek. Jinými slovy, pokud je aktuální uzel nastavený na strom uzlu kromě kořenového uzlu dokumentu, nezabrání procesu transformace v přístupu ke všem uzlům v načteném dokumentu. Po provedení XPathNavigator transformace zůstane v původním stavu. To znamená, že uzel, který je aktuální před procesem transformace, zůstane aktuální uzel po Transform zavolání metody.

Atribut kódování elementu xsl:output není podporován při výstupu TextWriterdo . Podrobnosti o podporovaných atributech najdete v xsl:output části Výstupy z objektu XslTransform.

Poznámka

Tato metoda je nyní zastaralá. Nastavení XmlResolver vlastnosti určuje způsob vyřešení funkce XSLT document() . Doporučeným postupem je použít metodu Transform XmlResolver , která přebírá objekt jako jeden z jeho argumentů.

Viz také

Platí pro

Transform(String, String, XmlResolver)

Transformuje data XML ve vstupním souboru a vypíše výsledek do výstupního souboru.

public:
 void Transform(System::String ^ inputfile, System::String ^ outputfile, System::Xml::XmlResolver ^ resolver);
public void Transform (string inputfile, string outputfile, System.Xml.XmlResolver? resolver);
public void Transform (string inputfile, string outputfile, System.Xml.XmlResolver resolver);
member this.Transform : string * string * System.Xml.XmlResolver -> unit
Public Sub Transform (inputfile As String, outputfile As String, resolver As XmlResolver)

Parametry

inputfile
String

Adresa URL zdrojového dokumentu, který se má transformovat.

outputfile
String

Adresa URL výstupního souboru.

resolver
XmlResolver

Používá XmlResolver se k vyřešení funkce document() XSLT. Pokud ano null, funkce document() se nevyřeší.

Po XmlResolver dokončení metody není uložena Transform v mezipaměti.

Příklady

Následující příklad provede transformaci XSLT a výstupy do souboru. Používá se XmlUrlResolver k překladu externích prostředků s výchozími přihlašovacími údaji. Podrobnosti viz DefaultCredentials.

// Create a resolver with default credentials.
XmlUrlResolver^ resolver = gcnew XmlUrlResolver;
resolver->Credentials = System::Net::CredentialCache::DefaultCredentials;

// Create the XslTransform object.
XslTransform^ xslt = gcnew XslTransform;

// Load the stylesheet.
xslt->Load( "http://myServer/data/authors.xsl", resolver );

// Transform the file.
xslt->Transform( "books.xml", "books.html", resolver );

// Create a resolver with default credentials.
XmlUrlResolver resolver = new XmlUrlResolver();
resolver.Credentials = System.Net.CredentialCache.DefaultCredentials;

// Create the XslTransform object.
XslTransform xslt = new XslTransform();

// Load the stylesheet.
xslt.Load("http://myServer/data/authors.xsl", resolver);

// Transform the file.
xslt.Transform("books.xml", "books.html", resolver);

' Create a resolver with default credentials.
Dim resolver as XmlUrlResolver = new XmlUrlResolver()
resolver.Credentials = System.Net.CredentialCache.DefaultCredentials

' Create the XslTransform object.
Dim xslt as XslTransform = new XslTransform()

' Load the stylesheet.
xslt.Load("http://myServer/data/authors.xsl", resolver)

' Transform the file. 
xslt.Transform("books.xml", "titles.xml", resolver)

Poznámky

Poznámka

Třída XslTransform je zastaralá v rozhraní .NET Framework verze 2.0. Třída XslCompiledTransform je nový procesor XSLT. Další informace naleznete v tématu Použití třídy XslCompiledTransform a migrace ze třídy XslTransform.

XslTransform podporuje syntaxi XSLT 1.0. Šablona stylů XSLT musí obsahovat deklaraci xmlns:xsl= http://www.w3.org/1999/XSL/Transformoboru názvů .

Viz také

Platí pro

Transform(IXPathNavigable, XsltArgumentList, XmlWriter)

Upozornění

You should pass XmlResolver to Transform() method

Transformuje data XML pomocí IXPathNavigable zadaného args a výstupu výsledek do XmlWriter.

public:
 void Transform(System::Xml::XPath::IXPathNavigable ^ input, System::Xml::Xsl::XsltArgumentList ^ args, System::Xml::XmlWriter ^ output);
public void Transform (System.Xml.XPath.IXPathNavigable input, System.Xml.Xsl.XsltArgumentList? args, System.Xml.XmlWriter output);
public void Transform (System.Xml.XPath.IXPathNavigable input, System.Xml.Xsl.XsltArgumentList args, System.Xml.XmlWriter output);
[System.Obsolete("You should pass XmlResolver to Transform() method")]
public void Transform (System.Xml.XPath.IXPathNavigable input, System.Xml.Xsl.XsltArgumentList args, System.Xml.XmlWriter output);
member this.Transform : System.Xml.XPath.IXPathNavigable * System.Xml.Xsl.XsltArgumentList * System.Xml.XmlWriter -> unit
[<System.Obsolete("You should pass XmlResolver to Transform() method")>]
member this.Transform : System.Xml.XPath.IXPathNavigable * System.Xml.Xsl.XsltArgumentList * System.Xml.XmlWriter -> unit
Public Sub Transform (input As IXPathNavigable, args As XsltArgumentList, output As XmlWriter)

Parametry

input
IXPathNavigable

Objekt implementuje IXPathNavigable rozhraní. V rozhraní .NET Framework to může být buď XmlNode (obvykle ), XmlDocumentnebo XPathDocument obsahující data, která se mají transformovat.

args
XsltArgumentList

Obsahuje XsltArgumentList kvalifikované argumenty oboru názvů, které se používají jako vstup pro transformaci.

output
XmlWriter

To XmlWriter , do kterého chcete výstup provést.

Atributy

Výjimky

Při zpracování transformace XSLT došlo k chybě.

Poznámka: Toto je změna chování ze starších verzí. Vyvolá XsltException se, pokud používáte rozhraní Microsoft .NET Framework verze 1.1 nebo starší.

Poznámky

Poznámka

Třída XslTransform je zastaralá v rozhraní .NET Framework verze 2.0. Třída XslCompiledTransform je nový procesor XSLT. Další informace naleznete v tématu Použití třídy XslCompiledTransform a migrace z XslTransform třídy.

XslTransform podporuje syntaxi XSLT 1.0. Šablona stylů XSLT musí obsahovat deklaraci xmlns:xsl= http://www.w3.org/1999/XSL/Transformoboru názvů .

Poznámka

Tato metoda je nyní zastaralá. Nastavení XmlResolver vlastnosti určuje způsob řešení funkce XSLT document() . Doporučeným postupem je použít metodu Transform , která přebírá XmlResolver objekt jako jeden z jeho argumentů.

Porovná args se s xsl:param prvky definovanými v šabloně stylů. Prvek xsl:output není podporován při výstupu do objektu XmlWriter (xsl:output je ignorován). Další informace najdete v tématu Výstupy z objektu XslTransform .

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. Pokud chcete transformovat fragment uzlu, musíte vytvořit XmlDocument pouze fragment uzlu a předat XmlDocument ho Transform metodě.

Následující příklad provede transformaci fragmentu uzlu.

XslTransform xslt = new XslTransform();       
xslt.Load("print_root.xsl");  
XmlDocument doc = new XmlDocument();  
doc.Load("library.xml");  
// Create a new document containing just the node fragment.  
XmlNode testNode = doc.DocumentElement.FirstChild;   
XmlDocument tmpDoc = new XmlDocument();   
tmpDoc.LoadXml(testNode.OuterXml);  
// Pass the document containing the node fragment   
// to the Transform method.  
Console.WriteLine("Passing " + tmpDoc.OuterXml + " to print_root.xsl");  
xslt.Transform(tmpDoc, null, Console.Out);  

V příkladu se jako library.xml vstup a print_root.xsl výstupy používají následující položky do konzoly.

Passing <book genre="novel" ISBN="1-861001-57-5"><title>Pride And Prejudice</title></book> to print_root.xsl   
Root node is book.  

library.xml

<library>  
  <book genre='novel' ISBN='1-861001-57-5'>  
     <title>Pride And Prejudice</title>  
  </book>  
  <book genre='novel' ISBN='1-81920-21-2'>  
     <title>Hook</title>  
  </book>  
</library>  

print_root.xsl

<stylesheet version="1.0" xmlns="http://www.w3.org/1999/XSL/Transform" >  
  <output method="text" />  
  <template match="/">  
  Root node is  <value-of select="local-name(//*[position() = 1])" />   
  </template>  
</stylesheet>  

Viz také

Platí pro

Transform(IXPathNavigable, XsltArgumentList, XmlResolver)

Transformuje data XML pomocí IXPathNavigable zadaného args a výstupu výsledek do XmlReader.

public:
 System::Xml::XmlReader ^ Transform(System::Xml::XPath::IXPathNavigable ^ input, System::Xml::Xsl::XsltArgumentList ^ args, System::Xml::XmlResolver ^ resolver);
public System.Xml.XmlReader Transform (System.Xml.XPath.IXPathNavigable input, System.Xml.Xsl.XsltArgumentList? args, System.Xml.XmlResolver? resolver);
public System.Xml.XmlReader Transform (System.Xml.XPath.IXPathNavigable input, System.Xml.Xsl.XsltArgumentList args, System.Xml.XmlResolver resolver);
member this.Transform : System.Xml.XPath.IXPathNavigable * System.Xml.Xsl.XsltArgumentList * System.Xml.XmlResolver -> System.Xml.XmlReader
Public Function Transform (input As IXPathNavigable, args As XsltArgumentList, resolver As XmlResolver) As XmlReader

Parametry

input
IXPathNavigable

Objekt implementuje IXPathNavigable rozhraní. V rozhraní .NET Framework to může být buď XmlNode (obvykle ), XmlDocumentnebo XPathDocument obsahující data, která se mají transformovat.

args
XsltArgumentList

Obsahuje XsltArgumentList kvalifikované argumenty oboru názvů, které se používají jako vstup pro transformaci.

resolver
XmlResolver

Slouží XmlResolver k vyřešení funkce XSLT document(). Pokud ano null, funkce document() se nevyřeší.

Po XmlResolver dokončení metody není uložena Transform(IXPathNavigable, XsltArgumentList, XmlResolver) v mezipaměti.

Návraty

XmlReader

Obsahuje XmlReader výsledky transformace.

Příklady

Následující příklad transformuje dokument XML a výstup výsledky do XmlReader. K XmlUrlResolver zpracování všech funkcí XSLT document() se používá pověření s potřebnými přihlašovacími údaji.

// Create the XslTransform object.
XslTransform^ xslt = gcnew XslTransform;

// Load the stylesheet.
xslt->Load( "titles.xsl" );

// Create a resolver and specify the necessary credentials.
XmlUrlResolver^ resolver = gcnew XmlUrlResolver;
System::Net::NetworkCredential^ myCred;
myCred = gcnew System::Net::NetworkCredential( UserName, SecurelyStoredPassword, Domain );
resolver->Credentials = myCred;

// Transform the file using the resolver. The resolver is used
// to process the XSLT document() function.
XPathDocument^ doc = gcnew XPathDocument( "books.xml" );
XmlReader^ reader = xslt->Transform( doc, nullptr, resolver );

// Load the reader into a new document for more processing.
XmlDocument^ xmldoc = gcnew XmlDocument;
xmldoc->Load( reader );
// Create the XslTransform object.
XslTransform xslt = new XslTransform();

// Load the stylesheet.
xslt.Load("titles.xsl");

// Create a resolver and specify the necessary credentials.
XmlUrlResolver resolver = new XmlUrlResolver();
System.Net.NetworkCredential myCred;
myCred  = new System.Net.NetworkCredential(UserName,SecurelyStoredPassword,Domain);
resolver.Credentials = myCred;

// Transform the file using the resolver. The resolver is used
// to process the XSLT document() function.
XPathDocument doc = new XPathDocument("books.xml");
XmlReader reader = xslt.Transform(doc, null, resolver);

// Load the reader into a new document for more processing.
XmlDocument xmldoc = new XmlDocument();
xmldoc.Load(reader);
' Create the XslTransform object.
Dim xslt as XslTransform = new XslTransform()

' Load the stylesheet.
xslt.Load("titles.xsl")

' Create a resolver and specify the necessary credentials.
Dim resolver as XmlUrlResolver = new XmlUrlResolver()
Dim myCred as System.Net.NetworkCredential 
myCred = new System.Net.NetworkCredential(UserName,SecurelyStoredPassword,Domain)
resolver.Credentials = myCred

' Transform thefile using the resolver. The resolver is used
' to process the XSLT document() function.
Dim doc as XPathDocument = new XPathDocument("books.xml")
Dim reader as XmlReader = xslt.Transform(doc, nothing, resolver)

' Load the reader into a new document for more processing.
Dim xmldoc as XmlDocument = new XmlDocument()
xmldoc.Load(reader)

Poznámky

Poznámka

Třída XslTransform je zastaralá v rozhraní .NET Framework verze 2.0. Třída XslCompiledTransform je nový procesor XSLT. Další informace naleznete v tématu Použití třídy XslCompiledTransform a migrace z XslTransform třídy.

XslTransform podporuje syntaxi XSLT 1.0. Šablona stylů XSLT musí obsahovat deklaraci xmlns:xsl= http://www.w3.org/1999/XSL/Transformoboru názvů .

Porovná args se s xsl:param prvky definovanými v šabloně stylů. Prvek xsl:output není podporován při výstupu do objektu XmlReader xsl:output (element je ignorován). Další informace najdete v tématu Výstupy z objektu XslTransform .

Tato metoda umožňuje provádět asynchronní transformaci zdrojového dokumentu.

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. Pokud chcete transformovat fragment uzlu, musíte vytvořit XmlDocument pouze fragment uzlu a předat XmlDocument ho Transform metodě.

Následující příklad provede transformaci fragmentu uzlu.

XslTransform xslt = new XslTransform();       
xslt.Load("print_root.xsl");  
XmlDocument doc = new XmlDocument();  
doc.Load("library.xml");  
// Create a new document containing just the node fragment.  
XmlNode testNode = doc.DocumentElement.FirstChild;   
XmlDocument tmpDoc = new XmlDocument();   
tmpDoc.LoadXml(testNode.OuterXml);  
// Pass the document containing the node fragment   
// to the Transform method.  
Console.WriteLine("Passing " + tmpDoc.OuterXml + " to print_root.xsl");  
xslt.Transform(tmpDoc, null, Console.Out, null);  

V příkladu se jako library.xml vstup a print_root.xsl výstupy používají následující položky do konzoly.

Passing <book genre="novel" ISBN="1-861001-57-5"><title>Pride And Prejudice</title></book> to print_root.xsl   
Root node is book.  

library.xml

<library>  
  <book genre='novel' ISBN='1-861001-57-5'>  
     <title>Pride And Prejudice</title>  
  </book>  
  <book genre='novel' ISBN='1-81920-21-2'>  
     <title>Hook</title>  
  </book>  
</library>  

print_root.xsl

<stylesheet version="1.0" xmlns="http://www.w3.org/1999/XSL/Transform" >  
  <output method="text" />   
  <template match="/">  
     Root node is  <value-of select="local-name(//*[position() = 1])" />   
  </template>  
</stylesheet>  

Viz také

Platí pro

Transform(IXPathNavigable, XsltArgumentList, TextWriter)

Upozornění

You should pass XmlResolver to Transform() method

Transformuje data XML pomocí IXPathNavigable zadaného args a výstupu výsledek na TextWriter.

public:
 void Transform(System::Xml::XPath::IXPathNavigable ^ input, System::Xml::Xsl::XsltArgumentList ^ args, System::IO::TextWriter ^ output);
public void Transform (System.Xml.XPath.IXPathNavigable input, System.Xml.Xsl.XsltArgumentList? args, System.IO.TextWriter output);
public void Transform (System.Xml.XPath.IXPathNavigable input, System.Xml.Xsl.XsltArgumentList args, System.IO.TextWriter output);
[System.Obsolete("You should pass XmlResolver to Transform() method")]
public void Transform (System.Xml.XPath.IXPathNavigable input, System.Xml.Xsl.XsltArgumentList args, System.IO.TextWriter output);
member this.Transform : System.Xml.XPath.IXPathNavigable * System.Xml.Xsl.XsltArgumentList * System.IO.TextWriter -> unit
[<System.Obsolete("You should pass XmlResolver to Transform() method")>]
member this.Transform : System.Xml.XPath.IXPathNavigable * System.Xml.Xsl.XsltArgumentList * System.IO.TextWriter -> unit
Public Sub Transform (input As IXPathNavigable, args As XsltArgumentList, output As TextWriter)

Parametry

input
IXPathNavigable

Objekt implementuje IXPathNavigable rozhraní. V rozhraní .NET Framework to může být buď ( XmlNode obvykle an XmlDocument), nebo XPathDocument obsahující data, která se mají transformovat.

args
XsltArgumentList

Obsahující XsltArgumentList argumenty kvalifikované k oboru názvů používané jako vstup do transformace.

output
TextWriter

Do TextWriter kterého chcete výstup provést.

Atributy

Výjimky

Při zpracování transformace XSLT došlo k chybě.

Poznámka: Toto je změna chování ze starších verzí. Vyvolá XsltException se, pokud používáte rozhraní Microsoft .NET Framework verze 1.1 nebo starší.

Poznámky

Poznámka

Třída XslTransform je zastaralá v rozhraní .NET Framework verze 2.0. Třída XslCompiledTransform je nový procesor XSLT. Další informace naleznete v tématu Použití třídy XslCompiledTransform a migrace ze třídy XslTransform.

XslTransform podporuje syntaxi XSLT 1.0. Šablona stylů XSLT musí obsahovat deklaraci xmlns:xsl= http://www.w3.org/1999/XSL/Transformoboru názvů .

Poznámka

Tato metoda je nyní zastaralá. Nastavení XmlResolver vlastnosti určuje způsob vyřešení funkce XSLT document() . Doporučeným postupem je použít metodu Transform XmlResolver , která přebírá objekt jako jeden z jeho argumentů.

Odpovídá args prvkům definovaným xsl:param v šabloně stylů.

Atribut kódování prvku xsl:output není při výstupu TextWriterdo prvku podporován . Projděte si výstupy z XslTransformu pro konkrétní atributy, které xsl:output jsou podporovány.

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. Pokud chcete transformovat fragment uzlu, musíte vytvořit XmlDocument pouze fragment uzlu a předat XmlDocument ho Transform metodě.

Následující příklad provede transformaci fragmentu uzlu.

XslTransform xslt = new XslTransform();       
xslt.Load("print_root.xsl");  
XmlDocument doc = new XmlDocument();  
doc.Load("library.xml");  
// Create a new document containing just the node fragment.  
XmlNode testNode = doc.DocumentElement.FirstChild;   
XmlDocument tmpDoc = new XmlDocument();   
tmpDoc.LoadXml(testNode.OuterXml);  
// Pass the document containing the node fragment   
// to the Transform method.  
Console.WriteLine("Passing " + tmpDoc.OuterXml + " to print_root.xsl");  
xslt.Transform(tmpDoc, null, Console.Out);  

V příkladu se jako library.xml vstup a print_root.xsl výstupy používají následující položky do konzoly.

Passing <book genre="novel" ISBN="1-861001-57-5"><title>Pride And Prejudice</title></book> to print_root.xsl   
Root node is book.  

library.xml

<library>  
  <book genre='novel' ISBN='1-861001-57-5'>  
     <title>Pride And Prejudice</title>  
  </book>  
  <book genre='novel' ISBN='1-81920-21-2'>  
     <title>Hook</title>  
  </book>  
</library>  

print_root.xsl

<stylesheet version="1.0" xmlns="http://www.w3.org/1999/XSL/Transform" >  
  <output method="text" />   
  <template match="/">  
     Root node is  <value-of select="local-name(//*[position() = 1])" />   
  </template>  
</stylesheet>  

Viz také

Platí pro

Transform(IXPathNavigable, XsltArgumentList, Stream)

Upozornění

You should pass XmlResolver to Transform() method

Transformuje data XML pomocí IXPathNavigable zadaného args a výstupu výsledek na Stream.

public:
 void Transform(System::Xml::XPath::IXPathNavigable ^ input, System::Xml::Xsl::XsltArgumentList ^ args, System::IO::Stream ^ output);
public void Transform (System.Xml.XPath.IXPathNavigable input, System.Xml.Xsl.XsltArgumentList? args, System.IO.Stream output);
public void Transform (System.Xml.XPath.IXPathNavigable input, System.Xml.Xsl.XsltArgumentList args, System.IO.Stream output);
[System.Obsolete("You should pass XmlResolver to Transform() method")]
public void Transform (System.Xml.XPath.IXPathNavigable input, System.Xml.Xsl.XsltArgumentList args, System.IO.Stream output);
member this.Transform : System.Xml.XPath.IXPathNavigable * System.Xml.Xsl.XsltArgumentList * System.IO.Stream -> unit
[<System.Obsolete("You should pass XmlResolver to Transform() method")>]
member this.Transform : System.Xml.XPath.IXPathNavigable * System.Xml.Xsl.XsltArgumentList * System.IO.Stream -> unit
Public Sub Transform (input As IXPathNavigable, args As XsltArgumentList, output As Stream)

Parametry

input
IXPathNavigable

Objekt implementuje IXPathNavigable rozhraní. V rozhraní .NET Framework to může být buď ( XmlNode obvykle an XmlDocument), nebo XPathDocument obsahující data, která se mají transformovat.

args
XsltArgumentList

Obsahující XsltArgumentList argumenty kvalifikované k oboru názvů používané jako vstup do transformace.

output
Stream

Datový proud, do kterého chcete výstup provést.

Atributy

Výjimky

Při zpracování transformace XSLT došlo k chybě.

Poznámka: Jedná se o změnu chování ze starších verzí. Vyvolá se, XsltException pokud používáte rozhraní Microsoft .NET Framework verze 1.1 nebo starší.

Poznámky

Poznámka

Třída XslTransform je zastaralá v rozhraní .NET Framework verze 2.0. Třída XslCompiledTransform je nový procesor XSLT. Další informace naleznete v tématu Použití třídy XslCompiledTransform a migrace ze třídy XslTransform.

XslTransform podporuje syntaxi XSLT 1.0. Šablona stylů XSLT musí obsahovat deklaraci xmlns:xsl= http://www.w3.org/1999/XSL/Transformoboru názvů .

Poznámka

Tato metoda je nyní zastaralá. Nastavení XmlResolver vlastnosti určuje způsob vyřešení funkce XSLT document() . Doporučeným postupem je použít metodu Transform XmlResolver , která přebírá objekt jako jeden z jeho argumentů.

Odpovídá args prvkům definovaným xsl:param v šabloně stylů.

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. Pokud chcete transformovat fragment uzlu, musíte vytvořit XmlDocument pouze fragment uzlu a předat XmlDocument ho Transform metodě.

Následující příklad provede transformaci na fragmentu uzlu.

XslTransform xslt = new XslTransform();       
xslt.Load("print_root.xsl");  
XmlDocument doc = new XmlDocument();  
doc.Load("library.xml");  
// Create a new document containing just the node fragment.  
XmlNode testNode = doc.DocumentElement.FirstChild;   
XmlDocument tmpDoc = new XmlDocument();   
tmpDoc.LoadXml(testNode.OuterXml);  
// Pass the document containing the node fragment   
// to the Transform method.  
Console.WriteLine("Passing " + tmpDoc.OuterXml + " to print_root.xsl");  
xslt.Transform(tmpDoc, null, Console.Out);  

Příklad používá library.xml jako vstup a print_root.xsl výstupy následující příkazy konzoly.

Passing <book genre="novel" ISBN="1-861001-57-5"><title>Pride And Prejudice</title></book> to print_root.xsl   
Root node is book.  

library.xml

<library>  
  <book genre='novel' ISBN='1-861001-57-5'>  
     <title>Pride And Prejudice</title>  
  </book>  
  <book genre='novel' ISBN='1-81920-21-2'>  
     <title>Hook</title>  
  </book>  
</library>  

print_root.xsl

<stylesheet version="1.0" xmlns="http://www.w3.org/1999/XSL/Transform" >  
  <output method="text" />   
  <template match="/">  
     Root node is  <value-of select="local-name(//*[position() = 1])" />   
  </template>  
</stylesheet>  

Viz také

Platí pro

Transform(XPathNavigator, XsltArgumentList, XmlWriter, XmlResolver)

Transformuje data XML pomocí XPathNavigator zadaných args a vypíše výsledek do XmlWriter.

public:
 void Transform(System::Xml::XPath::XPathNavigator ^ input, System::Xml::Xsl::XsltArgumentList ^ args, System::Xml::XmlWriter ^ output, System::Xml::XmlResolver ^ resolver);
public void Transform (System.Xml.XPath.XPathNavigator input, System.Xml.Xsl.XsltArgumentList? args, System.Xml.XmlWriter output, System.Xml.XmlResolver? resolver);
public void Transform (System.Xml.XPath.XPathNavigator input, System.Xml.Xsl.XsltArgumentList args, System.Xml.XmlWriter output, System.Xml.XmlResolver resolver);
member this.Transform : System.Xml.XPath.XPathNavigator * System.Xml.Xsl.XsltArgumentList * System.Xml.XmlWriter * System.Xml.XmlResolver -> unit
Public Sub Transform (input As XPathNavigator, args As XsltArgumentList, output As XmlWriter, resolver As XmlResolver)

Parametry

input
XPathNavigator

Obsahuje XPathNavigator data, která se mají transformovat.

args
XsltArgumentList

Obsahuje XsltArgumentList kvalifikované argumenty oboru názvů, které se používají jako vstup pro transformaci.

output
XmlWriter

To XmlWriter , do kterého chcete výstup provést.

resolver
XmlResolver

Slouží XmlResolver k vyřešení funkce XSLT document(). Pokud ano null, funkce document() se nevyřeší.

Po XmlResolver dokončení metody není uložena Transform(XPathNavigator, XsltArgumentList, XmlWriter, XmlResolver) v mezipaměti.

Výjimky

Při zpracování transformace XSLT došlo k chybě.

Poznámka: Jedná se o změnu chování ze starších verzí. Vyvolá se, XsltException pokud používáte rozhraní Microsoft .NET Framework verze 1.1 nebo starší.

Příklady

Následující příklad načte a upraví dokument XML před provedením transformace XSLT.

XmlDocument^ doc = gcnew XmlDocument;
doc->Load( "books.xml" );

// Modify the XML file.
XmlElement^ root = doc->DocumentElement;
root->FirstChild->LastChild->InnerText = "12.95";

// Create an XPathNavigator to use for the transform.
XPathNavigator^ nav = root->CreateNavigator();

// Transform the file.
XslTransform^ xslt = gcnew XslTransform;
xslt->Load( "output.xsl" );
XmlTextWriter^ writer = gcnew XmlTextWriter( "books.html", nullptr );
xslt->Transform( nav, nullptr, writer, nullptr);
XmlDocument doc = new XmlDocument();
doc.Load("books.xml");

// Modify the XML file.
XmlElement root = doc.DocumentElement;
root.FirstChild.LastChild.InnerText = "12.95";

// Create an XPathNavigator to use for the transform.
XPathNavigator nav = root.CreateNavigator();

// Transform the file.
XslTransform xslt = new XslTransform();
xslt.Load("output.xsl");
XmlTextWriter writer = new XmlTextWriter("books.html", null);
xslt.Transform(nav, null, writer, null);
Dim doc as XmlDocument = new XmlDocument()
doc.Load("books.xml")

' Modify the XML file.
Dim root as XmlElement = doc.DocumentElement
root.FirstChild.LastChild.InnerText = "12.95"

' Create an XPathNavigator to use for the transform.
Dim nav as XPathNavigator = root.CreateNavigator()

' Transform the file.
Dim xslt as XslTransform = new XslTransform()
xslt.Load("output.xsl")
Dim writer as XmlTextWriter = new XmlTextWriter("books.html", nothing)
xslt.Transform(nav,nothing, writer, nothing)

Poznámky

Poznámka

Třída XslTransform je zastaralá v rozhraní .NET Framework verze 2.0. Třída XslCompiledTransform je nový procesor XSLT. Další informace naleznete v tématu Použití třídy XslCompiledTransform a migrace z XslTransform třídy.

XslTransform podporuje syntaxi XSLT 1.0. Šablona stylů XSLT musí obsahovat deklaraci xmlns:xsl= http://www.w3.org/1999/XSL/Transformoboru názvů .

Porovná args se s xsl:param prvky definovanými v šabloně stylů. Výběry transformace se vztahují na dokument jako celek. Jinými slovy, pokud je aktuální uzel nastavený na strom uzlu kromě kořenového uzlu dokumentu, nezabrání procesu transformace v přístupu ke všem uzlům v načteném dokumentu. Po provedení XPathNavigator transformace zůstane v původním stavu. To znamená, že uzel, který je aktuální před procesem transformace, zůstane aktuální uzel po Transform volání metody.

Prvek xsl:output není podporován při výstupu do objektu XmlWriter (xsl:output je ignorován). Další informace najdete v tématu Výstupy z XslTransformu .

Viz také

Platí pro

Transform(XPathNavigator, XsltArgumentList)

Upozornění

You should pass XmlResolver to Transform() method

Transformuje data XML pomocí XPathNavigator zadaného args a výstupu výsledku XmlReaderna hodnotu .

public:
 System::Xml::XmlReader ^ Transform(System::Xml::XPath::XPathNavigator ^ input, System::Xml::Xsl::XsltArgumentList ^ args);
public System.Xml.XmlReader Transform (System.Xml.XPath.XPathNavigator input, System.Xml.Xsl.XsltArgumentList? args);
public System.Xml.XmlReader Transform (System.Xml.XPath.XPathNavigator input, System.Xml.Xsl.XsltArgumentList args);
[System.Obsolete("You should pass XmlResolver to Transform() method")]
public System.Xml.XmlReader Transform (System.Xml.XPath.XPathNavigator input, System.Xml.Xsl.XsltArgumentList args);
member this.Transform : System.Xml.XPath.XPathNavigator * System.Xml.Xsl.XsltArgumentList -> System.Xml.XmlReader
[<System.Obsolete("You should pass XmlResolver to Transform() method")>]
member this.Transform : System.Xml.XPath.XPathNavigator * System.Xml.Xsl.XsltArgumentList -> System.Xml.XmlReader
Public Function Transform (input As XPathNavigator, args As XsltArgumentList) As XmlReader

Parametry

input
XPathNavigator

Obsahující XPathNavigator data, která se mají transformovat.

args
XsltArgumentList

Obsahující XsltArgumentList argumenty kvalifikované k oboru názvů používané jako vstup do transformace.

Návraty

XmlReader

Obsahuje XmlReader výsledky transformace.

Atributy

Výjimky

Při zpracování transformace XSLT došlo k chybě.

Poznámka: Jedná se o změnu chování ze starších verzí. Vyvolá se, XsltException pokud používáte rozhraní Microsoft .NET Framework verze 1.1 nebo starší.

Poznámky

Poznámka

Třída XslTransform je zastaralá v rozhraní .NET Framework verze 2.0. Třída XslCompiledTransform je nový procesor XSLT. Další informace naleznete v tématu Použití třídy XslCompiledTransform a migrace ze třídy XslTransform.

XslTransform podporuje syntaxi XSLT 1.0. Šablona stylů XSLT musí obsahovat deklaraci xmlns:xsl= http://www.w3.org/1999/XSL/Transformoboru názvů .

Odpovídá args prvkům definovaným xsl:param v šabloně stylů. Výběry transformace se vztahují na dokument jako celek. Jinými slovy, pokud je aktuální uzel nastavený na jiném stromu uzlů než na kořenovém uzlu dokumentu, nezabrání procesu transformace v přístupu ke všem uzlům v načteném dokumentu. Po provedení XPathNavigator transformace zůstane původní stav. To znamená, že uzel, který je aktuální před procesem transformace, zůstane aktuální uzel po Transform volání metody.

Vzhledem k tomu, že XmlReader poskytuje výstup jen pro čtení, xsl:output je prvek ignorován. Další informace najdete v tématu Výstupy z XslTransformu .

Tato metoda umožňuje provádět asynchronní transformaci zdrojového dokumentu.

Poznámka

Tato metoda je zastaralá. Nastavení XmlResolver vlastnosti určuje, jak je vyřešena funkce document() XSLT. Doporučeným postupem je použít metodu Transform XmlResolver , která přebírá objekt jako jeden z jeho argumentů.

Viz také

Platí pro

Transform(IXPathNavigable, XsltArgumentList)

Upozornění

You should pass XmlResolver to Transform() method

Transformuje data XML pomocí IXPathNavigable zadaného args a výstupu výsledku XmlReaderna hodnotu .

public:
 System::Xml::XmlReader ^ Transform(System::Xml::XPath::IXPathNavigable ^ input, System::Xml::Xsl::XsltArgumentList ^ args);
public System.Xml.XmlReader Transform (System.Xml.XPath.IXPathNavigable input, System.Xml.Xsl.XsltArgumentList? args);
public System.Xml.XmlReader Transform (System.Xml.XPath.IXPathNavigable input, System.Xml.Xsl.XsltArgumentList args);
[System.Obsolete("You should pass XmlResolver to Transform() method")]
public System.Xml.XmlReader Transform (System.Xml.XPath.IXPathNavigable input, System.Xml.Xsl.XsltArgumentList args);
member this.Transform : System.Xml.XPath.IXPathNavigable * System.Xml.Xsl.XsltArgumentList -> System.Xml.XmlReader
[<System.Obsolete("You should pass XmlResolver to Transform() method")>]
member this.Transform : System.Xml.XPath.IXPathNavigable * System.Xml.Xsl.XsltArgumentList -> System.Xml.XmlReader
Public Function Transform (input As IXPathNavigable, args As XsltArgumentList) As XmlReader

Parametry

input
IXPathNavigable

Objekt implementuje IXPathNavigable rozhraní. V rozhraní .NET Framework to může být buď XmlNode (obvykle ), XmlDocumentnebo XPathDocument obsahující data, která se mají transformovat.

args
XsltArgumentList

Obsahuje XsltArgumentList kvalifikované argumenty oboru názvů, které se používají jako vstup pro transformaci.

Návraty

XmlReader

Obsahuje XmlReader výsledky transformace.

Atributy

Poznámky

Poznámka

Třída XslTransform je zastaralá v rozhraní .NET Framework verze 2.0. Třída XslCompiledTransform je nový procesor XSLT. Další informace naleznete v tématu Použití třídy XslCompiledTransform a migrace ze třídy XslTransform.

XslTransform podporuje syntaxi XSLT 1.0. Šablona stylů XSLT musí obsahovat deklaraci xmlns:xsl= http://www.w3.org/1999/XSL/Transformoboru názvů .

Poznámka

Tato metoda je nyní zastaralá. Nastavení XmlResolver vlastnosti určuje způsob vyřešení funkce XSLT document() . Doporučeným postupem je použít metodu Transform XmlResolver , která přebírá objekt jako jeden z jeho argumentů.

Odpovídá args prvkům definovaným xsl:param v šabloně stylů. Prvek xsl:output není podporován při výstupu do objektu XmlReader ( xsl:output prvek je ignorován). Další informace najdete v tématu Výstupy z XslTransformu .

Tato metoda umožňuje provádět asynchronní transformaci zdrojového dokumentu.

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. Pokud chcete transformovat fragment uzlu, musíte vytvořit XmlDocument pouze fragment uzlu a předat XmlDocument ho Transform metodě.

Následující příklad provede transformaci na fragmentu uzlu.

XslTransform xslt = new XslTransform();       
xslt.Load("print_root.xsl");  
XmlDocument doc = new XmlDocument();  
doc.Load("library.xml");  
// Create a new document containing just the node fragment.  
XmlNode testNode = doc.DocumentElement.FirstChild;   
XmlDocument tmpDoc = new XmlDocument();   
tmpDoc.LoadXml(testNode.OuterXml);  
// Pass the document containing the node fragment   
// to the Transform method.  
Console.WriteLine("Passing " + tmpDoc.OuterXml + " to print_root.xsl");  
xslt.Transform(tmpDoc, null, Console.Out);  

Příklad používá library.xml jako vstup a print_root.xsl výstupy následující příkazy konzoly.

Passing <book genre="novel" ISBN="1-861001-57-5"><title>Pride And Prejudice</title></book> to print_root.xsl   
Root node is book.  

library.xml

<library>  
  <book genre='novel' ISBN='1-861001-57-5'>  
     <title>Pride And Prejudice</title>  
  </book>  
  <book genre='novel' ISBN='1-81920-21-2'>  
     <title>Hook</title>  
  </book>  
</library>  

print_root.xsl

<stylesheet version="1.0" xmlns="http://www.w3.org/1999/XSL/Transform" >  
  <output method="text" />   
  <template match="/">  
     Root node is  <value-of select="local-name(//*[position() = 1])" />   
  </template>  
</stylesheet>  

Viz také

Platí pro

Transform(String, String)

Upozornění

You should pass XmlResolver to Transform() method

Transformuje data XML ve vstupním souboru a vypíše výsledek do výstupního souboru.

public:
 void Transform(System::String ^ inputfile, System::String ^ outputfile);
public void Transform (string inputfile, string outputfile);
[System.Obsolete("You should pass XmlResolver to Transform() method")]
public void Transform (string inputfile, string outputfile);
member this.Transform : string * string -> unit
[<System.Obsolete("You should pass XmlResolver to Transform() method")>]
member this.Transform : string * string -> unit
Public Sub Transform (inputfile As String, outputfile As String)

Parametry

inputfile
String

Adresa URL zdrojového dokumentu, který se má transformovat.

outputfile
String

Adresa URL výstupního souboru.

Atributy

Příklady

Následující příklad transformuje books.xml soubor pomocí output.xsl šablony stylů a vypíše výsledky do books.html souboru.

// Create the XslTransform object.
XslTransform^ xslt = gcnew XslTransform;

// Load the stylesheet.
xslt->Load( "output.xsl" );

// Transform the file.
xslt->Transform("books.xml","books.html");
//Create the XslTransform object.
XslTransform xslt = new XslTransform();

//Load the stylesheet.
xslt.Load("output.xsl");

//Transform the file.
xslt.Transform("books.xml", "books.html");
'Create the XslTransform object.
Dim xslt as XslTransform = new XslTransform()

'Load the stylesheet.
xslt.Load("output.xsl")

'Transform the 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

Poznámka

Třída XslTransform je zastaralá v rozhraní .NET Framework verze 2.0. Třída XslCompiledTransform je nový procesor XSLT. Další informace naleznete v tématu Použití třídy XslCompiledTransform a migrace z XslTransform třídy.

XslTransform podporuje syntaxi XSLT 1.0. Šablona stylů XSLT musí obsahovat deklaraci xmlns:xsl= http://www.w3.org/1999/XSL/Transformoboru názvů .

Poznámka

Tato metoda je zastaralá ve verzi 1.1 rozhraní .NET Framework. Nastavení XmlResolver vlastnosti určuje způsob řešení funkce XSLT document() . Doporučeným postupem je použít metodu Transform , která přebírá XmlResolver objekt jako jeden z jeho argumentů.

Viz také

Platí pro

Transform(XPathNavigator, XsltArgumentList, Stream)

Upozornění

You should pass XmlResolver to Transform() method

Transformuje data XML pomocí XPathNavigator zadaného args a výstupu výsledek do Stream.

public:
 void Transform(System::Xml::XPath::XPathNavigator ^ input, System::Xml::Xsl::XsltArgumentList ^ args, System::IO::Stream ^ output);
public void Transform (System.Xml.XPath.XPathNavigator input, System.Xml.Xsl.XsltArgumentList? args, System.IO.Stream output);
public void Transform (System.Xml.XPath.XPathNavigator input, System.Xml.Xsl.XsltArgumentList args, System.IO.Stream output);
[System.Obsolete("You should pass XmlResolver to Transform() method")]
public void Transform (System.Xml.XPath.XPathNavigator input, System.Xml.Xsl.XsltArgumentList args, System.IO.Stream output);
member this.Transform : System.Xml.XPath.XPathNavigator * System.Xml.Xsl.XsltArgumentList * System.IO.Stream -> unit
[<System.Obsolete("You should pass XmlResolver to Transform() method")>]
member this.Transform : System.Xml.XPath.XPathNavigator * System.Xml.Xsl.XsltArgumentList * System.IO.Stream -> unit
Public Sub Transform (input As XPathNavigator, args As XsltArgumentList, output As Stream)

Parametry

input
XPathNavigator

Obsahuje XPathNavigator data, která se mají transformovat.

args
XsltArgumentList

Obsahuje XsltArgumentList kvalifikované argumenty oboru názvů, které se používají jako vstup pro transformaci.

output
Stream

Datový proud, do kterého chcete výstup provést.

Atributy

Výjimky

Při zpracování transformace XSLT došlo k chybě.

Poznámka: Toto je změna chování ze starších verzí. Vyvolá XsltException se, pokud používáte rozhraní Microsoft .NET Framework verze 1.1 nebo starší.

Poznámky

Poznámka

Třída XslTransform je zastaralá v rozhraní .NET Framework verze 2.0. Třída XslCompiledTransform je nový procesor XSLT. Další informace naleznete v tématu Použití třídy XslCompiledTransform a migrace z XslTransform třídy.

XslTransform podporuje syntaxi XSLT 1.0. Šablona stylů XSLT musí obsahovat deklaraci xmlns:xsl= http://www.w3.org/1999/XSL/Transformoboru názvů .

Porovná args se s xsl:param prvky definovanými v šabloně stylů. Výběry transformace se vztahují na dokument jako celek. Jinými slovy, pokud je aktuální uzel nastavený na strom uzlu kromě kořenového uzlu dokumentu, nezabrání procesu transformace v přístupu ke všem uzlům v načteném dokumentu. Po provedení XPathNavigator transformace zůstane původní stav. To znamená, že uzel, který je aktuální před procesem transformace, zůstane aktuální uzel po Transform zavolání metody.

Podrobnosti o podporovaných atributech najdete v xsl:output části Výstupy z objektu XslTransform.

Poznámka

Tato metoda je nyní zastaralá. Nastavení XmlResolver vlastnosti určuje způsob řešení funkce XSLT document() . Doporučeným postupem je použít metodu Transform , která přebírá XmlResolver objekt jako jeden z jeho argumentů.

Viz také

Platí pro