XslCompiledTransform.Transform Método

Definição

Executa a transformação XSLT.

Sobrecargas

Name Description
Transform(XmlReader, XsltArgumentList, TextWriter)

Executa a transformação usando o documento de entrada especificado pelo XmlReader objeto e envia os resultados para um TextWriter. Fornece XsltArgumentList argumentos adicionais em tempo de execução.

Transform(IXPathNavigable, XsltArgumentList, XmlWriter)

Executa a transformação usando o documento de entrada especificado pelo IXPathNavigable objeto e fornece os resultados para um XmlWriter. Fornece XsltArgumentList argumentos adicionais em tempo de execução.

Transform(IXPathNavigable, XsltArgumentList, TextWriter)

Executa a transformação usando o documento de entrada especificado pelo IXPathNavigable objeto e fornece os resultados para um TextWriter. Fornece XsltArgumentList argumentos adicionais em tempo de execução.

Transform(IXPathNavigable, XsltArgumentList, Stream)

Executa a transformação usando o documento de entrada especificado pelo IXPathNavigable objeto e fornece os resultados para um fluxo. Fornece XsltArgumentList argumentos adicionais em tempo de execução.

Transform(XmlReader, XsltArgumentList, XmlWriter)

Executa a transformação usando o documento de entrada especificado pelo XmlReader objeto e fornece os resultados para um XmlWriter. Fornece XsltArgumentList argumentos adicionais em tempo de execução.

Transform(XmlReader, XsltArgumentList, Stream)

Executa a transformação usando o documento de entrada especificado pelo XmlReader objeto e fornece os resultados para um fluxo. Fornece XsltArgumentList argumentos adicionais em tempo de execução.

Transform(String, String)

Executa a transformação usando o documento de entrada especificado pelo URI e envia os resultados para um ficheiro.

Transform(String, XsltArgumentList, TextWriter)

Executa a transformação usando o documento de entrada especificado pelo URI e envia os resultados para um TextWriter.

Transform(String, XsltArgumentList, Stream)

Executa a transformação usando o documento de entrada especificado pelo URI e envia os resultados para o stream. Fornece XsltArgumentList argumentos adicionais em tempo de execução.

Transform(IXPathNavigable, XmlWriter)

Executa a transformação usando o documento de entrada especificado pelo IXPathNavigable objeto e fornece os resultados para um XmlWriter.

Transform(XmlReader, XmlWriter)

Executa a transformação usando o documento de entrada especificado pelo XmlReader objeto e fornece os resultados para um XmlWriter.

Transform(String, XmlWriter)

Executa a transformação usando o documento de entrada especificado pelo URI e envia os resultados para um XmlWriter.

Transform(XmlReader, XsltArgumentList, XmlWriter, XmlResolver)

Executa a transformação usando o documento de entrada especificado pelo XmlReader objeto e fornece os resultados para um XmlWriter. Fornece XsltArgumentList argumentos adicionais em tempo de execução e o XmlResolver resolve a função XSLT document() .

Transform(String, XsltArgumentList, XmlWriter)

Executa a transformação usando o documento de entrada especificado pelo URI e envia os resultados para um XmlWriter. Fornece XsltArgumentList argumentos adicionais em tempo de execução.

Transform(IXPathNavigable, XsltArgumentList, XmlWriter, XmlResolver)

Executa a transformação usando o documento de entrada especificado pelo IXPathNavigable objeto e fornece os resultados para um XmlWriter. Fornece XsltArgumentList argumentos adicionais em tempo de execução e XmlResolver resolve a função XSLT document() .

Observações

Note

Existem diferenças entre o XSLT compilado em modo Debug e o XSLT compilado em modo Release. Em algumas situações, folhas de estilo compiladas em modo Debug não geram erros durante Load, mas falham mais tarde durante Transform. A mesma folha de estilo compilada no modo Release falhará durante Load. Um exemplo deste comportamento é quando uma variável que não pertence ao tipo conjunto de nós é atribuída a uma expressão onde é necessário um conjunto de nós.

Transform(XmlReader, XsltArgumentList, TextWriter)

Executa a transformação usando o documento de entrada especificado pelo XmlReader objeto e envia os resultados para um TextWriter. Fornece XsltArgumentList argumentos adicionais em tempo de execução.

public:
 void Transform(System::Xml::XmlReader ^ input, System::Xml::Xsl::XsltArgumentList ^ arguments, System::IO::TextWriter ^ results);
public void Transform(System.Xml.XmlReader input, System.Xml.Xsl.XsltArgumentList arguments, System.IO.TextWriter results);
member this.Transform : System.Xml.XmlReader * System.Xml.Xsl.XsltArgumentList * System.IO.TextWriter -> unit
Public Sub Transform (input As XmlReader, arguments As XsltArgumentList, results As TextWriter)

Parâmetros

input
XmlReader

An XmlReader contendo o documento de entrada.

arguments
XsltArgumentList

An XsltArgumentList contendo os argumentos qualificados pelo espaço de nomes usados como entrada para a transformada. Este valor pode ser null.

results
TextWriter

Para onde TextWriter queres produzir.

Exceções

O input valor de ou results é null.

Houve um erro ao executar a transformação XSLT.

Observações

