XslCompiledTransform.Transform Método

Definição

Executa a transformação XSLT.Executes the XSLT transformation.

Sobrecargas

Transform(XmlReader, XsltArgumentList, TextWriter)

Executa a transformação usando o documento de entrada especificado pelo objeto XmlReader e gera os resultados em um TextWriter.Executes the transform using the input document specified by the XmlReader object and outputs the results to a TextWriter. O XsltArgumentList fornece argumentos de tempo de execução adicionais.The XsltArgumentList provides additional run-time arguments.

Transform(IXPathNavigable, XsltArgumentList, XmlWriter)

Executa a transformação usando o documento de entrada especificado pelo objeto IXPathNavigable e gera os resultados em um XmlWriter.Executes the transform using the input document specified by the IXPathNavigable object and outputs the results to an XmlWriter. O XsltArgumentList fornece argumentos de tempo de execução adicionais.The XsltArgumentList provides additional run-time arguments.

Transform(IXPathNavigable, XsltArgumentList, TextWriter)

Executa a transformação usando o documento de entrada especificado pelo objeto IXPathNavigable e gera os resultados em um TextWriter.Executes the transform using the input document specified by the IXPathNavigable object and outputs the results to an TextWriter. O XsltArgumentList fornece argumentos de tempo de execução adicionais.The XsltArgumentList provides additional run-time arguments.

Transform(IXPathNavigable, XsltArgumentList, Stream)

Executa a transformação usando o documento de entrada especificado pelo objeto IXPathNavigable e gera os resultados em um fluxo.Executes the transform using the input document specified by the IXPathNavigable object and outputs the results to a stream. A XsltArgumentList fornece argumentos adicionais de runtime.The XsltArgumentList provides additional runtime arguments.

Transform(XmlReader, XsltArgumentList, XmlWriter)

Executa a transformação usando o documento de entrada especificado pelo objeto XmlReader e gera os resultados em um XmlWriter.Executes the transform using the input document specified by the XmlReader object and outputs the results to an XmlWriter. O XsltArgumentList fornece argumentos de tempo de execução adicionais.The XsltArgumentList provides additional run-time arguments.

Transform(XmlReader, XsltArgumentList, Stream)

Executa a transformação usando o documento de entrada especificado pelo objeto XmlReader e gera os resultados em um fluxo.Executes the transform using the input document specified by the XmlReader object and outputs the results to a stream. O XsltArgumentList fornece argumentos de tempo de execução adicionais.The XsltArgumentList provides additional run-time arguments.

Transform(String, String)

Executa a transformação usando o documento de entrada especificado pelo URI e gera o resultado para um arquivo.Executes the transform using the input document specified by the URI and outputs the results to a file.

Transform(String, XsltArgumentList, TextWriter)

Executa a transformação usando o documento de entrada especificado pelo URI e gera o resultado em um TextWriter.Executes the transform using the input document specified by the URI and outputs the results to a TextWriter.

Transform(String, XsltArgumentList, Stream)

Executa a transformação usando o documento de entrada especificado pelo URI e gera o resultado em um fluxo.Executes the transform using the input document specified by the URI and outputs the results to stream. O XsltArgumentList fornece argumentos de tempo de execução adicionais.The XsltArgumentList provides additional run-time arguments.

Transform(IXPathNavigable, XmlWriter)

Executa a transformação usando o documento de entrada especificado pelo objeto IXPathNavigable e gera os resultados em um XmlWriter.Executes the transform using the input document specified by the IXPathNavigable object and outputs the results to an XmlWriter.

Transform(XmlReader, XmlWriter)

Executa a transformação usando o documento de entrada especificado pelo objeto XmlReader e gera os resultados em um XmlWriter.Executes the transform using the input document specified by the XmlReader object and outputs the results to an XmlWriter.

Transform(String, XmlWriter)

Executa a transformação usando o documento de entrada especificado pelo URI e gera o resultado para um XmlWriter.Executes the transform using the input document specified by the URI and outputs the results to an XmlWriter.

Transform(XmlReader, XsltArgumentList, XmlWriter, XmlResolver)

Executa a transformação usando o documento de entrada especificado pelo objeto XmlReader e gera os resultados em um XmlWriter.Executes the transform using the input document specified by the XmlReader object and outputs the results to an XmlWriter. O XsltArgumentList fornece argumentos de tempo de execução adicionais e o XmlResolver resolve a função XSLT document().The XsltArgumentList provides additional run-time arguments and the XmlResolver resolves the XSLT document() function.

Transform(String, XsltArgumentList, XmlWriter)

Executa a transformação usando o documento de entrada especificado pelo URI e gera o resultado para um XmlWriter.Executes the transform using the input document specified by the URI and outputs the results to an XmlWriter. O XsltArgumentList fornece argumentos de tempo de execução adicionais.The XsltArgumentList provides additional run-time arguments.

Transform(IXPathNavigable, XsltArgumentList, XmlWriter, XmlResolver)

Executa a transformação usando o documento de entrada especificado pelo objeto IXPathNavigable e gera os resultados em um XmlWriter.Executes the transform by using the input document that is specified by the IXPathNavigable object and outputs the results to an XmlWriter. O XsltArgumentList fornece argumentos de tempo de execução adicionais e o XmlResolver resolve a função XSLT document().The XsltArgumentList provides additional run-time arguments and the XmlResolver resolves the XSLT document() function.

Comentários

Observação

