Partilhar via


XslTransform.Transform Método

Definição

Transforma os dados XML usando a folha de estilos XSLT carregada.

Sobrecargas

Transform(XPathNavigator, XsltArgumentList, XmlResolver)

Transforma os dados XML no XPathNavigator usando o args especificado e gera o resultado para um XmlReader.

Transform(XPathNavigator, XsltArgumentList, TextWriter, XmlResolver)

Transforma os dados XML no XPathNavigator usando o args especificado e gera o resultado para um TextWriter.

Transform(XPathNavigator, XsltArgumentList, Stream, XmlResolver)

Transforma os dados XML no XPathNavigator usando o args especificado e gera o resultado para um Stream.

Transform(IXPathNavigable, XsltArgumentList, XmlWriter, XmlResolver)

Transforma os dados XML no IXPathNavigable usando o args especificado e gera o resultado para um XmlWriter.

Transform(IXPathNavigable, XsltArgumentList, TextWriter, XmlResolver)

Transforma os dados XML no IXPathNavigable usando o args especificado e gera o resultado para um TextWriter.

Transform(IXPathNavigable, XsltArgumentList, Stream, XmlResolver)

Transforma os dados XML no IXPathNavigable usando o args especificado e gera o resultado para um Stream.

Transform(XPathNavigator, XsltArgumentList, XmlWriter)
Obsoleto.

Transforma os dados XML no XPathNavigator usando o args especificado e gera o resultado para um XmlWriter.

Transform(XPathNavigator, XsltArgumentList, TextWriter)
Obsoleto.

Transforma os dados XML no XPathNavigator usando o args especificado e gera o resultado para um TextWriter.

Transform(String, String, XmlResolver)

Transforma os dados XML no arquivo de entrada e gera o resultado para um arquivo de saída.

Transform(IXPathNavigable, XsltArgumentList, XmlWriter)
Obsoleto.

Transforma os dados XML no IXPathNavigable usando o args especificado e gera o resultado para um XmlWriter.

Transform(IXPathNavigable, XsltArgumentList, XmlResolver)

Transforma os dados XML no IXPathNavigable usando o args especificado e gera o resultado para um XmlReader.

Transform(IXPathNavigable, XsltArgumentList, TextWriter)
Obsoleto.

Transforma os dados XML no IXPathNavigable usando o args especificado e gera o resultado para um TextWriter.

Transform(IXPathNavigable, XsltArgumentList, Stream)
Obsoleto.

Transforma os dados XML no IXPathNavigable usando o args especificado e gera o resultado para um Stream.

Transform(XPathNavigator, XsltArgumentList, XmlWriter, XmlResolver)

Transforma os dados XML no XPathNavigator usando o args especificado e gera o resultado para um XmlWriter.

Transform(XPathNavigator, XsltArgumentList)
Obsoleto.

Transforma os dados XML no XPathNavigator usando o args especificado e gera o resultado para um XmlReader.

Transform(IXPathNavigable, XsltArgumentList)
Obsoleto.

Transforma os dados XML no IXPathNavigable usando o args especificado e gera o resultado para um XmlReader.

Transform(String, String)
Obsoleto.

Transforma os dados XML no arquivo de entrada e gera o resultado para um arquivo de saída.

Transform(XPathNavigator, XsltArgumentList, Stream)
Obsoleto.

Transforma os dados XML no XPathNavigator usando o args especificado e gera o resultado para um Stream.

Comentários

Observação

A XslTransform classe está obsoleta no .NET Framework versão 2.0. A XslCompiledTransform classe é o novo processador XSLT. Para obter mais informações, consulte Como usar a classe XslCompiledTransform e migrar da classe XslTransform.

Transform(XPathNavigator, XsltArgumentList, XmlResolver)

Transforma os dados XML no XPathNavigator usando o args especificado e gera o resultado para um XmlReader.

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

Parâmetros

input
XPathNavigator

Um XPathNavigator que contém os dados a serem transformados.

args
XsltArgumentList

Um XsltArgumentList que contém os argumentos qualificados por namespace usados como a entrada para a transformação.

resolver
XmlResolver

O XmlResolver usado para resolver a função XSLT document(). Se isso for null, a função document() não será resolvida.

O XmlResolver não é armazenado em cache após o método Transform(XPathNavigator, XsltArgumentList, XmlResolver) ser concluído.

Retornos

XmlReader

Um XmlReader que contém os resultados da transformação.

Exceções

Ocorreu um erro ao processar a transformação XSLT.

Observação: esta é uma alteração do comportamento de versões anteriores. Um XsltException será gerado se você estiver usando o Microsoft .NET Framework versão 1.1 ou anterior.

Comentários

Observação

A XslTransform classe está obsoleta no .NET Framework versão 2.0. A XslCompiledTransform classe é o novo processador XSLT. Para obter mais informações, consulte Usando a classe XslCompiledTransform e migrando da classe XslTransform.

XslTransform dá suporte à sintaxe XSLT 1.0. A folha de estilos XSLT deve incluir a declaração xmlns:xsl= http://www.w3.org/1999/XSL/Transformde namespace.

Os args elementos são combinados com os xsl:param elementos definidos na folha de estilos. As seleções de transformação se aplicam ao documento como um todo. Em outras palavras, se o nó atual estiver definido em uma árvore de nó diferente do nó raiz do documento, isso não impedirá que o processo de transformação acesse todos os nós no documento carregado. Após a transformação ter sido executada, os XPathNavigator restos permanecem em seu estado original. Isso significa que o nó, que é atual antes do processo de transformação, permanece o nó atual depois que o Transform método é chamado.