Se a folha de estilo incluir uma função XSLT document() , é resolvida usando um XmlUrlResolver sem credenciais de utilizador. Se o recurso externo estiver localizado num recurso de rede que requer autenticação, use a sobrecarga que toma a XmlResolver como um dos seus argumentos e especifique an XmlResolver com as credenciais necessárias.

Ver também

Aplica-se a

Transform(IXPathNavigable, XsltArgumentList, XmlWriter)

Executa a transformação usando o documento de entrada especificado pelo IXPathNavigable objeto e fornece os resultados para um XmlWriter. Fornece XsltArgumentList argumentos adicionais em tempo de execução.

public:
 void Transform(System::Xml::XPath::IXPathNavigable ^ input, System::Xml::Xsl::XsltArgumentList ^ arguments, System::Xml::XmlWriter ^ results);
public void Transform(System.Xml.XPath.IXPathNavigable input, System.Xml.Xsl.XsltArgumentList arguments, System.Xml.XmlWriter results);
member this.Transform : System.Xml.XPath.IXPathNavigable * System.Xml.Xsl.XsltArgumentList * System.Xml.XmlWriter -> unit
Public Sub Transform (input As IXPathNavigable, arguments As XsltArgumentList, results As XmlWriter)

Parâmetros

input
IXPathNavigable

Um objeto que implementa a IXPathNavigable interface. No Microsoft .NET Framework, isto pode ser um XmlNode (tipicamente um XmlDocument), ou um XPathDocument contendo os dados a transformar.

arguments
XsltArgumentList

An XsltArgumentList contendo os argumentos qualificados pelo espaço de nomes usados como entrada para a transformada. Este valor pode ser null.

results
XmlWriter

Para onde XmlWriter queres produzir.

Se a folha de estilo contiver um xsl:output elemento, deve criar o XmlWriter usando o XmlWriterSettings objeto devolvido da OutputSettings propriedade. Isto garante que tem XmlWriter as definições de saída corretas.

Exceções

O input valor de ou results é null.

Houve um erro ao executar a transformação XSLT.

Observações

Se a função XSLT document() estiver ativada, é resolvida usando um XmlUrlResolver sem credenciais de utilizador. Se o recurso externo estiver localizado num recurso de rede que requer autenticação, use a sobrecarga que toma a XmlResolver como um dos seus argumentos e especifique an XmlResolver com as credenciais necessárias.

Este método não suporta o xsl:strip-space elemento. Se a sua folha de estilo compilada incluía o xsl:strip-space elemento, deve usar a Transform sobrecarga que toma a XmlReader como argumento de entrada.

A interface IXPathNavigable é implementada nas classes XmlNode e XPathDocument. Essas classes representam um cache na memória de dados XML.

  • A XmlNode classe é baseada no DOM (Document Object Model) do W3C e inclui recursos de edição.

  • A XPathDocument classe é um armazenamento de dados somente leitura baseado no modelo de dados XPath. XPathDocument é a classe recomendada para processamento XSLT. Proporciona um desempenho mais rápido quando comparado com a XmlNode classe.

As transformações aplicam-se ao documento como um todo. Em outras palavras, se você passar um 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. Para transformar um fragmento de nó, deve-se criar um objeto contendo apenas o fragmento de nó e passar esse objeto para o método Transform. Para obter mais informações, consulte Como: Transformar um Fragmento de Nó.

Ver também

Aplica-se a

Transform(IXPathNavigable, XsltArgumentList, TextWriter)

Executa a transformação usando o documento de entrada especificado pelo IXPathNavigable objeto e fornece os resultados para um TextWriter. Fornece XsltArgumentList argumentos adicionais em tempo de execução.

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

Parâmetros

input
IXPathNavigable

Um objeto que implementa a IXPathNavigable interface. No Microsoft .NET Framework, isto pode ser um XmlNode (tipicamente um XmlDocument), ou um XPathDocument contendo os dados a transformar.

arguments
XsltArgumentList

An XsltArgumentList contendo os argumentos qualificados pelo espaço de nomes usados como entrada para a transformada. Este valor pode ser null.

results
TextWriter

Para onde TextWriter queres produzir.

Exceções

O input valor de ou results é null.

Houve um erro ao executar a transformação XSLT.

Observações

Se a função XSLT document() estiver ativada, é resolvida usando um XmlUrlResolver sem credenciais de utilizador. Se o recurso externo estiver localizado num recurso de rede que requer autenticação, use a sobrecarga que toma a XmlResolver como um dos seus argumentos e especifique an XmlResolver com as credenciais necessárias.

Este método não suporta o xsl:strip-space elemento. Se a sua folha de estilo compilada incluía o xsl:strip-space elemento, deve usar a Transform sobrecarga que toma a XmlReader como argumento de entrada.

A interface IXPathNavigable é implementada nas classes XmlNode e XPathDocument. Essas classes representam um cache na memória de dados XML.

  • A XmlNode classe é baseada no DOM (Document Object Model) do W3C e inclui recursos de edição.

  • A XPathDocument classe é um armazenamento de dados somente leitura baseado no modelo de dados XPath. XPathDocument é a classe recomendada para processamento XSLT. Proporciona um desempenho mais rápido quando comparado com a XmlNode classe.