Existem diferenças entre XSLT compilou no modo de depuração e em XSLT compilados no modo de versão.There are differences between XSLT compiled in Debug mode and XSLT compiled in Release mode. Em algumas situações, folhas de estilos compiladas no modo de depuração não) lançarão erros durante Load, mas irão falhar mais tarde durante Transform.In some situations, style sheets compiled in Debug mode will not throw errors during Load, but will later fail during Transform. A mesma folha de estilo embutido no modo de lançamento falhará durante Load.The same style sheet compiled in Release mode will fail during Load. Um exemplo desse comportamento é quando uma variável que não seja de um tipo nó- definido é atribuído a uma expressão onde nó- definido é necessário.An example of such behavior is when a variable that is not of a node-set type is assigned to an expression where a node-set is required.

Transform(XmlReader, XsltArgumentList, TextWriter)

Executa a transformação usando o documento de entrada especificado pelo objeto XmlReader e gera os resultados em um TextWriter.Executes the transform using the input document specified by the XmlReader object and outputs the results to a TextWriter. O XsltArgumentList fornece argumentos de tempo de execução adicionais.The XsltArgumentList provides additional run-time arguments.

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

O XmlReader que contém o documento de entrada.An XmlReader containing the input document.

arguments
XsltArgumentList

Um XsltArgumentList que contém os argumentos qualificados por namespace usados como a entrada para a transformação.An XsltArgumentList containing the namespace-qualified arguments used as input to the transform. Este valor pode ser null.This value can be null.

results
TextWriter

O TextWriter para o qual deseja gerar.The TextWriter to which you want to output.

Exceções

O valor input ou results é null.The input or results value is null.

Ocorreu um erro ao executar a transformação XSLT.There was an error executing the XSLT transform.

Comentários

Se a folha de estilos incluir uma função document() XSLT, ela será resolvida usando um XmlUrlResolver sem credenciais de usuário.If the style sheet includes an XSLT document() function, it is resolved using an XmlUrlResolver with no user credentials. Se o recurso externo estiver localizado em um recurso de rede que requer autenticação, use a sobrecarga que usa um XmlResolver como um de seus argumentos e especifique um XmlResolver com as credenciais necessárias.If the external resource is located on a network resource that requires authentication, use the overload that takes an XmlResolver as one of its arguments and specify an XmlResolver with the necessary credentials.

Veja também

Transform(IXPathNavigable, XsltArgumentList, XmlWriter)

Executa a transformação usando o documento de entrada especificado pelo objeto IXPathNavigable e gera os resultados em um XmlWriter.Executes the transform using the input document specified by the IXPathNavigable object and outputs the results to an XmlWriter. O XsltArgumentList fornece argumentos de tempo de execução adicionais.The XsltArgumentList provides additional run-time arguments.

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 implementando a interface IXPathNavigable.An object implementing the IXPathNavigable interface. No Microsoft .NET Framework, isso pode ser um XmlNode (normalmente um XmlDocument) ou um XPathDocument que contém os dados a serem transformados.In the Microsoft .NET Framework, this can be either an XmlNode (typically an XmlDocument), or an XPathDocument containing the data to be transformed.

arguments
XsltArgumentList

Um XsltArgumentList que contém os argumentos qualificados por namespace usados como a entrada para a transformação.An XsltArgumentList containing the namespace-qualified arguments used as input to the transform. Este valor pode ser null.This value can be null.

results
XmlWriter

O XmlWriter para o qual deseja gerar.The XmlWriter to which you want to output.

Se a folha de estilos contiver um elemento xsl:output, você deverá criar o XmlWriter usando objeto XmlWriterSettings retornado da propriedade OutputSettings.If the style sheet contains an xsl:output element, you should create the XmlWriter using the XmlWriterSettings object returned from the OutputSettings property. Isso garante que o objeto XmlWriter tenha as configurações de saída corretas.This ensures that the XmlWriter has the correct output settings.

Exceções

O valor input ou results é null.The input or results value is null.

Ocorreu um erro ao executar a transformação XSLT.There was an error executing the XSLT transform.

Comentários

Se a função document() XSLT estiver habilitada, ela será resolvida usando um XmlUrlResolver sem credenciais de usuário.If the XSLT document() function is enabled, it is resolved using an XmlUrlResolver with no user credentials. Se o recurso externo estiver localizado em um recurso de rede que requer autenticação, use a sobrecarga que usa um XmlResolver como um de seus argumentos e especifique um XmlResolver com as credenciais necessárias.If the external resource is located on a network resource that requires authentication, use the overload that takes an XmlResolver as one of its arguments and specify an XmlResolver with the necessary credentials.

Este método não oferece suporte ao elemento xsl:strip-space.This method does not support the xsl:strip-space element. Se a folha de estilos compilada incluir o elemento xsl:strip-space, você deverá usar a sobrecarga Transform que usa um XmlReader como o argumento de entrada.If your compiled style sheet included the xsl:strip-space element, you must use the Transform overload which takes an XmlReader as the input argument.

A interface de IXPathNavigable é implementada nas classes de XmlNode e de XPathDocument .The IXPathNavigable interface is implemented in the XmlNode and XPathDocument classes. Essas classes representam um cache de memória de dados XML.These classes represent an in-memory cache of XML data.

  • A classe de XmlNode é baseado no W3C Document Object Model (DOM) e inclui recursos de edição.The XmlNode class is based on the W3C Document Object Model (DOM) and includes editing capabilities.

  • A classe de XPathDocument é um repositório de dados somente leitura com base no modelo de dados XPath.The XPathDocument class is a read-only data store based on the XPath data model. XPathDocument é a classe recomendada para processar XSLT.XPathDocument is the recommended class for XSLT processing. Fornece um desempenho mais rápido quando comparada a XmlNode a classe.It provides faster performance when compared to the XmlNode class.