Como XmlReader fornece saída somente leitura, o xsl:output elemento é ignorado. Consulte Saídas de um XslTransform para obter mais informações.

Esse método permite que você faça uma transformação assíncrona do documento de origem.

Confira também

Aplica-se a

Transform(XPathNavigator, XsltArgumentList, TextWriter, XmlResolver)

Transforma os dados XML no XPathNavigator usando o args especificado e gera o resultado para um 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)

Parâmetros

input
XPathNavigator

Um XPathNavigator que contém os dados a serem transformados.

args
XsltArgumentList

Um XsltArgumentList que contém os argumentos qualificados por namespace usados como a entrada para a transformação.

output
TextWriter

O TextWriter para o qual deseja gerar.

resolver
XmlResolver

O XmlResolver usado para resolver a função XSLT document(). Se isso for null, a função document() não será resolvida.

O XmlResolver não é armazenado em cache após o método Transform(XPathNavigator, XsltArgumentList, TextWriter, XmlResolver) ser concluído.

Exceções

Ocorreu um erro ao processar a transformação XSLT.

Observação: esta é uma alteração do comportamento de versões anteriores. Um XsltException será gerado se você estiver usando o Microsoft .NET Framework versão 1.1 ou anterior.

Comentários

Observação

A XslTransform classe está obsoleta no .NET Framework versão 2.0. A XslCompiledTransform classe é o novo processador XSLT. Para obter mais informações, consulte Usando a classe XslCompiledTransform e migrando da classe XslTransform.

XslTransform dá suporte à sintaxe XSLT 1.0. A folha de estilos XSLT deve incluir a declaração xmlns:xsl= http://www.w3.org/1999/XSL/Transformde namespace.

Os args elementos são combinados com os xsl:param elementos definidos na folha de estilos. As seleções de transformação se aplicam ao documento como um todo. Em outras palavras, se o nó atual estiver definido em uma árvore de nó diferente do nó raiz do documento, isso não impedirá que o processo de transformação acesse todos os nós no documento carregado. Depois que a transformação é executada, os XPathNavigator restos permanecem em seu estado original. Isso significa que o nó, que é atual antes do processo de transformação, permanece o nó atual depois que o Transform método é chamado.

Não há suporte para o atributo de codificação em um xsl:output elemento ao gerar para um TextWriter. Consulte Saídas de um XslTransform para obter detalhes sobre quais xsl:output atributos têm suporte.

Confira também

Aplica-se a

Transform(XPathNavigator, XsltArgumentList, Stream, XmlResolver)

Transforma os dados XML no XPathNavigator usando o args especificado e gera o resultado para um 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)

Parâmetros

input
XPathNavigator

Um XPathNavigator que contém os dados a serem transformados.

args
XsltArgumentList

Um XsltArgumentList que contém os argumentos qualificados por namespace usados como a entrada para a transformação.

output
Stream

O fluxo no qual você deseja gerar saída.

resolver
XmlResolver

O XmlResolver usado para resolver a função XSLT document(). Se isso for null, a função document() não será resolvida.

O XmlResolver não é armazenado em cache após o método Transform(XPathNavigator, XsltArgumentList, Stream, XmlResolver) ser concluído.

Exceções

Ocorreu um erro ao processar a transformação XSLT.

Observação: esta é uma alteração do comportamento de versões anteriores. Um XsltException será gerado se você estiver usando o Microsoft .NET Framework versão 1.1 ou anterior.

Exemplos

O exemplo a seguir carrega uma tabela de cliente em uma XmlDataDocument e executa uma transformação XSLT para efetuar pull dos dados do cliente em uma tabela HTML. O exemplo usa o banco de dados 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

O exemplo usa o arquivo customers.xsl como entrada.

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

Comentários

Observação

A XslTransform classe está obsoleta no .NET Framework versão 2.0. A XslCompiledTransform classe é o novo processador XSLT. Para obter mais informações, consulte Usando a classe XslCompiledTransform e migrando da classe XslTransform.

XslTransform dá suporte à sintaxe XSLT 1.0. A folha de estilos XSLT deve incluir a declaração xmlns:xsl= http://www.w3.org/1999/XSL/Transformde namespace.

Os args elementos são combinados com os xsl:param elementos definidos na folha de estilos. As seleções de transformação se aplicam ao documento como um todo. Em outras palavras, se o nó atual estiver definido em uma árvore de nó diferente do nó raiz do documento, isso não impedirá que o processo de transformação acesse todos os nós no documento carregado. Após a transformação ter sido executada, os XPathNavigator restos permanecem em seu estado original. Isso significa que o nó, que é atual antes do processo de transformação, permanece o nó atual depois que o Transform método é chamado.

Consulte Saídas de um XslTransform para obter detalhes sobre quais xsl:output atributos têm suporte.

Confira também

Aplica-se a

Transform(IXPathNavigable, XsltArgumentList, XmlWriter, XmlResolver)

Transforma os dados XML no IXPathNavigable usando o args especificado e gera o resultado para um 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)

Parâmetros

input
IXPathNavigable

Um objeto que implementa a interface IXPathNavigable. No .NET Framework, isso pode ser um XmlNode (normalmente um XmlDocument) ou um XPathDocument que contém os dados a serem transformados.