As transformações aplicam-se ao documento como um todo. Em outras palavras, se você passar um 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. Para transformar um fragmento de nó, deve-se criar um objeto contendo apenas o fragmento de nó e passar esse objeto para o método Transform. Para obter mais informações, consulte Como: Transformar um Fragmento de Nó.

Ver também

Aplica-se a

Transform(IXPathNavigable, XsltArgumentList, Stream)

Executa a transformação usando o documento de entrada especificado pelo IXPathNavigable objeto e fornece os resultados para um fluxo. Fornece XsltArgumentList argumentos adicionais em tempo de execução.

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

Parâmetros

input
IXPathNavigable

Um objeto que implementa a IXPathNavigable interface. No Microsoft .NET Framework, isto pode ser um XmlNode (tipicamente um XmlDocument), ou um XPathDocument contendo os dados a transformar.

arguments
XsltArgumentList

An XsltArgumentList contendo os argumentos qualificados pelo espaço de nomes usados como entrada para a transformada. Este valor pode ser null.

results
Stream

O fluxo para onde queres sair.

Exceções

O input valor de ou results é null.

Houve um erro ao executar a transformação XSLT.

Exemplos

O exemplo seguinte executa uma transformação XSLT e gera um FileStream.

// Load the style sheet.
XslCompiledTransform xslt = new XslCompiledTransform();
xslt.Load("output.xsl");

// Create the FileStream.
using (FileStream fs = new FileStream(@"c:\data\output.xml", FileMode.Create))
{
   // Execute the transformation.
   xslt.Transform(new XPathDocument("books.xml"), null, fs);
}
' Load the style sheet.
Dim xslt As New XslCompiledTransform()
xslt.Load("output.xsl")
        
' Create the FileStream.
Using fs As New FileStream("c:\data\output.xml", FileMode.Create)
   ' Execute the transformation.
    xslt.Transform(New XPathDocument("books.xml"), Nothing, fs)
End Using

Observações

Se a função XSLT document() estiver ativada, é resolvida usando um XmlUrlResolver sem credenciais de utilizador. Se o recurso externo estiver localizado num recurso de rede que requer autenticação, use a sobrecarga que toma a XmlResolver como um dos seus argumentos e especifique an XmlResolver com as credenciais necessárias.

Este método não suporta o xsl:strip-space elemento. Se a sua folha de estilo compilada incluía o xsl:strip-space elemento, deve usar a Transform sobrecarga que toma a XmlReader como argumento de entrada.

A interface IXPathNavigable é implementada nas classes XmlNode e XPathDocument. Essas classes representam um cache na memória de dados XML.

  • A XmlNode classe é baseada no DOM (Document Object Model) do W3C e inclui recursos de edição.

  • A XPathDocument classe é um armazenamento de dados somente leitura baseado no modelo de dados XPath. XPathDocument é a classe recomendada para processamento XSLT. Proporciona um desempenho mais rápido quando comparado com a XmlNode classe.

As transformações aplicam-se ao documento como um todo. Em outras palavras, se você passar um 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. Para transformar um fragmento de nó, deve-se criar um objeto contendo apenas o fragmento de nó e passar esse objeto para o método Transform. Para obter mais informações, consulte Como: Transformar um Fragmento de Nó.

Ver também

Aplica-se a

Transform(XmlReader, XsltArgumentList, XmlWriter)

Executa a transformação usando o documento de entrada especificado pelo XmlReader objeto e fornece os resultados para um XmlWriter. Fornece XsltArgumentList argumentos adicionais em tempo de execução.

public:
 void Transform(System::Xml::XmlReader ^ input, System::Xml::Xsl::XsltArgumentList ^ arguments, System::Xml::XmlWriter ^ results);
public void Transform(System.Xml.XmlReader input, System.Xml.Xsl.XsltArgumentList arguments, System.Xml.XmlWriter results);
member this.Transform : System.Xml.XmlReader * System.Xml.Xsl.XsltArgumentList * System.Xml.XmlWriter -> unit
Public Sub Transform (input As XmlReader, arguments As XsltArgumentList, results As XmlWriter)

Parâmetros

input
XmlReader

An XmlReader contendo o documento de entrada.

arguments
XsltArgumentList

An XsltArgumentList contendo os argumentos qualificados pelo espaço de nomes usados como entrada para a transformada. Este valor pode ser null.

results
XmlWriter

Para onde XmlWriter queres produzir.

Se a folha de estilo contiver um xsl:output elemento, deve criar o XmlWriter usando o XmlWriterSettings objeto devolvido da OutputSettings propriedade. Isto garante que tem XmlWriter as definições de saída corretas.

Exceções

O input valor de ou results é null.

Houve um erro ao executar a transformação XSLT.

Observações

Se a folha de estilo incluir uma função XSLT document() , é resolvida usando um XmlUrlResolver sem credenciais de utilizador. Se o recurso externo estiver localizado num recurso de rede que requer autenticação, use a sobrecarga que toma a XmlResolver como um dos seus argumentos e especifique an XmlResolver com as credenciais necessárias.

Ver também

Aplica-se a

Transform(XmlReader, XsltArgumentList, Stream)