As transformações são aplicadas ao documento no dataset.Transformations apply to the document as a whole. 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.In other words, if you pass in a node other than the document root node, this does not prevent the transformation process from accessing all nodes in the loaded document. Para transformar um fragmento de nó, você deve criar um objeto que contém apenas o fragmento de nó, e passa esse objeto para o método de Transform .To transform a node fragment, you must create an object containing just the node fragment, and pass that object to the Transform method. Para saber mais, confira Como transformar um fragmento de nó.For more information, see How to: Transform a Node Fragment.

Veja também

Transform(IXPathNavigable, XsltArgumentList, TextWriter)

Executa a transformação usando o documento de entrada especificado pelo objeto IXPathNavigable e gera os resultados em um TextWriter.Executes the transform using the input document specified by the IXPathNavigable object and outputs the results to an TextWriter. O XsltArgumentList fornece argumentos de tempo de execução adicionais.The XsltArgumentList provides additional run-time arguments.

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 implementando a interface IXPathNavigable.An object implementing the IXPathNavigable interface. No Microsoft .NET Framework, isso pode ser um XmlNode (normalmente um XmlDocument) ou um XPathDocument que contém os dados a serem transformados.In the Microsoft .NET Framework, this can be either an XmlNode (typically an XmlDocument), or an XPathDocument containing the data to be transformed.

arguments
XsltArgumentList

Um XsltArgumentList que contém os argumentos qualificados por namespace usados como a entrada para a transformação.An XsltArgumentList containing the namespace-qualified arguments used as input to the transform. Este valor pode ser null.This value can be null.

results
TextWriter

O TextWriter para o qual deseja gerar.The TextWriter to which you want to output.

Exceções

O valor input ou results é null.The input or results value is null.

Ocorreu um erro ao executar a transformação XSLT.There was an error executing the XSLT transform.

Comentários

Se a função document() XSLT estiver habilitada, ela será resolvida usando um XmlUrlResolver sem credenciais de usuário.If the XSLT document() function is enabled, it is resolved using an XmlUrlResolver with no user credentials. Se o recurso externo estiver localizado em um recurso de rede que requer autenticação, use a sobrecarga que usa um XmlResolver como um de seus argumentos e especifique um XmlResolver com as credenciais necessárias.If the external resource is located on a network resource that requires authentication, use the overload that takes an XmlResolver as one of its arguments and specify an XmlResolver with the necessary credentials.

Este método não oferece suporte ao elemento xsl:strip-space.This method does not support the xsl:strip-space element. Se a folha de estilos compilada incluir o elemento xsl:strip-space, você deverá usar a sobrecarga Transform que usa um XmlReader como o argumento de entrada.If your compiled style sheet included the xsl:strip-space element, you must use the Transform overload which takes an XmlReader as the input argument.

A interface de IXPathNavigable é implementada nas classes de XmlNode e de XPathDocument .The IXPathNavigable interface is implemented in the XmlNode and XPathDocument classes. Essas classes representam um cache de memória de dados XML.These classes represent an in-memory cache of XML data.

  • A classe de XmlNode é baseado no W3C Document Object Model (DOM) e inclui recursos de edição.The XmlNode class is based on the W3C Document Object Model (DOM) and includes editing capabilities.

  • A classe de XPathDocument é um repositório de dados somente leitura com base no modelo de dados XPath.The XPathDocument class is a read-only data store based on the XPath data model. XPathDocument é a classe recomendada para processar XSLT.XPathDocument is the recommended class for XSLT processing. Fornece um desempenho mais rápido quando comparada a XmlNode a classe.It provides faster performance when compared to the XmlNode class.

As transformações são aplicadas ao documento no dataset.Transformations apply to the document as a whole. 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.In other words, if you pass in a node other than the document root node, this does not prevent the transformation process from accessing all nodes in the loaded document. Para transformar um fragmento de nó, você deve criar um objeto que contém apenas o fragmento de nó, e passa esse objeto para o método de Transform .To transform a node fragment, you must create an object containing just the node fragment, and pass that object to the Transform method. Para saber mais, confira Como transformar um fragmento de nó.For more information, see How to: Transform a Node Fragment.

Veja também

Transform(IXPathNavigable, XsltArgumentList, Stream)

Executa a transformação usando o documento de entrada especificado pelo objeto IXPathNavigable e gera os resultados em um fluxo.Executes the transform using the input document specified by the IXPathNavigable object and outputs the results to a stream. A XsltArgumentList fornece argumentos adicionais de runtime.The XsltArgumentList provides additional runtime arguments.

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 implementando a interface IXPathNavigable.An object implementing the IXPathNavigable interface. No Microsoft .NET Framework, isso pode ser um XmlNode (normalmente um XmlDocument) ou um XPathDocument que contém os dados a serem transformados.In the Microsoft .NET Framework, this can be either an XmlNode (typically an XmlDocument), or an XPathDocument containing the data to be transformed.

arguments
XsltArgumentList

Um XsltArgumentList que contém os argumentos qualificados por namespace usados como a entrada para a transformação.An XsltArgumentList containing the namespace-qualified arguments used as input to the transform. Este valor pode ser null.This value can be null.

results
Stream

O fluxo no qual você deseja gerar saída.The stream to which you want to output.

Exceções

O valor input ou results é null.The input or results value is null.

Ocorreu um erro ao executar a transformação XSLT.There was an error executing the XSLT transform.

Exemplos

O exemplo a seguir executa uma transformação XSLT e saídas para um FileStream.The following example executes an XSLT transformation and outputs to a 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

Comentários