args
XsltArgumentList

Um XsltArgumentList que contém os argumentos qualificados por namespace usados como a entrada para a transformação.

output
XmlWriter

O XmlWriter para o qual deseja gerar.

resolver
XmlResolver

O XmlResolver usado para resolver a função XSLT document(). Se isso for null, a função document() não será resolvida.

O XmlResolver não é armazenado em cache após o método Transform(IXPathNavigable, XsltArgumentList, XmlWriter, XmlResolver) ser concluído.

Exceções

Ocorreu um erro ao processar a transformação XSLT.

Observação: esta é uma alteração do comportamento de versões anteriores. Um XsltException será gerado se você estiver usando o Microsoft .NET Framework versão 1.1 ou anterior.

Exemplos

O exemplo a seguir transforma um documento XML em um documento HTML. Ele exibe o ISBN, o título e o preço de cada livro em uma tabela.

#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

O exemplo usa os dois arquivos de entrada a seguir.

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>

Comentários

Observação

A XslTransform classe está obsoleta no .NET Framework versão 2.0. A XslCompiledTransform classe é o novo processador XSLT. Para obter mais informações, consulte Usando a classe XslCompiledTransform e migrando da classe XslTransform.

XslTransform dá suporte à sintaxe XSLT 1.0. A folha de estilos XSLT deve incluir a declaração xmlns:xsl= http://www.w3.org/1999/XSL/Transformde namespace.

Os args elementos são combinados com os xsl:param elementos definidos na folha de estilos. Não xsl:output há suporte para o elemento quando a saída para um XmlWriter (xsl:output é ignorada). Consulte Saídas de um XslTransform para obter mais informações.

As transformações são aplicadas ao documento no dataset. Ou seja se você passar em um nó que não seja o nó de diretório base, isso não impede que o processo de transformação acessar todos os nós do documento carregado. Para transformar um fragmento de nó, você deve criar um XmlDocument fragmento de nó contendo apenas o fragmento de nó e passá-lo XmlDocument para o Transform método.

O exemplo a seguir executa uma transformação em um fragmento de nó.

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);  

O exemplo usa os library.xml arquivos e print_root.xsl como entrada e gera o seguinte para o console.

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>  

Confira também

Aplica-se a

Transform(IXPathNavigable, XsltArgumentList, TextWriter, XmlResolver)

Transforma os dados XML no IXPathNavigable usando o args especificado e gera o resultado para um 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)

Parâmetros

input
IXPathNavigable

Um objeto que implementa a interface IXPathNavigable. No .NET Framework, isso pode ser um XmlNode (normalmente um XmlDocument) ou um XPathDocument que contém os dados a serem transformados.

args
XsltArgumentList

Um XsltArgumentList que contém os argumentos qualificados por namespace usados como a entrada para a transformação.

output
TextWriter

O TextWriter para o qual deseja gerar.

resolver
XmlResolver

O XmlResolver usado para resolver a função XSLT document(). Se isso for null, a função document() não será resolvida.

O XmlResolver não é armazenado em cache após o método Transform(IXPathNavigable, XsltArgumentList, TextWriter, XmlResolver) ser concluído.

Exceções

Ocorreu um erro ao processar a transformação XSLT.

Observação: esta é uma alteração do comportamento de versões anteriores. Um XsltException será gerado se você estiver usando o Microsoft .NET Framework versão 1.1 ou anterior.

Exemplos

O exemplo a seguir transforma um arquivo XML e gera uma cadeia de caracteres HTML. As StringReader classes e as StringWriter classes são usadas para ler e gravar as cadeias de caracteres.

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

O exemplo usa o arquivo books.xml como entrada.

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

Comentários

Observação

A XslTransform classe está obsoleta no .NET Framework versão 2.0. A XslCompiledTransform classe é o novo processador XSLT. Para obter mais informações, consulte Usando a classe XslCompiledTransform e migrando da classe XslTransform.

XslTransform dá suporte à sintaxe XSLT 1.0. A folha de estilos XSLT deve incluir a declaração xmlns:xsl= http://www.w3.org/1999/XSL/Transformde namespace.

Os args elementos são combinados com os xsl:param elementos definidos na folha de estilos.

Não há suporte para o atributo de codificação em um xsl:output elemento ao gerar para um TextWriter. Consulte Saídas de um XslTransform para obter detalhes sobre quais xsl:output atributos têm suporte.

As transformações são aplicadas ao documento no dataset. Ou seja se você passar em um nó que não seja o nó de diretório base, isso não impede que o processo de transformação acessar todos os nós do documento carregado. Para transformar um fragmento de nó, você deve criar um XmlDocument fragmento de nó contendo apenas o fragmento de nó e passá-lo XmlDocument para o Transform método.

O exemplo a seguir executa uma transformação em um fragmento de nó.

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);  

O exemplo usa os library.xml arquivos e print_root.xsl como entrada e gera o seguinte para o console.

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>  

Confira também

Aplica-se a

Transform(IXPathNavigable, XsltArgumentList, Stream, XmlResolver)

Transforma os dados XML no IXPathNavigable usando o args especificado e gera o resultado para um 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)

Parâmetros

input
IXPathNavigable

Um objeto que implementa a interface IXPathNavigable. No .NET Framework, isso pode ser um XmlNode (normalmente um XmlDocument) ou um XPathDocument que contém os dados a serem transformados.