Executa a transformação usando o documento de entrada especificado pelo XmlReader objeto e fornece os resultados para um fluxo. Fornece XsltArgumentList argumentos adicionais em tempo de execução.

public:
 void Transform(System::Xml::XmlReader ^ input, System::Xml::Xsl::XsltArgumentList ^ arguments, System::IO::Stream ^ results);
public void Transform(System.Xml.XmlReader input, System.Xml.Xsl.XsltArgumentList arguments, System.IO.Stream results);
member this.Transform : System.Xml.XmlReader * System.Xml.Xsl.XsltArgumentList * System.IO.Stream -> unit
Public Sub Transform (input As XmlReader, arguments As XsltArgumentList, results As Stream)

Parâmetros

input
XmlReader

An XmlReader contendo o documento de entrada.

arguments
XsltArgumentList

An XsltArgumentList contendo os argumentos qualificados pelo espaço de nomes usados como entrada para a transformada. Este valor pode ser null.

results
Stream

O fluxo para onde queres sair.

Exceções

O input valor de ou results é null.

Houve um erro ao executar a transformação XSLT.

Observações

Se a folha de estilo incluir uma função XSLT document() , é resolvida usando um XmlUrlResolver sem credenciais de utilizador. Se o recurso externo estiver localizado num recurso de rede que requer autenticação, use a sobrecarga que toma a XmlResolver como um dos seus argumentos e especifique an XmlResolver com as credenciais necessárias.

Ver também

Aplica-se a

Transform(String, String)

Executa a transformação usando o documento de entrada especificado pelo URI e envia os resultados para um ficheiro.

public:
 void Transform(System::String ^ inputUri, System::String ^ resultsFile);
public void Transform(string inputUri, string resultsFile);
member this.Transform : string * string -> unit
Public Sub Transform (inputUri As String, resultsFile As String)

Parâmetros

inputUri
String

O URI do documento de entrada.

resultsFile
String

O URI do ficheiro de saída.

Exceções

O inputUri valor de ou resultsFile é null.

Houve um erro ao executar a transformação XSLT.

O documento de entrada não pode ser encontrado.

O inputUri valor ou resultsFile inclui um nome de ficheiro ou diretório que não pode ser encontrado.

O inputUri valor ou resultsFile não pode ser resolvido.

-ou-

Ocorreu um erro durante o processamento do pedido.

inputUri ou resultsFile não é um URI válido.

Houve um erro de análise ao carregar o documento de entrada.

Exemplos

O exemplo seguinte executa uma transformação e exporta para um ficheiro.

// Load the style sheet.
XslCompiledTransform xslt = new XslCompiledTransform();
xslt.Load("output.xsl");

// Execute the transform and output the results to a file.
xslt.Transform("books.xml", "books.html");
' Load the style sheet.
Dim xslt As New XslCompiledTransform()
xslt.Load("output.xsl")
        
' Execute the transform and output the results to a file.
xslt.Transform("books.xml", "books.html")

O exemplo utiliza os seguintes dois ficheiros de entrada:

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>

Observações

Este método utiliza um padrão XmlUrlResolver sem credenciais de utilizador para resolver os documentos de entrada e saída. Se algum destes recursos estiver localizado num recurso de rede que requer autenticação, use a sobrecarga que toma a XmlResolver como um dos seus argumentos e especifique an XmlResolver com as credenciais necessárias.

Um XmlReader com definições padrão é usado para carregar o documento de entrada. O processamento DTD está desativado no XmlReaderarquivo . Se precisares de processamento DTD, cria um XmlReader com esta funcionalidade ativada e passa-o para o Transform método.

Ver também

Aplica-se a

Transform(String, XsltArgumentList, TextWriter)

Executa a transformação usando o documento de entrada especificado pelo URI e envia os resultados para um TextWriter.

public:
 void Transform(System::String ^ inputUri, System::Xml::Xsl::XsltArgumentList ^ arguments, System::IO::TextWriter ^ results);
public void Transform(string inputUri, System.Xml.Xsl.XsltArgumentList arguments, System.IO.TextWriter results);
member this.Transform : string * System.Xml.Xsl.XsltArgumentList * System.IO.TextWriter -> unit
Public Sub Transform (inputUri As String, arguments As XsltArgumentList, results As TextWriter)

Parâmetros

inputUri
String

O URI do documento de entrada.

arguments
XsltArgumentList

An XsltArgumentList contendo os argumentos qualificados pelo espaço de nomes usados como entrada para a transformada. Este valor pode ser null.

results
TextWriter

Para onde TextWriter queres produzir.

Exceções

O inputUri valor de ou results é null.

Houve um erro ao executar a transformação XSLT.

O inputUri valor inclui um nome de ficheiro ou diretório que não pode ser encontrado.

O inputUri valor não pode ser resolvido.

-ou-

Ocorreu um erro durante o processamento do pedido.

inputUri não é um URI válido.

Houve um erro de análise ao carregar o documento de entrada.

Exemplos

O exemplo seguinte executa uma transformação XSLT e gera uma cadeia.

// Load the style sheet.
XslCompiledTransform xslt = new XslCompiledTransform();
xslt.Load("HTML_out.xsl");