Se a função document() XSLT estiver habilitada, ela será resolvida usando um XmlUrlResolver sem credenciais de usuário.If the XSLT document() function is enabled, it is resolved using an XmlUrlResolver with no user credentials. Se o recurso externo estiver localizado em um recurso de rede que requer autenticação, use a sobrecarga que usa um XmlResolver como um de seus argumentos e especifique um XmlResolver com as credenciais necessárias.If the external resource is located on a network resource that requires authentication, use the overload that takes an XmlResolver as one of its arguments and specify an XmlResolver with the necessary credentials.

Este método não oferece suporte ao elemento xsl:strip-space.This method does not support the xsl:strip-space element. Se a folha de estilos compilada incluir o elemento xsl:strip-space, você deverá usar a sobrecarga Transform que usa um XmlReader como o argumento de entrada.If your compiled style sheet included the xsl:strip-space element, you must use the Transform overload which takes an XmlReader as the input argument.

A interface de IXPathNavigable é implementada nas classes de XmlNode e de XPathDocument .The IXPathNavigable interface is implemented in the XmlNode and XPathDocument classes. Essas classes representam um cache de memória de dados XML.These classes represent an in-memory cache of XML data.

  • A classe de XmlNode é baseado no W3C Document Object Model (DOM) e inclui recursos de edição.The XmlNode class is based on the W3C Document Object Model (DOM) and includes editing capabilities.

  • A classe de XPathDocument é um repositório de dados somente leitura com base no modelo de dados XPath.The XPathDocument class is a read-only data store based on the XPath data model. XPathDocument é a classe recomendada para processar XSLT.XPathDocument is the recommended class for XSLT processing. Fornece um desempenho mais rápido quando comparada a XmlNode a classe.It provides faster performance when compared to the XmlNode class.

As transformações são aplicadas ao documento no dataset.Transformations apply to the document as a whole. 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.In other words, if you pass in a node other than the document root node, this does not prevent the transformation process from accessing all nodes in the loaded document. Para transformar um fragmento de nó, você deve criar um objeto que contém apenas o fragmento de nó, e passa esse objeto para o método de Transform .To transform a node fragment, you must create an object containing just the node fragment, and pass that object to the Transform method. Para saber mais, confira Como transformar um fragmento de nó.For more information, see How to: Transform a Node Fragment.

Veja também

Transform(XmlReader, XsltArgumentList, XmlWriter)

Executa a transformação usando o documento de entrada especificado pelo objeto XmlReader e gera os resultados em um XmlWriter.Executes the transform using the input document specified by the XmlReader object and outputs the results to an XmlWriter. O XsltArgumentList fornece argumentos de tempo de execução adicionais.The XsltArgumentList provides additional run-time arguments.

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

O XmlReader que contém o documento de entrada.An XmlReader containing the input document.

arguments
XsltArgumentList

Um XsltArgumentList que contém os argumentos qualificados por namespace usados como a entrada para a transformação.An XsltArgumentList containing the namespace-qualified arguments used as input to the transform. Este valor pode ser null.This value can be null.

results
XmlWriter

O XmlWriter para o qual deseja gerar.The XmlWriter to which you want to output.

Se a folha de estilos contiver um elemento xsl:output, você deverá criar o XmlWriter usando objeto XmlWriterSettings retornado da propriedade OutputSettings.If the style sheet contains an xsl:output element, you should create the XmlWriter using the XmlWriterSettings object returned from the OutputSettings property. Isso garante que o objeto XmlWriter tenha as configurações de saída corretas.This ensures that the XmlWriter has the correct output settings.

Exceções

O valor input ou results é null.The input or results value is null.

Ocorreu um erro ao executar a transformação XSLT.There was an error executing the XSLT transform.

Comentários

Se a folha de estilos incluir uma função document() XSLT, ela será resolvida usando um XmlUrlResolver sem credenciais de usuário.If the style sheet includes an XSLT document() function, it is resolved using an XmlUrlResolver with no user credentials. Se o recurso externo estiver localizado em um recurso de rede que requer autenticação, use a sobrecarga que usa um XmlResolver como um de seus argumentos e especifique um XmlResolver com as credenciais necessárias.If the external resource is located on a network resource that requires authentication, use the overload that takes an XmlResolver as one of its arguments and specify an XmlResolver with the necessary credentials.

Veja também

Transform(XmlReader, XsltArgumentList, Stream)

Executa a transformação usando o documento de entrada especificado pelo objeto XmlReader e gera os resultados em um fluxo.Executes the transform using the input document specified by the XmlReader object and outputs the results to a stream. O XsltArgumentList fornece argumentos de tempo de execução adicionais.The XsltArgumentList provides additional run-time arguments.

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

O XmlReader que contém o documento de entrada.An XmlReader containing the input document.

arguments
XsltArgumentList

Um XsltArgumentList que contém os argumentos qualificados por namespace usados como a entrada para a transformação.An XsltArgumentList containing the namespace-qualified arguments used as input to the transform. Este valor pode ser null.This value can be null.

results
Stream

O fluxo no qual você deseja gerar saída.The stream to which you want to output.

Exceções

O valor input ou results é null.The input or results value is null.

Ocorreu um erro ao executar a transformação XSLT.There was an error executing the XSLT transform.

Comentários

Se a folha de estilos incluir uma função document() XSLT, ela será resolvida usando um XmlUrlResolver sem credenciais de usuário.If the style sheet includes an XSLT document() function, it is resolved using an XmlUrlResolver with no user credentials. Se o recurso externo estiver localizado em um recurso de rede que requer autenticação, use a sobrecarga que usa um XmlResolver como um de seus argumentos e especifique um XmlResolver com as credenciais necessárias.If the external resource is located on a network resource that requires authentication, use the overload that takes an XmlResolver as one of its arguments and specify an XmlResolver with the necessary credentials.