args
XsltArgumentList

Um XsltArgumentList que contém os argumentos qualificados por namespace usados como a entrada para a transformação.

output
Stream

O fluxo no qual você deseja gerar saída.

resolver
XmlResolver

O XmlResolver usado para resolver a função XSLT document(). Se isso for null, a função document() não será resolvida.

O XmlResolver não é armazenado em cache após o método Transform ser concluído.

Exceções

Ocorreu um erro ao processar a transformação XSLT.

Observação: esta é uma alteração do comportamento de versões anteriores. Um XsltException será gerado se você estiver usando o Microsoft .NET Framework versão 1.1 ou anterior.

Exemplos

O exemplo a seguir executa uma transformação em uma página ASP.NET.

<%@ 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>

Comentários

Observação

A XslTransform classe está obsoleta no .NET Framework versão 2.0. A XslCompiledTransform classe é o novo processador XSLT. Para obter mais informações, consulte Usando a classe XslCompiledTransform e migrando da classe XslTransform.

XslTransform dá suporte à sintaxe XSLT 1.0. A folha de estilos XSLT deve incluir a declaração xmlns:xsl= http://www.w3.org/1999/XSL/Transformde namespace.

Os args elementos são combinados com os xsl:param elementos definidos na folha de estilos.

As transformações são aplicadas ao documento no dataset. Ou seja se você passar em um nó que não seja o nó de diretório base, isso não impede que o processo de transformação acessar todos os nós do documento carregado. Para transformar um fragmento de nó, você deve criar um XmlDocument fragmento de nó contendo apenas o fragmento de nó e passá-lo XmlDocument para o Transform método.

O exemplo a seguir executa uma transformação em um fragmento de nó.

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);  

O exemplo usa os library.xml arquivos e print_root.xsl como entrada e gera o seguinte para o console.

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>  

Confira também

Aplica-se a

Transform(XPathNavigator, XsltArgumentList, XmlWriter)

Cuidado

You should pass XmlResolver to Transform() method

Transforma os dados XML no XPathNavigator usando o args especificado e gera o resultado para um XmlWriter.

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)

Parâmetros

input
XPathNavigator

Um XPathNavigator que contém os dados a serem transformados.

args
XsltArgumentList

Um XsltArgumentList que contém os argumentos qualificados por namespace usados como a entrada para a transformação.

output
XmlWriter

O XmlWriter para o qual deseja gerar.

Atributos

Exceções

Ocorreu um erro ao processar a transformação XSLT.

Observação: esta é uma alteração do comportamento de versões anteriores. Um XsltException será gerado se você estiver usando o Microsoft .NET Framework versão 1.1 ou anterior.

Comentários

Observação

A XslTransform classe está obsoleta no .NET Framework versão 2.0. A XslCompiledTransform classe é o novo processador XSLT. Para obter mais informações, consulte Usando a classe XslCompiledTransform e migrando da classe XslTransform.

XslTransform dá suporte à sintaxe XSLT 1.0. A folha de estilos XSLT deve incluir a declaração xmlns:xsl= http://www.w3.org/1999/XSL/Transformde namespace.

Os args elementos são combinados com os xsl:param elementos definidos na folha de estilos. As seleções de transformação se aplicam ao documento como um todo. Em outras palavras, se o nó atual estiver definido em uma árvore de nó diferente do nó raiz do documento, isso não impedirá que o processo de transformação acesse todos os nós no documento carregado. Depois que a transformação é executada, os XPathNavigator restos permanecem em seu estado original. Isso significa que o nó, que é atual antes do processo de transformação, permanece o nó atual depois que o Transform método é chamado.

Não xsl:output há suporte para o elemento quando a saída para um XmlWriter (xsl:output é ignorada). Consulte Saídas de um XslTransform para obter mais informações.

Observação

Este método agora está obsoleto. A configuração da XmlResolver propriedade determina como a função XSLT document() é resolvida. A prática recomendada é usar o Transform método que usa um XmlResolver objeto como um de seus argumentos.

Confira também

Aplica-se a

Transform(XPathNavigator, XsltArgumentList, TextWriter)

Cuidado

You should pass XmlResolver to Transform() method

Transforma os dados XML no XPathNavigator usando o args especificado e gera o resultado para um 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)

Parâmetros

input
XPathNavigator

Um XPathNavigator que contém os dados a serem transformados.

args
XsltArgumentList

Um XsltArgumentList que contém os argumentos qualificados por namespace usados como a entrada para a transformação.

output
TextWriter

O TextWriter para o qual deseja gerar.

Atributos

Exceções

Ocorreu um erro ao processar a transformação XSLT.

Observação: esta é uma alteração do comportamento de versões anteriores. Um XsltException será gerado se você estiver usando o Microsoft .NET Framework versão 1.1 ou anterior.

Comentários

Observação

A XslTransform classe está obsoleta no .NET Framework versão 2.0. A XslCompiledTransform classe é o novo processador XSLT. Para obter mais informações, consulte Usando a classe XslCompiledTransform e migrando da classe XslTransform.

XslTransform dá suporte à sintaxe XSLT 1.0. A folha de estilos XSLT deve incluir a declaração xmlns:xsl= http://www.w3.org/1999/XSL/Transformde namespace.