// Transform the file and output an HTML string.
string HTMLoutput;
StringWriter writer = new StringWriter();
xslt.Transform("books.xml", null, writer);
HTMLoutput = writer.ToString();
writer.Close();
' Load the style sheet.
Dim xslt As New XslCompiledTransform()
xslt.Load("HTML_out.xsl")
        
' Transform the file and output an HTML string.
Dim HTMLoutput As String
Dim writer As New StringWriter()
xslt.Transform("books.xml", Nothing, writer)
HTMLoutput = writer.ToString()
writer.Close()

Observações

Este método utiliza um padrão XmlUrlResolver sem credenciais de utilizador para resolver o documento de entrada e quaisquer instâncias da função XSLT document() encontradas na folha de estilo. Se algum destes recursos estiver localizado num recurso de rede que requer autenticação, use a sobrecarga que toma a XmlResolver como um dos seus argumentos e especifique an XmlResolver com as credenciais necessárias.

Um XmlReader com definições padrão é usado para carregar o documento de entrada. O processamento DTD está desativado no XmlReaderarquivo . Se precisares de processamento DTD, cria um XmlReader com esta funcionalidade ativada e passa-o para o Transform método.

Ver também

Aplica-se a

Transform(String, XsltArgumentList, Stream)

Executa a transformação usando o documento de entrada especificado pelo URI e envia os resultados para o stream. Fornece XsltArgumentList argumentos adicionais em tempo de execução.

public:
 void Transform(System::String ^ inputUri, System::Xml::Xsl::XsltArgumentList ^ arguments, System::IO::Stream ^ results);
public void Transform(string inputUri, System.Xml.Xsl.XsltArgumentList arguments, System.IO.Stream results);
member this.Transform : string * System.Xml.Xsl.XsltArgumentList * System.IO.Stream -> unit
Public Sub Transform (inputUri As String, arguments As XsltArgumentList, results As Stream)

Parâmetros

inputUri
String

O URI do documento de entrada.

arguments
XsltArgumentList

An XsltArgumentList contendo os argumentos qualificados pelo espaço de nomes usados como entrada para a transformada. Este valor pode ser null.

results
Stream

O fluxo para onde queres sair.

Exceções

O inputUri valor de ou results é null.

Houve um erro ao executar a transformação XSLT.

O inputUri valor inclui um nome de ficheiro ou diretório que não pode ser encontrado.

O inputUri valor não pode ser resolvido.

-ou-

Ocorreu um erro durante o processamento do pedido.

inputUri não é um URI válido.

Houve um erro de análise ao carregar o documento de entrada.

Observações

Este método utiliza um padrão XmlUrlResolver sem credenciais de utilizador para resolver o documento de entrada e quaisquer instâncias da função XSLT document() encontradas na folha de estilo. Se algum destes recursos estiver localizado num recurso de rede que requer autenticação, use a sobrecarga que toma a XmlResolver como um dos seus argumentos e especifique an XmlResolver com as credenciais necessárias.

Um XmlReader com definições padrão é usado para carregar o documento de entrada. O processamento DTD está desativado no XmlReaderarquivo . Se precisares de processamento DTD, cria um XmlReader com esta funcionalidade ativada e passa-o para o Transform método.

Ver também

Aplica-se a

Transform(IXPathNavigable, XmlWriter)

Executa a transformação usando o documento de entrada especificado pelo IXPathNavigable objeto e fornece os resultados para um XmlWriter.

public:
 void Transform(System::Xml::XPath::IXPathNavigable ^ input, System::Xml::XmlWriter ^ results);
public void Transform(System.Xml.XPath.IXPathNavigable input, System.Xml.XmlWriter results);
member this.Transform : System.Xml.XPath.IXPathNavigable * System.Xml.XmlWriter -> unit
Public Sub Transform (input As IXPathNavigable, results As XmlWriter)

Parâmetros

input
IXPathNavigable

Um objeto que implementa a IXPathNavigable interface. No Microsoft .NET Framework, isto pode ser um XmlNode (tipicamente um XmlDocument), ou um XPathDocument contendo os dados a transformar.

results
XmlWriter

Para onde XmlWriter queres produzir.

Se a folha de estilo contiver um xsl:output elemento, deve criar o XmlWriter usando o XmlWriterSettings objeto devolvido da OutputSettings propriedade. Isto garante que tem XmlWriter as definições de saída corretas.

Exceções

O input valor de ou results é null.

Houve um erro ao executar a transformação XSLT.

Exemplos

O exemplo seguinte executa uma transformação XSLT e exporta para um XmlWriter objeto.

// Load the style sheet.
XslCompiledTransform xslt = new XslCompiledTransform();
xslt.Load("output.xsl");

// Create the writer.
XmlWriterSettings settings = new XmlWriterSettings();
settings.Indent = true;
settings.IndentChars = "\t";
XmlWriter writer = XmlWriter.Create("output.xml", settings);

// Execute the transformation.
xslt.Transform(new XPathDocument("books.xml"), writer);
writer.Close();
' Load the style sheet.
Dim xslt As New XslCompiledTransform()
xslt.Load("output.xsl")
        
' Create the writer.
Dim settings As New XmlWriterSettings()
settings.Indent = True
settings.IndentChars = vbTab
Dim writer As XmlWriter = XmlWriter.Create("output.xml", settings)
        