Veja também

Transform(String, String)

Executa a transformação usando o documento de entrada especificado pelo URI e gera o resultado para um arquivo.Executes the transform using the input document specified by the URI and outputs the results to a file.

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.The URI of the input document.

resultsFile
String

O URI do arquivo de saída.The URI of the output file.

Exceções

O valor inputUri ou resultsFile é null.The inputUri or resultsFile value is null.

Ocorreu um erro ao executar a transformação XSLT.There was an error executing the XSLT transform.

O documento de entrada não foi encontrado.The input document cannot be found.

O valor inputUri e resultsFile inclui um nome de arquivo ou o diretório não foi encontrado.The inputUri or resultsFile value includes a filename or directory cannot be found.

Não foi possível resolver o valor inputUri ou resultsFile.The inputUri or resultsFile value cannot be resolved.

- ou --or- Ocorreu um erro ao processar a solicitaçãoAn error occurred while processing the request

inputUri ou resultsFile não é um URI válido.inputUri or resultsFile is not a valid URI.

Ocorreu um erro de análise ao carregar o documento de entrada.There was a parsing error loading the input document.

Exemplos

O exemplo a seguir executa uma transformação e saídas para um arquivo.The following example executes a transform and outputs to a file.

// 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 usa os dois arquivos de entrada a seguir:The sample uses the following two input files:

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

Esse método usa um XmlUrlResolver padrão sem credenciais de usuário para resolver os documentos de entrada e saída.This method uses a default XmlUrlResolver with no user credentials to resolve the input and output documents. Se qualquer um desses recursos estiver localizado em um recurso de rede que requer autenticação, use a sobrecarga que usa um XmlResolver como um de seus argumentos e especifique um XmlResolver com as credenciais necessárias.If any of these resources are located on a network resource that requires authentication, use the overload that takes an XmlResolver as one of its arguments and specify an XmlResolver with the necessary credentials.

Um XmlReader com configurações padrão é usado para carregar o documento de entrada.An XmlReader with default settings is used to load the input document. O processamento de DTD está desabilitado no XmlReader.DTD processing is disabled on the XmlReader. Se você precisar de processamento de DTD, crie um XmlReader com esse recurso habilitado e passe-o para o método Transform.If you require DTD processing, create an XmlReader with this feature enabled, and pass it to the Transform method.

Veja também

Transform(String, XsltArgumentList, TextWriter)

Executa a transformação usando o documento de entrada especificado pelo URI e gera o resultado em um TextWriter.Executes the transform using the input document specified by the URI and outputs the results to a 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.The URI of the input document.

arguments
XsltArgumentList

Um XsltArgumentList que contém os argumentos qualificados por namespace usados como a entrada para a transformação.An XsltArgumentList containing the namespace-qualified arguments used as input to the transform. Este valor pode ser null.This value can be null.

results
TextWriter

O TextWriter para o qual deseja gerar.The TextWriter to which you want to output.

Exceções

O valor inputUri ou results é null.The inputUri or results value is null.

Ocorreu um erro ao executar a transformação XSLT.There was an error executing the XSLT transform.

O valor inputUri inclui um nome de arquivo ou não foi possível encontrar o diretório.The inputUri value includes a filename or directory cannot be found.

Não é possível resolver um valor inputUri.The inputUri value cannot be resolved.

- ou --or- Ocorreu um erro ao processar a solicitaçãoAn error occurred while processing the request

inputUri não é um URI válido.inputUri is not a valid URI.

Ocorreu um erro de análise ao carregar o documento de entrada.There was a parsing error loading the input document.

Exemplos

O exemplo a seguir executa uma transformação XSLT e gera uma cadeia de caracteres.The following example executes an XSLT transformation and outputs a string.

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

Comentários

Esse método usa um XmlUrlResolver padrão sem credenciais de usuário para resolver o documento de entrada e todas as instâncias da função de document() XSLT encontrada na folha de estilos.This method uses a default XmlUrlResolver with no user credentials to resolve the input document and any instances of the XSLT document() function found in the style sheet. Se qualquer um desses recursos estiver localizado em um recurso de rede que requer autenticação, use a sobrecarga que usa um XmlResolver como um de seus argumentos e especifique um XmlResolver com as credenciais necessárias.If any of these resources are located on a network resource that requires authentication, use the overload that takes an XmlResolver as one of its arguments and specify an XmlResolver with the necessary credentials.

Um XmlReader com configurações padrão é usado para carregar o documento de entrada.An XmlReader with default settings is used to load the input document. O processamento de DTD está desabilitado no XmlReader.DTD processing is disabled on the XmlReader. Se você precisar de processamento de DTD, crie um XmlReader com esse recurso habilitado e passe-o para o método Transform.If you require DTD processing, create an XmlReader with this feature enabled, and pass it to the Transform method.

Veja também

Transform(String, XsltArgumentList, Stream)

Executa a transformação usando o documento de entrada especificado pelo URI e gera o resultado em um fluxo.Executes the transform using the input document specified by the URI and outputs the results to stream. O XsltArgumentList fornece argumentos de tempo de execução adicionais.The XsltArgumentList provides additional run-time arguments.

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.The URI of the input document.

arguments
XsltArgumentList

Um XsltArgumentList que contém os argumentos qualificados por namespace usados como a entrada para a transformação.An XsltArgumentList containing the namespace-qualified arguments used as input to the transform. Este valor pode ser null.This value can be null.

results
Stream

O fluxo no qual você deseja gerar saída.The stream to which you want to output.

Exceções