Os args elementos são combinados com os xsl:param elementos definidos na folha de estilos. As seleções de transformação se aplicam ao documento como um todo. Em outras palavras, se o nó atual estiver definido em uma árvore de nó diferente do nó raiz do documento, isso não impedirá que o processo de transformação acesse todos os nós no documento carregado. Depois que a transformação é executada, os XPathNavigator restos permanecem em seu estado original. Isso significa que o nó, que é atual antes do processo de transformação, permanece o nó atual depois que o Transform método é chamado.

Não há suporte para o atributo de codificação em um xsl:output elemento ao gerar para um TextWriter. Consulte Saídas de um XslTransform para obter detalhes sobre quais xsl:output atributos têm suporte.

Observação

Este método agora está obsoleto. A configuração da XmlResolver propriedade determina como a função XSLT document() é resolvida. A prática recomendada é usar o Transform método que usa um XmlResolver objeto como um de seus argumentos.

Confira também

Aplica-se a

Transform(String, String, XmlResolver)

Transforma os dados XML no arquivo de entrada e gera o resultado para um arquivo de saída.

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)

Parâmetros

inputfile
String

A URL do documento de origem a ser transformado.

outputfile
String

O URL do arquivo de saída.

resolver
XmlResolver

O XmlResolver usado para resolver a função XSLT document(). Se isso for null, a função document() não será resolvida.

O XmlResolver não é armazenado em cache após o método Transform ser concluído.

Exemplos

O exemplo a seguir executa uma transformação XSLT e gera saídas para um arquivo. Uma XmlUrlResolver credenciais com padrão é usada para resolver recursos externos. Para obter detalhes, consulte 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)

Comentários

Observação

A XslTransform classe está obsoleta no .NET Framework versão 2.0. A XslCompiledTransform classe é o novo processador XSLT. Para obter mais informações, consulte Como usar a classe XslCompiledTransform e migrar da classe XslTransform.

XslTransform dá suporte à sintaxe XSLT 1.0. A folha de estilos XSLT deve incluir a declaração xmlns:xsl= http://www.w3.org/1999/XSL/Transformde namespace.

Confira também

Aplica-se a

Transform(IXPathNavigable, XsltArgumentList, XmlWriter)

Cuidado

You should pass XmlResolver to Transform() method

Transforma os dados XML no IXPathNavigable usando o args especificado e gera o resultado para um 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)

Parâmetros

input
IXPathNavigable

Um objeto que implementa a interface IXPathNavigable. No .NET Framework, isso pode ser um XmlNode (normalmente um XmlDocument) ou um XPathDocument que contém os dados a serem transformados.

args
XsltArgumentList

Um XsltArgumentList que contém os argumentos qualificados por namespace usados como a entrada para a transformação.

output
XmlWriter

O XmlWriter para o qual deseja gerar.

Atributos

Exceções

Ocorreu um erro ao processar a transformação XSLT.

Observação: esta é uma alteração do comportamento de versões anteriores. Um XsltException será gerado se você estiver usando o Microsoft .NET Framework versão 1.1 ou anterior.

Comentários

Observação

A XslTransform classe está obsoleta no .NET Framework versão 2.0. A XslCompiledTransform classe é o novo processador XSLT. Para obter mais informações, consulte Usando a classe XslCompiledTransform e migrando da classe XslTransform.

XslTransform dá suporte à sintaxe XSLT 1.0. A folha de estilos XSLT deve incluir a declaração xmlns:xsl= http://www.w3.org/1999/XSL/Transformde namespace.

Observação

Este método agora está obsoleto. A configuração da XmlResolver propriedade determina como a função XSLT document() é resolvida. A prática recomendada é usar o Transform método que usa um XmlResolver objeto como um de seus argumentos.

Os args elementos são combinados com os xsl:param elementos definidos na folha de estilos. Não xsl:output há suporte para o elemento quando a saída para um XmlWriter (xsl:output é ignorada). Consulte Saídas de um XslTransform para obter mais informações.

As transformações são aplicadas ao documento no dataset. Ou seja se você passar em um nó que não seja o nó de diretório base, isso não impede que o processo de transformação acessar todos os nós do documento carregado. Para transformar um fragmento de nó, você deve criar um XmlDocument fragmento de nó contendo apenas o fragmento de nó e passá-lo XmlDocument para o Transform método.

O exemplo a seguir executa uma transformação em um fragmento de nó.

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);  

O exemplo usa os library.xml arquivos e print_root.xsl como entrada e gera o seguinte para o console.

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>  

Confira também

Aplica-se a

Transform(IXPathNavigable, XsltArgumentList, XmlResolver)

Transforma os dados XML no IXPathNavigable usando o args especificado e gera o resultado para um 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

Parâmetros

input
IXPathNavigable

Um objeto que implementa a interface IXPathNavigable. No .NET Framework, isso pode ser um XmlNode (normalmente um XmlDocument) ou um XPathDocument que contém os dados a serem transformados.

args
XsltArgumentList

Um XsltArgumentList que contém os argumentos qualificados por namespace usados como a entrada para a transformação.

resolver
XmlResolver

O XmlResolver usado para resolver a função XSLT document(). Se isso for null, a função document() não será resolvida.

O XmlResolver não é armazenado em cache após o método Transform(IXPathNavigable, XsltArgumentList, XmlResolver) ser concluído.

Retornos

XmlReader

Um XmlReader que contém os resultados da transformação.

Exemplos