' Execute the transformation.
xslt.Transform(New XPathDocument("books.xml"), writer)
writer.Close()

Observações

Se a função XSLT document() estiver ativada, é resolvida usando um XmlUrlResolver sem credenciais de utilizador. Se o recurso externo estiver localizado num recurso de rede que requer autenticação, use a sobrecarga que toma a XmlResolver como um dos seus argumentos e especifique an XmlResolver com as credenciais necessárias.

Este método não suporta o xsl:strip-space elemento. Se a sua folha de estilo compilada incluía o xsl:strip-space elemento, deve usar a Transform sobrecarga que toma a XmlReader como argumento de entrada.

A interface IXPathNavigable é implementada nas classes XmlNode e XPathDocument. Essas classes representam um cache na memória de dados XML.

  • A XmlNode classe é baseada no DOM (Document Object Model) do W3C e inclui recursos de edição.

  • A XPathDocument classe é um armazenamento de dados somente leitura baseado no modelo de dados XPath. XPathDocument é a classe recomendada para processamento XSLT. Proporciona um desempenho mais rápido quando comparado com a XmlNode classe.

As transformações aplicam-se ao documento como um todo. Em outras palavras, se você passar um 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. Para transformar um fragmento de nó, deve-se criar um objeto contendo apenas o fragmento de nó e passar esse objeto para o método Transform. Para obter mais informações, consulte Como: Transformar um Fragmento de Nó.

Ver também

Aplica-se a

Transform(XmlReader, XmlWriter)

Executa a transformação usando o documento de entrada especificado pelo XmlReader objeto e fornece os resultados para um XmlWriter.

public:
 void Transform(System::Xml::XmlReader ^ input, System::Xml::XmlWriter ^ results);
public void Transform(System.Xml.XmlReader input, System.Xml.XmlWriter results);
member this.Transform : System.Xml.XmlReader * System.Xml.XmlWriter -> unit
Public Sub Transform (input As XmlReader, results As XmlWriter)

Parâmetros

input
XmlReader

O XmlReader que contém o documento de entrada.

results
XmlWriter

Para onde XmlWriter queres produzir.

Se a folha de estilo contiver um xsl:output elemento, deve criar o XmlWriter usando o XmlWriterSettings objeto devolvido da OutputSettings propriedade. Isto garante que tem XmlWriter as definições de saída corretas.

Exceções

O input valor de ou results é null.

Houve um erro ao executar a transformação XSLT.

Exemplos

O exemplo seguinte transforma o primeiro livro no ficheiro books.xml.

// Load the style sheet.
XslCompiledTransform xslt = new XslCompiledTransform();
xslt.Load("output.xsl");

// Create the writer.
XmlWriterSettings settings = new XmlWriterSettings();
settings.Indent = true;
settings.IndentChars = "\t";
XmlWriter writer = XmlWriter.Create("output.xml", settings);

XmlReader reader = XmlReader.Create("books.xml");
reader.MoveToContent();

// Execute the transformation.
xslt.Transform(reader, writer);
writer.Close();
reader.Close();
' Load the style sheet.
Dim xslt As New XslCompiledTransform()
xslt.Load("output.xsl")
        
' Create the writer.
Dim settings As New XmlWriterSettings()
settings.Indent = True
settings.IndentChars = vbTab
Dim writer As XmlWriter = XmlWriter.Create("output.xml", settings)
        
Dim reader As XmlReader = XmlReader.Create("books.xml")
reader.MoveToContent()
        
' Execute the transformation.
xslt.Transform(reader, writer)
writer.Close()
reader.Close()

Observações

Se a função XSLT document() estiver ativada, é resolvida usando um XmlUrlResolver sem credenciais de utilizador. Se o recurso externo estiver localizado num recurso de rede que requer autenticação, use a sobrecarga que toma a XmlResolver como um dos seus argumentos e especifique an XmlResolver com as credenciais necessárias.

Ver também

Aplica-se a

Transform(String, XmlWriter)

Executa a transformação usando o documento de entrada especificado pelo URI e envia os resultados para um XmlWriter.

public:
 void Transform(System::String ^ inputUri, System::Xml::XmlWriter ^ results);
public void Transform(string inputUri, System.Xml.XmlWriter results);
member this.Transform : string * System.Xml.XmlWriter -> unit
Public Sub Transform (inputUri As String, results As XmlWriter)

Parâmetros

inputUri
String

O URI do documento de entrada.

results
XmlWriter

Para onde XmlWriter queres produzir.

Se a folha de estilo contiver um xsl:output elemento, deve criar o XmlWriter usando o XmlWriterSettings objeto devolvido da OutputSettings propriedade. Isto garante que tem XmlWriter as definições de saída corretas.

Exceções

O inputUri valor de ou results é null.

Houve um erro ao executar a transformação XSLT.

O inputUri valor inclui um nome de ficheiro ou diretório que não pode ser encontrado.

O inputUri valor não pode ser resolvido.

-ou-

Ocorreu um erro durante o processamento do pedido.

inputUri não é um URI válido.

Houve um erro de análise ao carregar o documento de entrada.

Exemplos

O exemplo seguinte executa uma transformação XSLT e exporta para um XmlWriter objeto.