O valor inputUri ou results é null.The inputUri or results value is null.

Ocorreu um erro ao executar a transformação XSLT.There was an error executing the XSLT transform.

O valor inputUri inclui um nome de arquivo ou não foi possível encontrar o diretório.The inputUri value includes a filename or directory cannot be found.

Não é possível resolver um valor inputUri.The inputUri value cannot be resolved.

- ou --or- Ocorreu um erro ao processar a solicitaçãoAn error occurred while processing the request

inputUri não é um URI válido.inputUri is not a valid URI.

Ocorreu um erro de análise ao carregar o documento de entrada.There was a parsing error loading the input document.

Comentários

Esse método usa um XmlUrlResolver padrão sem credenciais de usuário para resolver o documento de entrada e todas as instâncias da função de document() XSLT encontrada na folha de estilos.This method uses a default XmlUrlResolver with no user credentials to resolve the input document and any instances of the XSLT document() function found in the style sheet. Se qualquer um desses recursos estiver localizado em um recurso de rede que requer autenticação, use a sobrecarga que usa um XmlResolver como um de seus argumentos e especifique um XmlResolver com as credenciais necessárias.If any of these resources are located on a network resource that requires authentication, use the overload that takes an XmlResolver as one of its arguments and specify an XmlResolver with the necessary credentials.

Um XmlReader com configurações padrão é usado para carregar o documento de entrada.An XmlReader with default settings is used to load the input document. O processamento de DTD está desabilitado no XmlReader.DTD processing is disabled on the XmlReader. Se você precisar de processamento de DTD, crie um XmlReader com esse recurso habilitado e passe-o para o método Transform.If you require DTD processing, create an XmlReader with this feature enabled, and pass it to the Transform method.

Veja também

Transform(IXPathNavigable, XmlWriter)

Executa a transformação usando o documento de entrada especificado pelo objeto IXPathNavigable e gera os resultados em um XmlWriter.Executes the transform using the input document specified by the IXPathNavigable object and outputs the results to an 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 implementando a interface IXPathNavigable.An object implementing the IXPathNavigable interface. No Microsoft .NET Framework, isso pode ser um XmlNode (normalmente um XmlDocument) ou um XPathDocument que contém os dados a serem transformados.In the Microsoft .NET Framework, this can be either an XmlNode (typically an XmlDocument), or an XPathDocument containing the data to be transformed.

results
XmlWriter

O XmlWriter para o qual deseja gerar.The XmlWriter to which you want to output.

Se a folha de estilos contiver um elemento xsl:output, você deverá criar o XmlWriter usando objeto XmlWriterSettings retornado da propriedade OutputSettings.If the style sheet contains an xsl:output element, you should create the XmlWriter using the XmlWriterSettings object returned from the OutputSettings property. Isso garante que o objeto XmlWriter tenha as configurações de saída corretas.This ensures that the XmlWriter has the correct output settings.

Exceções

O valor input ou results é null.The input or results value is null.

Ocorreu um erro ao executar a transformação XSLT.There was an error executing the XSLT transform.

Exemplos

O exemplo a seguir executa uma transformação XSLT e saídas para um objeto XmlWriter.The following example executes an XSLT transformation and outputs to an XmlWriter object.

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

Comentários

Se a função document() XSLT estiver habilitada, ela será resolvida usando um XmlUrlResolver sem credenciais de usuário.If the XSLT document() function is enabled, it is resolved using an XmlUrlResolver with no user credentials. Se o recurso externo estiver localizado em um recurso de rede que requer autenticação, use a sobrecarga que usa um XmlResolver como um de seus argumentos e especifique um XmlResolver com as credenciais necessárias.If the external resource is located on a network resource that requires authentication, use the overload that takes an XmlResolver as one of its arguments and specify an XmlResolver with the necessary credentials.

Este método não oferece suporte ao elemento xsl:strip-space.This method does not support the xsl:strip-space element. Se a folha de estilos compilada incluir o elemento xsl:strip-space, você deverá usar a sobrecarga Transform que usa um XmlReader como o argumento de entrada.If your compiled style sheet included the xsl:strip-space element, you must use the Transform overload which takes an XmlReader as the input argument.

A interface de IXPathNavigable é implementada nas classes de XmlNode e de XPathDocument .The IXPathNavigable interface is implemented in the XmlNode and XPathDocument classes. Essas classes representam um cache de memória de dados XML.These classes represent an in-memory cache of XML data.

  • A classe de XmlNode é baseado no W3C Document Object Model (DOM) e inclui recursos de edição.The XmlNode class is based on the W3C Document Object Model (DOM) and includes editing capabilities.

  • A classe de XPathDocument é um repositório de dados somente leitura com base no modelo de dados XPath.The XPathDocument class is a read-only data store based on the XPath data model. XPathDocument é a classe recomendada para processar XSLT.XPathDocument is the recommended class for XSLT processing. Fornece um desempenho mais rápido quando comparada a XmlNode a classe.It provides faster performance when compared to the XmlNode class.

As transformações são aplicadas ao documento no dataset.Transformations apply to the document as a whole. 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.In other words, if you pass in a node other than the document root node, this does not prevent the transformation process from accessing all nodes in the loaded document. Para transformar um fragmento de nó, você deve criar um objeto que contém apenas o fragmento de nó, e passa esse objeto para o método de Transform .To transform a node fragment, you must create an object containing just the node fragment, and pass that object to the Transform method. Para saber mais, confira Como transformar um fragmento de nó.For more information, see How to: Transform a Node Fragment.

Veja também

Transform(XmlReader, XmlWriter)