O exemplo a seguir transforma um documento XML e gera os resultados para um XmlReader. Um XmlUrlResolver com as credenciais necessárias é usado para processar quaisquer funções XSLT document() .

// 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)

Comentários

Observação

A XslTransform classe está obsoleta no .NET Framework versão 2.0. A XslCompiledTransform classe é o novo processador XSLT. Para obter mais informações, consulte Usando a classe XslCompiledTransform e migrando da classe XslTransform.

XslTransform dá suporte à sintaxe XSLT 1.0. A folha de estilos XSLT deve incluir a declaração xmlns:xsl= http://www.w3.org/1999/XSL/Transformde namespace.

Os args elementos são combinados com os xsl:param elementos definidos na folha de estilos. Não xsl:output há suporte para o elemento ao gerar para um XmlReader (o xsl:output elemento é ignorado). Consulte Saídas de um XslTransform para obter mais informações.

Esse método permite que você faça uma transformação assíncrona do documento de origem.

As transformações são aplicadas ao documento no dataset. Ou seja se você passar em um nó que não seja o nó de diretório base, isso não impede que o processo de transformação acessar todos os nós do documento carregado. Para transformar um fragmento de nó, você deve criar um XmlDocument fragmento de nó contendo apenas o fragmento de nó e passá-lo XmlDocument para o Transform método.

O exemplo a seguir executa uma transformação em um fragmento de nó.

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);  

O exemplo usa os library.xml arquivos e print_root.xsl como entrada e gera o seguinte para o console.

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>  

Confira também

Aplica-se a

Transform(IXPathNavigable, XsltArgumentList, TextWriter)

Cuidado

You should pass XmlResolver to Transform() method

Transforma os dados XML no IXPathNavigable usando o args especificado e gera o resultado para um 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)

Parâmetros

input
IXPathNavigable

Um objeto que implementa a interface IXPathNavigable. No .NET Framework, isso pode ser um XmlNode (normalmente um XmlDocument) ou um XPathDocument que contém os dados a serem transformados.

args
XsltArgumentList

Um XsltArgumentList que contém os argumentos qualificados por namespace usados como a entrada para a transformação.

output
TextWriter

O TextWriter para o qual deseja gerar.

Atributos

Exceções

Ocorreu um erro ao processar a transformação XSLT.

Observação: esta é uma alteração do comportamento de versões anteriores. Um XsltException será gerado se você estiver usando o Microsoft .NET Framework versão 1.1 ou anterior.

Comentários

Observação

A XslTransform classe está obsoleta no .NET Framework versão 2.0. A XslCompiledTransform classe é o novo processador XSLT. Para obter mais informações, consulte Como usar a classe XslCompiledTransform e migrar da classe XslTransform.

XslTransform dá suporte à sintaxe XSLT 1.0. A folha de estilos XSLT deve incluir a declaração xmlns:xsl= http://www.w3.org/1999/XSL/Transformde namespace.

Observação

Este método agora está obsoleto. A configuração da XmlResolver propriedade determina como a função XSLT document() é resolvida. A prática recomendada é usar o Transform método que usa um XmlResolver objeto como um de seus argumentos.

Os args elementos são combinados com os xsl:param elementos definidos na folha de estilos.

Não há suporte para o atributo de codificação em um xsl:output elemento durante a saída para um TextWriter. Consulte saídas de um XslTransform para obter detalhes sobre quais xsl:output atributos têm suporte.

As transformações são aplicadas ao documento no dataset. Ou seja se você passar em um nó que não seja o nó de diretório base, isso não impede que o processo de transformação acessar todos os nós do documento carregado. Para transformar um fragmento de nó, você deve criar um XmlDocument fragmento de nó contendo apenas o fragmento de nó e passá-lo XmlDocument para o Transform método.

O exemplo a seguir executa uma transformação em um fragmento de nó.

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);  

O exemplo usa os library.xml arquivos e print_root.xsl como entrada e gera o seguinte para o console.

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>  

Confira também

Aplica-se a

Transform(IXPathNavigable, XsltArgumentList, Stream)

Cuidado

You should pass XmlResolver to Transform() method

Transforma os dados XML no IXPathNavigable usando o args especificado e gera o resultado para um 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)

Parâmetros

input
IXPathNavigable

Um objeto que implementa a interface IXPathNavigable. No .NET Framework, isso pode ser um XmlNode (normalmente um XmlDocument) ou um XPathDocument que contém os dados a serem transformados.

args
XsltArgumentList

Um XsltArgumentList que contém os argumentos qualificados por namespace usados como a entrada para a transformação.

output
Stream

O fluxo no qual você deseja gerar saída.

Atributos

Exceções

Ocorreu um erro ao processar a transformação XSLT.

Observação: esta é uma alteração do comportamento de versões anteriores. Um XsltException será gerado se você estiver usando o Microsoft .NET Framework versão 1.1 ou anterior.

Comentários

Observação

A XslTransform classe está obsoleta no .NET Framework versão 2.0. A XslCompiledTransform classe é o novo processador XSLT. Para obter mais informações, consulte Como usar a classe XslCompiledTransform e migrar da classe XslTransform.

XslTransform dá suporte à sintaxe XSLT 1.0. A folha de estilos XSLT deve incluir a declaração xmlns:xsl= http://www.w3.org/1999/XSL/Transformde namespace.

Observação

Este método agora está obsoleto. A configuração da XmlResolver propriedade determina como a função XSLT document() é resolvida. A prática recomendada é usar o Transform método que usa um XmlResolver objeto como um de seus argumentos.