// Load the style sheet.
XslCompiledTransform xslt = new XslCompiledTransform();
xslt.Load("output.xsl");

// Create the writer.
XmlWriterSettings settings = new XmlWriterSettings();
settings.Indent = true;
settings.IndentChars = "\t";
XmlWriter writer = XmlWriter.Create("output.xml", settings);

// Execute the transformation.
xslt.Transform("books.xml", writer);
writer.Close();
' Load the style sheet.
Dim xslt As New XslCompiledTransform()
xslt.Load("output.xsl")
        
' Create the writer.
Dim settings As New XmlWriterSettings()
settings.Indent = True
settings.IndentChars = vbTab
Dim writer As XmlWriter = XmlWriter.Create("output.xml", settings)
        
' Execute the transformation.
xslt.Transform("books.xml", writer)
writer.Close()

Observações

Este método utiliza um padrão XmlUrlResolver sem credenciais de utilizador para resolver o documento de entrada e quaisquer instâncias da função XSLT document() encontradas na folha de estilo. Se algum destes recursos estiver localizado num recurso de rede que requer autenticação, use a sobrecarga que toma a XmlResolver como um dos seus argumentos e especifique an XmlResolver com as credenciais necessárias.

Um XmlReader com definições padrão é usado para carregar o documento de entrada. O processamento DTD está desativado no XmlReaderarquivo . Se precisares de processamento DTD, cria um XmlReader com esta funcionalidade ativada e passa-o para o Transform método.

Este método não suporta o xsl:strip-space elemento. Se a sua folha de estilo compilada incluía o xsl:strip-space elemento, deve usar a Transform sobrecarga que toma a XmlReader como argumento de entrada.

Ver também

Aplica-se a

Transform(XmlReader, XsltArgumentList, XmlWriter, XmlResolver)

Executa a transformação usando o documento de entrada especificado pelo XmlReader objeto e fornece os resultados para um XmlWriter. Fornece XsltArgumentList argumentos adicionais em tempo de execução e o XmlResolver resolve a função XSLT document() .

public:
 void Transform(System::Xml::XmlReader ^ input, System::Xml::Xsl::XsltArgumentList ^ arguments, System::Xml::XmlWriter ^ results, System::Xml::XmlResolver ^ documentResolver);
public void Transform(System.Xml.XmlReader input, System.Xml.Xsl.XsltArgumentList arguments, System.Xml.XmlWriter results, System.Xml.XmlResolver documentResolver);
member this.Transform : System.Xml.XmlReader * System.Xml.Xsl.XsltArgumentList * System.Xml.XmlWriter * System.Xml.XmlResolver -> unit
Public Sub Transform (input As XmlReader, arguments As XsltArgumentList, results As XmlWriter, documentResolver As XmlResolver)

Parâmetros

input
XmlReader

An XmlReader contendo o documento de entrada.

arguments
XsltArgumentList

An XsltArgumentList contendo os argumentos qualificados pelo espaço de nomes usados como entrada para a transformada. Este valor pode ser null.

results
XmlWriter

Para onde XmlWriter queres produzir.

Se a folha de estilo contiver um xsl:output elemento, deve criar o XmlWriter usando o XmlWriterSettings objeto devolvido da OutputSettings propriedade. Isto garante que tem XmlWriter as definições de saída corretas.

documentResolver
XmlResolver

É usado XmlResolver para resolver a função XSLT document() . Se isto for null, a document() função não é resolvida.

Exceções

O input valor de ou results é null.

Houve um erro ao executar a transformação XSLT.

Exemplos

O exemplo seguinte utiliza um XmlSecureResolver para resolver a função XSLT document() .

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

XsltSettings settings = new XsltSettings();
settings.EnableDocumentFunction = true;

// Load the style sheet.
XslCompiledTransform xslt = new XslCompiledTransform();
xslt.Load("http://serverName/data/xsl/sort.xsl", settings, resolver);

// Transform the file.
using (XmlReader reader = XmlReader.Create("books.xml"))
{
   using (XmlWriter writer = XmlWriter.Create("output.xml"))
   {
      xslt.Transform(reader, null, writer, resolver);
   }
}
' Create a resolver and specify the necessary credentials.
Dim resolver As New XmlSecureResolver(New XmlUrlResolver(), "http://serverName/data/")
Dim myCred As System.Net.NetworkCredential
myCred = New System.Net.NetworkCredential(UserName, SecurelyStoredPassword, Domain)
resolver.Credentials = myCred
        
Dim settings As New XsltSettings()
settings.EnableDocumentFunction = True
        
' Load the style sheet.
Dim xslt As New XslCompiledTransform()
xslt.Load("http://serverName/data/xsl/sort.xsl", settings, resolver)
        
' Transform the file.
        Using reader As XmlReader = XmlReader.Create("books.xml")

            Using writer As XmlWriter = XmlWriter.Create("output.xml")
                xslt.Transform(reader, Nothing, writer, resolver)
            End Using

        End Using

Ver também

Aplica-se a

Transform(String, XsltArgumentList, XmlWriter)

Executa a transformação usando o documento de entrada especificado pelo URI e envia os resultados para um XmlWriter. Fornece XsltArgumentList argumentos adicionais em tempo de execução.