Executa a transformação usando o documento de entrada especificado pelo objeto XmlReader e gera os resultados em um XmlWriter.Executes the transform using the input document specified by the XmlReader object and outputs the results to an 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.The XmlReader containing the input document.

results
XmlWriter

O XmlWriter para o qual deseja gerar.The XmlWriter to which you want to output.

Se a folha de estilos contiver um elemento xsl:output, você deverá criar o XmlWriter usando objeto XmlWriterSettings retornado da propriedade OutputSettings.If the style sheet contains an xsl:output element, you should create the XmlWriter using the XmlWriterSettings object returned from the OutputSettings property. Isso garante que o objeto XmlWriter tenha as configurações de saída corretas.This ensures that the XmlWriter has the correct output settings.

Exceções

O valor input ou results é null.The input or results value is null.

Ocorreu um erro ao executar a transformação XSLT.There was an error executing the XSLT transform.

Exemplos

O exemplo a seguir transforma o primeiro livro no arquivo books. xml.The following example transforms the first book in the books.xml file.

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

Comentários

Se a função document() XSLT estiver habilitada, ela será resolvida usando um XmlUrlResolver sem credenciais de usuário.If the XSLT document() function is enabled, it is resolved using an XmlUrlResolver with no user credentials. Se o recurso externo estiver localizado em um recurso de rede que requer autenticação, use a sobrecarga que usa um XmlResolver como um de seus argumentos e especifique um XmlResolver com as credenciais necessárias.If the external resource is located on a network resource that requires authentication, use the overload that takes an XmlResolver as one of its arguments and specify an XmlResolver with the necessary credentials.

Veja também

Transform(String, XmlWriter)

Executa a transformação usando o documento de entrada especificado pelo URI e gera o resultado para um XmlWriter.Executes the transform using the input document specified by the URI and outputs the results to an 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.The URI of the input document.

results
XmlWriter

O XmlWriter para o qual deseja gerar.The XmlWriter to which you want to output.

Se a folha de estilos contiver um elemento xsl:output, você deverá criar o XmlWriter usando objeto XmlWriterSettings retornado da propriedade OutputSettings.If the style sheet contains an xsl:output element, you should create the XmlWriter using the XmlWriterSettings object returned from the OutputSettings property. Isso garante que o objeto XmlWriter tenha as configurações de saída corretas.This ensures that the XmlWriter has the correct output settings.

Exceções

O valor inputUri ou results é null.The inputUri or results value is null.

Ocorreu um erro ao executar a transformação XSLT.There was an error executing the XSLT transform.

O valor inputUri inclui um nome de arquivo ou não foi possível encontrar o diretório.The inputUri value includes a filename or directory cannot be found.

Não é possível resolver um valor inputUri.The inputUri value cannot be resolved.

- ou --or- Ocorreu um erro ao processar a solicitação.An error occurred while processing the request.

inputUri não é um URI válido.inputUri is not a valid URI.

Ocorreu um erro de análise ao carregar o documento de entrada.There was a parsing error loading the input document.

Exemplos

O exemplo a seguir executa uma transformação XSLT e saídas para um objeto XmlWriter.The following example executes an XSLT transformation and outputs to an XmlWriter object.

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

Comentários

Esse método usa um XmlUrlResolver padrão sem credenciais de usuário para resolver o documento de entrada e todas as instâncias da função de document() XSLT encontrada na folha de estilos.This method uses a default XmlUrlResolver with no user credentials to resolve the input document and any instances of the XSLT document() function found in the style sheet. Se qualquer um desses recursos estiver localizado em um recurso de rede que requer autenticação, use a sobrecarga que usa um XmlResolver como um de seus argumentos e especifique um XmlResolver com as credenciais necessárias.If any of these resources are located on a network resource that requires authentication, use the overload that takes an XmlResolver as one of its arguments and specify an XmlResolver with the necessary credentials.

Um XmlReader com configurações padrão é usado para carregar o documento de entrada.An XmlReader with default settings is used to load the input document. O processamento de DTD está desabilitado no XmlReader.DTD processing is disabled on the XmlReader. Se você precisar de processamento de DTD, crie um XmlReader com esse recurso habilitado e passe-o para o método Transform.If you require DTD processing, create an XmlReader with this feature enabled, and pass it to the Transform method.

Este método não oferece suporte ao elemento xsl:strip-space.This method does not support the xsl:strip-space element. Se a folha de estilos compilada incluir o elemento xsl:strip-space, você deverá usar a sobrecarga Transform que usa um XmlReader como o argumento de entrada.If your compiled style sheet included the xsl:strip-space element, you must use the Transform overload which takes an XmlReader as the input argument.

Veja também

Transform(XmlReader, XsltArgumentList, XmlWriter, XmlResolver)

Executa a transformação usando o documento de entrada especificado pelo objeto XmlReader e gera os resultados em um XmlWriter.Executes the transform using the input document specified by the XmlReader object and outputs the results to an XmlWriter. O XsltArgumentList fornece argumentos de tempo de execução adicionais e o XmlResolver resolve a função XSLT document().The XsltArgumentList provides additional run-time arguments and the XmlResolver resolves the XSLT document() function.

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

O XmlReader que contém o documento de entrada.An XmlReader containing the input document.

arguments
XsltArgumentList

Um XsltArgumentList que contém os argumentos qualificados por namespace usados como a entrada para a transformação.An XsltArgumentList containing the namespace-qualified arguments used as input to the transform. Este valor pode ser null.This value can be null.

results
XmlWriter

O XmlWriter para o qual deseja gerar.The XmlWriter to which you want to output.