Os args elementos são combinados com os xsl:param elementos definidos na folha de estilos.

As transformações são aplicadas ao documento no dataset. Ou seja se você passar em um nó que não seja o nó de diretório base, isso não impede que o processo de transformação acessar todos os nós do documento carregado. Para transformar um fragmento de nó, você deve criar um XmlDocument fragmento de nó contendo apenas e passá-lo XmlDocument para o Transform método.

O exemplo a seguir executa uma transformação em um fragmento de nó.

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);  

O exemplo usa os arquivos e print_root.xsl como library.xml entrada e gera o seguinte para o console.

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>  

Confira também

Aplica-se a

Transform(XPathNavigator, XsltArgumentList, XmlWriter, XmlResolver)

Transforma os dados XML no XPathNavigator usando o args especificado e gera o resultado para um 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)

Parâmetros

input
XPathNavigator

Um XPathNavigator que contém os dados a serem transformados.

args
XsltArgumentList

Um XsltArgumentList que contém os argumentos qualificados por namespace usados como a entrada para a transformação.

output
XmlWriter

O XmlWriter para o qual deseja gerar.

resolver
XmlResolver

O XmlResolver usado para resolver a função XSLT document(). Se isso for null, a função document() não será resolvida.

O XmlResolver não é armazenado em cache após o método Transform(XPathNavigator, XsltArgumentList, XmlWriter, XmlResolver) ser concluído.

Exceções

Ocorreu um erro ao processar a transformação XSLT.

Observação: esta é uma alteração do comportamento de versões anteriores. Um XsltException será gerado se você estiver usando o Microsoft .NET Framework versão 1.1 ou anterior.

Exemplos

O exemplo a seguir carrega e edita um documento XML antes de executar uma transformação 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)

Comentários

Observação

A XslTransform classe está obsoleta no .NET Framework versão 2.0. A XslCompiledTransform classe é o novo processador XSLT. Para obter mais informações, consulte Usando a classe XslCompiledTransform e migrando da classe XslTransform.

XslTransform dá suporte à sintaxe XSLT 1.0. A folha de estilos XSLT deve incluir a declaração xmlns:xsl= http://www.w3.org/1999/XSL/Transformde namespace.

Os args elementos são combinados com os xsl:param elementos definidos na folha de estilos. As seleções de transformação se aplicam ao documento como um todo. Em outras palavras, se o nó atual estiver definido em uma árvore de nó diferente do nó raiz do documento, isso não impedirá que o processo de transformação acesse todos os nós no documento carregado. Depois que a transformação é executada, os XPathNavigator restos permanecem em seu estado original. Isso significa que o nó, que é atual antes do processo de transformação, permanece o nó atual depois que o Transform método é chamado.

Não xsl:output há suporte para o elemento quando a saída para um XmlWriter (xsl:output é ignorada). Consulte Saídas de um XslTransform para obter mais informações.

Confira também

Aplica-se a

Transform(XPathNavigator, XsltArgumentList)

Cuidado

You should pass XmlResolver to Transform() method

Transforma os dados XML no XPathNavigator usando o args especificado e gera o resultado para um XmlReader.

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

Parâmetros

input
XPathNavigator

Um XPathNavigator que contém os dados a serem transformados.

args
XsltArgumentList

Um XsltArgumentList que contém os argumentos qualificados por namespace usados como a entrada para a transformação.

Retornos

XmlReader

Um XmlReader que contém os resultados da transformação.

Atributos

Exceções

Ocorreu um erro ao processar a transformação XSLT.

Observação: esta é uma alteração do comportamento de versões anteriores. Um XsltException será gerado se você estiver usando o Microsoft .NET Framework versão 1.1 ou anterior.

Comentários

Observação

A XslTransform classe está obsoleta no .NET Framework versão 2.0. A XslCompiledTransform classe é o novo processador XSLT. Para obter mais informações, consulte Como usar a classe XslCompiledTransform e migrar da classe XslTransform.

XslTransform dá suporte à sintaxe XSLT 1.0. A folha de estilos XSLT deve incluir a declaração xmlns:xsl= http://www.w3.org/1999/XSL/Transformde namespace.

Os args elementos são combinados com os xsl:param elementos definidos na folha de estilos. As seleções de transformação se aplicam ao documento como um todo. Em outras palavras, se o nó atual estiver definido em uma árvore de nós diferente do nó raiz do documento, isso não impedirá que o processo de transformação acesse todos os nós no documento carregado. Depois que a transformação for executada, os XPathNavigator restos mortais estarão em seu estado original. Isso significa que o nó, que é atual antes do processo de transformação, permanece o nó atual depois que o Transform método é chamado.

Como XmlReader fornece saída somente leitura, o xsl:output elemento é ignorado. Consulte saídas de um XslTransform para obter mais informações.

Esse método permite que você faça uma transformação assíncrona do documento de origem.

Observação

Esse método é obsoleto. A configuração da XmlResolver propriedade determina como a função XSLT document() é resolvida. A prática recomendada é usar o Transform método que usa um XmlResolver objeto como um de seus argumentos.

Confira também

Aplica-se a

Transform(IXPathNavigable, XsltArgumentList)

Cuidado

You should pass XmlResolver to Transform() method

Transforma os dados XML no IXPathNavigable usando o args especificado e gera o resultado para um XmlReader.

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