public:
 void Transform(System::String ^ inputUri, System::Xml::Xsl::XsltArgumentList ^ arguments, System::Xml::XmlWriter ^ results);
public void Transform(string inputUri, System.Xml.Xsl.XsltArgumentList arguments, System.Xml.XmlWriter results);
member this.Transform : string * System.Xml.Xsl.XsltArgumentList * System.Xml.XmlWriter -> unit
Public Sub Transform (inputUri As String, arguments As XsltArgumentList, results As XmlWriter)

Parâmetros

inputUri
String

O URI do documento de entrada.

arguments
XsltArgumentList

An XsltArgumentList contendo os argumentos qualificados pelo espaço de nomes usados como entrada para a transformada. Este valor pode ser null.

results
XmlWriter

Para onde XmlWriter queres produzir.

Se a folha de estilo contiver um xsl:output elemento, deve criar o XmlWriter usando o XmlWriterSettings objeto devolvido da OutputSettings propriedade. Isto garante que tem XmlWriter as definições de saída corretas.

Exceções

O inputUri valor de ou results é null.

Houve um erro ao executar a transformação XSLT.

O inputUri valor inclui um nome de ficheiro ou diretório que não pode ser encontrado.

O inputUri valor não pode ser resolvido.

-ou-

Ocorreu um erro durante o processamento do pedido.

inputUri não é um URI válido.

Houve um erro de análise ao carregar o documento de entrada.

Exemplos

O exemplo seguinte utiliza um XsltArgumentList objeto para criar um parâmetro que representa a data e hora atuais.

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

public class Sample
{

    public static void Main()
    {

        // Create the XslCompiledTransform and load the stylesheet.
        XslCompiledTransform xslt = new XslCompiledTransform();
        xslt.Load("order.xsl");

        // Create the XsltArgumentList.
        XsltArgumentList xslArg = new XsltArgumentList();

        // Create a parameter which represents the current date and time.
        DateTime d = DateTime.Now;
        xslArg.AddParam("date", "", d.ToString());

        // Transform the file.
        using (XmlWriter w = XmlWriter.Create("output.xml"))
        {
            xslt.Transform("order.xml", xslArg, w);
        }
    }
}
Imports System.IO
Imports System.Xml
Imports System.Xml.Xsl

Public Class Sample

    Public Shared Sub Main()

        ' Create the XslCompiledTransform and load the stylesheet.
        Dim xslt As New XslCompiledTransform()
        xslt.Load("order.xsl")

        ' Create the XsltArgumentList.
        Dim xslArg As New XsltArgumentList()

        ' Create a parameter which represents the current date and time.
        Dim d As DateTime = DateTime.Now
        xslArg.AddParam("date", "", d.ToString())

        Using w As XmlWriter = XmlWriter.Create("output.xml")
            ' Transform the file.
            xslt.Transform("order.xml", xslArg, w)
        End Using

    End Sub
End Class

O exemplo utiliza os dois ficheiros de dados seguintes como entrada.

order.xml

<!--Represents a customer order-->
<order>
  <book ISBN='10-861003-324'>
    <title>The Handmaid's Tale</title>
    <price>19.95</price>
  </book>
  <cd ISBN='2-3631-4'>
    <title>Americana</title>
    <price>16.95</price>
  </cd>
</order>

order.xsl

<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
  <xsl:param name="date"/>
  <xsl:template match="/">
    <order>
      <date><xsl:value-of select="$date"/></date>
      <total><xsl:value-of select="sum(//price)"/></total>
    </order>
  </xsl:template>
</xsl:stylesheet>

Observações

Este método utiliza um padrão XmlUrlResolver sem credenciais de utilizador para resolver o documento de entrada e quaisquer instâncias da função XSLT document() encontradas na folha de estilo. Se algum destes recursos estiver localizado num recurso de rede que requer autenticação, use a sobrecarga que toma a XmlResolver como um dos seus argumentos e especifique an XmlResolver com as credenciais necessárias.

Um XmlReader com definições padrão é usado para carregar o documento de entrada. O processamento DTD está desativado no XmlReaderarquivo . Se precisares de processamento DTD, cria um XmlReader com esta funcionalidade ativada e passa-o para o Transform método.

Ver também

Aplica-se a

Transform(IXPathNavigable, XsltArgumentList, XmlWriter, XmlResolver)

Executa a transformação usando o documento de entrada especificado pelo IXPathNavigable objeto e fornece os resultados para um XmlWriter. Fornece XsltArgumentList argumentos adicionais em tempo de execução e XmlResolver resolve a função XSLT document() .

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

Parâmetros

input
IXPathNavigable

O documento a transformar é especificado pelo IXPathNavigable objeto.

arguments
XsltArgumentList

Lista de argumentos como XsltArgumentList.

results
XmlWriter

Para onde XmlWriter queres produzir.

Se a folha de estilos contiver um xsl:output elemento, deve criar o XmlWriter by usando o XmlWriterSettings objeto que é devolvido da OutputSettings propriedade. Isto garante que tem XmlWriter as definições de saída corretas.

documentResolver
XmlResolver

É usado XmlResolver para resolver a função XSLT document() . Se isto for null, a document() função não é resolvida.

Aplica-se a