Se a folha de estilos contiver um elemento xsl:output, você deverá criar o XmlWriter usando objeto XmlWriterSettings retornado da propriedade OutputSettings.If the style sheet contains an xsl:output element, you should create the XmlWriter using the XmlWriterSettings object returned from the OutputSettings property. Isso garante que o objeto XmlWriter tenha as configurações de saída corretas.This ensures that the XmlWriter has the correct output settings.

documentResolver
XmlResolver

O XmlResolver usado para resolver a função XSLT document().The XmlResolver used to resolve the XSLT document() function. Se isso for null, a função document() não será resolvida.If this is null, the document() function is not resolved.

Exceções

O valor input ou results é null.The input or results value is null.

Ocorreu um erro ao executar a transformação XSLT.There was an error executing the XSLT transform.

Exemplos

O exemplo a seguir usa um XmlSecureResolver para resolver a função document() XSLT.The following example uses an XmlSecureResolver to resolve the XSLT document() function.

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

Veja também

Transform(String, XsltArgumentList, XmlWriter)

Executa a transformação usando o documento de entrada especificado pelo URI e gera o resultado para um XmlWriter.Executes the transform using the input document specified by the URI and outputs the results to an XmlWriter. O XsltArgumentList fornece argumentos de tempo de execução adicionais.The XsltArgumentList provides additional run-time arguments.

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.The URI of the input document.

arguments
XsltArgumentList

Um XsltArgumentList que contém os argumentos qualificados por namespace usados como a entrada para a transformação.An XsltArgumentList containing the namespace-qualified arguments used as input to the transform. Este valor pode ser null.This value can be null.

results
XmlWriter

O XmlWriter para o qual deseja gerar.The XmlWriter to which you want to output.

Se a folha de estilos contiver um elemento xsl:output, você deverá criar o XmlWriter usando objeto XmlWriterSettings retornado da propriedade OutputSettings.If the style sheet contains an xsl:output element, you should create the XmlWriter using the XmlWriterSettings object returned from the OutputSettings property. Isso garante que o objeto XmlWriter tenha as configurações de saída corretas.This ensures that the XmlWriter has the correct output settings.

Exceções

O valor inputUri ou results é null.The inputUri or results value is null.

Ocorreu um erro ao executar a transformação XSLT.There was an error executing the XSLT transform.

O valor inputtUri inclui um nome de arquivo ou não foi possível encontrar o diretório.The inputtUri value includes a filename or directory cannot be found.

Não é possível resolver um valor inputUri.The inputUri value cannot be resolved.

- ou --or- Ocorreu um erro ao processar a solicitação.An error occurred while processing the request.

inputUri não é um URI válido.inputUri is not a valid URI.

Ocorreu um erro de análise ao carregar o documento de entrada.There was a parsing error loading the input document.

Exemplos

O exemplo a seguir usa um objeto XsltArgumentList para criar um parâmetro que representa a data e a hora atuais.The following example uses an XsltArgumentList object to create a parameter representing the current date and time.

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 usa os dois arquivos de dados a seguir como entrada.The example uses the following two data files as input.

order.xmlorder.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.xslorder.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>

Comentários

Esse método usa um XmlUrlResolver padrão sem credenciais de usuário para resolver o documento de entrada e todas as instâncias da função de document() XSLT encontrada na folha de estilos.This method uses a default XmlUrlResolver with no user credentials to resolve the input document and any instances of the XSLT document() function found in the style sheet. Se qualquer um desses recursos estiver localizado em um recurso de rede que requer autenticação, use a sobrecarga que usa um XmlResolver como um de seus argumentos e especifique um XmlResolver com as credenciais necessárias.If any of these resources are located on a network resource that requires authentication, use the overload that takes an XmlResolver as one of its arguments and specify an XmlResolver with the necessary credentials.

Um XmlReader com configurações padrão é usado para carregar o documento de entrada.An XmlReader with default settings is used to load the input document. O processamento de DTD está desabilitado no XmlReader.DTD processing is disabled on the XmlReader. Se você precisar de processamento de DTD, crie um XmlReader com esse recurso habilitado e passe-o para o método Transform.If you require DTD processing, create an XmlReader with this feature enabled, and pass it to the Transform method.

Veja também

Transform(IXPathNavigable, XsltArgumentList, XmlWriter, XmlResolver)

Executa a transformação usando o documento de entrada especificado pelo objeto IXPathNavigable e gera os resultados em um XmlWriter.Executes the transform by using the input document that is specified by the IXPathNavigable object and outputs the results to an XmlWriter. O XsltArgumentList fornece argumentos de tempo de execução adicionais e o XmlResolver resolve a função XSLT document().The XsltArgumentList provides additional run-time arguments and the XmlResolver resolves the XSLT document() function.

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 ser transformado, que é especificado pelo objeto IXPathNavigable.The document to transform that is specified by the IXPathNavigable object.

arguments
XsltArgumentList

Uma lista de argumentos como XsltArgumentList.Argument list as XsltArgumentList.

results
XmlWriter

O XmlWriter para o qual deseja gerar.The XmlWriter to which you want to output.

Se a folha de estilos contiver um elemento xsl:output, você deverá criar o XmlWriter usando objeto XmlWriterSettings retornado da propriedade OutputSettings.If the style sheet contains an xsl:output element, you should create the XmlWriter by using the XmlWriterSettings object that is returned from the OutputSettings property. Isso garante que o objeto XmlWriter tenha as configurações de saída corretas.This ensures that the XmlWriter has the correct output settings.

documentResolver
XmlResolver

O XmlResolver usado para resolver a função XSLT document().The XmlResolver used to resolve the XSLT document() function. Se isso for null, a função document() não será resolvida.If this is null, the document() function is not resolved.

Aplica-se a