Parâmetros

input
IXPathNavigable

Um objeto que implementa a interface IXPathNavigable. No .NET Framework, isso pode ser um XmlNode (normalmente um XmlDocument) ou um XPathDocument que contém os dados a serem transformados.

args
XsltArgumentList

Um XsltArgumentList que contém os argumentos qualificados por namespace usados como a entrada para a transformação.

Retornos

XmlReader

Um XmlReader que contém os resultados da transformação.

Atributos

Comentários

Observação

A XslTransform classe está obsoleta no .NET Framework versão 2.0. A XslCompiledTransform classe é o novo processador XSLT. Para obter mais informações, consulte Como usar a classe XslCompiledTransform e migrar da classe XslTransform.

XslTransform dá suporte à sintaxe XSLT 1.0. A folha de estilos XSLT deve incluir a declaração xmlns:xsl= http://www.w3.org/1999/XSL/Transformde namespace.

Observação

Este método agora está obsoleto. A configuração da XmlResolver propriedade determina como a função XSLT document() é resolvida. A prática recomendada é usar o Transform método que usa um XmlResolver objeto como um de seus argumentos.

Os args elementos são combinados com os xsl:param elementos definidos na folha de estilos. Não xsl:output há suporte para o elemento durante a saída para um XmlReader (o xsl:output elemento é ignorado). Consulte saídas de um XslTransform para obter mais informações.

Esse método permite que você faça uma transformação assíncrona do documento de origem.

As transformações são aplicadas ao documento no dataset. Ou seja se você passar em um nó que não seja o nó de diretório base, isso não impede que o processo de transformação acessar todos os nós do documento carregado. Para transformar um fragmento de nó, você deve criar um XmlDocument fragmento de nó contendo apenas e passá-lo XmlDocument para o Transform método.

O exemplo a seguir executa uma transformação em um fragmento de nó.

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);  

O exemplo usa os arquivos e print_root.xsl como library.xml entrada e gera o seguinte para o console.

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>  

Confira também

Aplica-se a

Transform(String, String)

Cuidado

You should pass XmlResolver to Transform() method

Transforma os dados XML no arquivo de entrada e gera o resultado para um arquivo de saída.

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)

Parâmetros

inputfile
String

A URL do documento de origem a ser transformado.

outputfile
String

O URL do arquivo de saída.

Atributos

Exemplos

O exemplo a seguir transforma o books.xml arquivo usando a output.xsl folha de estilos e gera os resultados para o books.html arquivo.

// 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")

O exemplo usa os dois arquivos de entrada a seguir:

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>

Comentários

Observação

A XslTransform classe está obsoleta no .NET Framework versão 2.0. A XslCompiledTransform classe é o novo processador XSLT. Para obter mais informações, consulte Como usar a classe XslCompiledTransform e migrar da classe XslTransform.

XslTransform dá suporte à sintaxe XSLT 1.0. A folha de estilos XSLT deve incluir a declaração xmlns:xsl= http://www.w3.org/1999/XSL/Transformde namespace.

Observação

Esse método é obsoleto na versão 1.1 do .NET Framework. A configuração da XmlResolver propriedade determina como a função XSLT document() é resolvida. A prática recomendada é usar o Transform método que usa um XmlResolver objeto como um de seus argumentos.

Confira também

Aplica-se a

Transform(XPathNavigator, XsltArgumentList, Stream)

Cuidado

You should pass XmlResolver to Transform() method

Transforma os dados XML no XPathNavigator usando o args especificado e gera o resultado para um 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)

Parâmetros

input
XPathNavigator

Um XPathNavigator que contém os dados a serem transformados.

args
XsltArgumentList

Um XsltArgumentList que contém os argumentos qualificados por namespace usados como a entrada para a transformação.

output
Stream

O fluxo no qual você deseja gerar saída.

Atributos

Exceções

Ocorreu um erro ao processar a transformação XSLT.

Observação: esta é uma alteração do comportamento de versões anteriores. Um XsltException será gerado se você estiver usando o Microsoft .NET Framework versão 1.1 ou anterior.

Comentários

Observação

A XslTransform classe está obsoleta no .NET Framework versão 2.0. A XslCompiledTransform classe é o novo processador XSLT. Para obter mais informações, consulte Usando a classe XslCompiledTransform e migrando da classe XslTransform.

XslTransform dá suporte à sintaxe XSLT 1.0. A folha de estilos XSLT deve incluir a declaração xmlns:xsl= http://www.w3.org/1999/XSL/Transformde namespace.

Os args elementos são combinados com os xsl:param elementos definidos na folha de estilos. As seleções de transformação se aplicam ao documento como um todo. Em outras palavras, se o nó atual estiver definido em uma árvore de nó diferente do nó raiz do documento, isso não impedirá que o processo de transformação acesse todos os nós no documento carregado. Após a transformação ter sido executada, os XPathNavigator restos permanecem em seu estado original. Isso significa que o nó, que é atual antes do processo de transformação, permanece o nó atual depois que o Transform método é chamado.

Consulte Saídas de um XslTransform para obter detalhes sobre quais xsl:output atributos têm suporte.

Observação

Este método agora está obsoleto. A configuração da XmlResolver propriedade determina como a função XSLT document() é resolvida. A prática recomendada é usar o Transform método que usa um XmlResolver objeto como um de seus argumentos.

Confira também

Aplica-se a