Partilhar via


XslCompiledTransform.Transform Método

Definição

Executa a transformação XSLT.

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. O XsltArgumentList fornece argumentos de tempo de execução adicionais.

Transform(IXPathNavigable, XsltArgumentList, XmlWriter)

Executa a transformação usando o documento de entrada especificado pelo objeto IXPathNavigable e transmite o resultado para um XmlWriter. O XsltArgumentList fornece argumentos de tempo de execução adicionais.

Transform(IXPathNavigable, XsltArgumentList, TextWriter)

Executa a transformação usando o documento de entrada especificado pelo objeto IXPathNavigable e transmite o resultado para um TextWriter. O XsltArgumentList fornece argumentos de tempo de execução adicionais.

Transform(IXPathNavigable, XsltArgumentList, Stream)

Executa a transformação usando o documento de entrada especificado pelo objeto IXPathNavigable e gera os resultados em um fluxo. A XsltArgumentList fornece argumentos adicionais de runtime.

Transform(XmlReader, XsltArgumentList, XmlWriter)

Executa a transformação usando o documento de entrada especificado pelo objeto XmlReader e transmite o resultado para um XmlWriter. O XsltArgumentList fornece argumentos de tempo de execução adicionais.

Transform(XmlReader, XsltArgumentList, Stream)

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

Transform(String, String)

Executa a transformação usando o documento de entrada especificado pelo URI e gera o resultado para um arquivo.

Transform(String, XsltArgumentList, TextWriter)

Executa a transformação usando o documento de entrada especificado pelo URI e gera o resultado em um TextWriter.

Transform(String, XsltArgumentList, Stream)

Executa a transformação usando o documento de entrada especificado pelo URI e gera o resultado em um fluxo. O XsltArgumentList fornece argumentos de tempo de execução adicionais.

Transform(IXPathNavigable, XmlWriter)

Executa a transformação usando o documento de entrada especificado pelo objeto IXPathNavigable e transmite o resultado para um XmlWriter.

Transform(XmlReader, XmlWriter)

Executa a transformação usando o documento de entrada especificado pelo objeto XmlReader e transmite o resultado para um XmlWriter.

Transform(String, XmlWriter)

Executa a transformação usando o documento de entrada especificado pelo URI e gera o resultado para um XmlWriter.

Transform(XmlReader, XsltArgumentList, XmlWriter, XmlResolver)

Executa a transformação usando o documento de entrada especificado pelo objeto XmlReader e transmite o resultado para um XmlWriter. O XsltArgumentList fornece argumentos de tempo de execução adicionais 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 gera o resultado para um XmlWriter. O XsltArgumentList fornece argumentos de tempo de execução adicionais.

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. O XsltArgumentList fornece argumentos de tempo de execução adicionais e o XmlResolver resolve a função XSLT document().

Comentários

Observação

Existem diferenças entre XSLT compilou no modo de depuração e em XSLT compilados no modo de versão. 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. A mesma folha de estilo embutido no modo de lançamento falhará durante 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.

Transform(XmlReader, XsltArgumentList, TextWriter)

Origem:
XslCompiledTransform.cs
Origem:
XslCompiledTransform.cs
Origem:
XslCompiledTransform.cs

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

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

Parâmetros

input
XmlReader

O XmlReader que contém o documento de entrada.

arguments
XsltArgumentList

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

results
TextWriter

O TextWriter para o qual deseja gerar.

Exceções

O valor input ou results é null.

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

Comentários

Se a folha de estilos incluir uma função XSLT document() , ela será resolvida usando um XmlUrlResolver sem credenciais de usuário. 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.

Confira também

Aplica-se a

Transform(IXPathNavigable, XsltArgumentList, XmlWriter)

Origem:
XslCompiledTransform.cs
Origem:
XslCompiledTransform.cs
Origem:
XslCompiledTransform.cs

Executa a transformação usando o documento de entrada especificado pelo objeto IXPathNavigable e transmite o resultado para um XmlWriter. O XsltArgumentList fornece argumentos de tempo de execução adicionais.

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

Parâmetros

input
IXPathNavigable

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

arguments
XsltArgumentList

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

results
XmlWriter

O XmlWriter para o qual deseja gerar.

Se a folha de estilos contiver um elemento xsl:output, você deverá criar o XmlWriter usando objeto XmlWriterSettings retornado da propriedade OutputSettings. Isso garante que o objeto XmlWriter tenha as configurações de saída corretas.

Exceções

O valor input ou results é null.

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

Comentários

Se a função XSLT document() estiver habilitada, ela será resolvida usando um XmlUrlResolver sem credenciais de usuário. 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.

Esse método não dá suporte ao xsl:strip-space elemento . Se a folha de estilos compilada incluiu o xsl:strip-space elemento , você deve usar a Transform sobrecarga que usa um XmlReader como o argumento de entrada.

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

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

  • A classe de XPathDocument é um repositório de dados somente leitura com base no modelo de dados XPath. XPathDocument é a classe recomendada para processar XSLT. Fornece um desempenho mais rápido quando comparada a XmlNode a classe.

As transformações são aplicadas ao documento no dataset. Ou seja se você passar em um nó que não seja o nó de diretório base, isso não impede que o processo de transformação acessar todos os nós do documento carregado. Para transformar um fragmento de nó, você deve criar um objeto que contém apenas o fragmento de nó, e passa esse objeto para o método de Transform . Para saber mais, confira Como transformar um fragmento de nó.

Confira também

Aplica-se a

Transform(IXPathNavigable, XsltArgumentList, TextWriter)

Origem:
XslCompiledTransform.cs
Origem:
XslCompiledTransform.cs
Origem:
XslCompiledTransform.cs

Executa a transformação usando o documento de entrada especificado pelo objeto IXPathNavigable e transmite o resultado para um TextWriter. O XsltArgumentList fornece argumentos de tempo de execução adicionais.

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

Parâmetros

input
IXPathNavigable

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

arguments
XsltArgumentList

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

results
TextWriter

O TextWriter para o qual deseja gerar.

Exceções

O valor input ou results é null.

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

Comentários

Se a função XSLT document() estiver habilitada, ela será resolvida usando um XmlUrlResolver sem credenciais de usuário. 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.

Esse método não dá suporte ao xsl:strip-space elemento . Se a folha de estilos compilada incluiu o xsl:strip-space elemento , você deve usar a Transform sobrecarga que usa um XmlReader como o argumento de entrada.

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

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

  • A classe de XPathDocument é um repositório de dados somente leitura com base no modelo de dados XPath. XPathDocument é a classe recomendada para processar XSLT. Fornece um desempenho mais rápido quando comparada a XmlNode a classe.

As transformações são aplicadas ao documento no dataset. Ou seja se você passar em um nó que não seja o nó de diretório base, isso não impede que o processo de transformação acessar todos os nós do documento carregado. Para transformar um fragmento de nó, você deve criar um objeto que contém apenas o fragmento de nó, e passa esse objeto para o método de Transform . Para saber mais, confira Como transformar um fragmento de nó.

Confira também

Aplica-se a

Transform(IXPathNavigable, XsltArgumentList, Stream)

Origem:
XslCompiledTransform.cs
Origem:
XslCompiledTransform.cs
Origem:
XslCompiledTransform.cs

Executa a transformação usando o documento de entrada especificado pelo objeto IXPathNavigable e gera os resultados em um fluxo. A XsltArgumentList fornece argumentos adicionais de runtime.

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

Parâmetros

input
IXPathNavigable

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

arguments
XsltArgumentList

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

results
Stream

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

Exceções

O valor input ou results é null.

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

Exemplos

O exemplo a seguir executa uma transformação XSLT e gera saídas para 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

Comentários

Se a função XSLT document() estiver habilitada, ela será resolvida usando um XmlUrlResolver sem credenciais de usuário. 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.

Esse método não dá suporte ao xsl:strip-space elemento . Se a folha de estilos compilada incluiu o xsl:strip-space elemento , você deve usar a Transform sobrecarga que usa um XmlReader como o argumento de entrada.

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

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

  • A classe de XPathDocument é um repositório de dados somente leitura com base no modelo de dados XPath. XPathDocument é a classe recomendada para processar XSLT. Fornece um desempenho mais rápido quando comparada a XmlNode a classe.

As transformações são aplicadas ao documento no dataset. Ou seja se você passar em um nó que não seja o nó de diretório base, isso não impede que o processo de transformação acessar todos os nós do documento carregado. Para transformar um fragmento de nó, você deve criar um objeto que contém apenas o fragmento de nó, e passa esse objeto para o método de Transform . Para saber mais, confira Como transformar um fragmento de nó.

Confira também

Aplica-se a

Transform(XmlReader, XsltArgumentList, XmlWriter)

Origem:
XslCompiledTransform.cs
Origem:
XslCompiledTransform.cs
Origem:
XslCompiledTransform.cs

Executa a transformação usando o documento de entrada especificado pelo objeto XmlReader e transmite o resultado para um XmlWriter. O XsltArgumentList fornece argumentos de tempo de execução adicionais.

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

Parâmetros

input
XmlReader

O XmlReader que contém o documento de entrada.

arguments
XsltArgumentList

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

results
XmlWriter

O XmlWriter para o qual deseja gerar.

Se a folha de estilos contiver um elemento xsl:output, você deverá criar o XmlWriter usando objeto XmlWriterSettings retornado da propriedade OutputSettings. Isso garante que o objeto XmlWriter tenha as configurações de saída corretas.

Exceções

O valor input ou results é null.

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

Comentários

Se a folha de estilos incluir uma função XSLT document() , ela será resolvida usando um XmlUrlResolver sem credenciais de usuário. 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.

Confira também

Aplica-se a

Transform(XmlReader, XsltArgumentList, Stream)

Origem:
XslCompiledTransform.cs
Origem:
XslCompiledTransform.cs
Origem:
XslCompiledTransform.cs

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

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

Parâmetros

input
XmlReader

O XmlReader que contém o documento de entrada.

arguments
XsltArgumentList

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

results
Stream

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

Exceções

O valor input ou results é null.

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

Comentários

Se a folha de estilos incluir uma função XSLT document() , ela será resolvida usando um XmlUrlResolver sem credenciais de usuário. 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.

Confira também

Aplica-se a

Transform(String, String)

Origem:
XslCompiledTransform.cs
Origem:
XslCompiledTransform.cs
Origem:
XslCompiledTransform.cs

Executa a transformação usando o documento de entrada especificado pelo URI e gera o resultado para um arquivo.

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 arquivo de saída.

Exceções

O valor inputUri ou resultsFile é null.

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

O documento de entrada não foi encontrado.

O valor inputUri e resultsFile inclui um nome de arquivo ou o diretório não foi encontrado.

Não foi possível resolver o valor inputUri ou resultsFile.

- ou -

Ocorreu um erro ao processar a solicitação.

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

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

Exemplos

O exemplo a seguir executa uma transformação e gera saídas para um arquivo.

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

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 padrão XmlUrlResolver sem credenciais de usuário para resolver os documentos de entrada e saída. Se qualquer um desses recursos estiver localizado em um recurso de rede que exija autenticação, use a sobrecarga que usa um XmlResolver como um de seus argumentos e especifique um XmlResolver com as credenciais necessárias.

Um XmlReader com configurações padrão é usado para carregar o documento de entrada. O processamento de DTD está desabilitado no XmlReader. Se você precisar de processamento de DTD, crie um XmlReader com esse recurso habilitado e passe-o para o Transform método .

Confira também

Aplica-se a

Transform(String, XsltArgumentList, TextWriter)

Origem:
XslCompiledTransform.cs
Origem:
XslCompiledTransform.cs
Origem:
XslCompiledTransform.cs

Executa a transformação usando o documento de entrada especificado pelo URI e gera o resultado em 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);
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

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

results
TextWriter

O TextWriter para o qual deseja gerar.

Exceções

O valor inputUri ou results é null.

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

O valor inputUri inclui um nome de arquivo ou não foi possível encontrar o diretório.

Não é possível resolver um valor inputUri.

- ou -

Ocorreu um erro ao processar a solicitação.

inputUri não é um URI válido.

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

Exemplos

O exemplo a seguir executa uma transformação XSLT e gera uma cadeia de caracteres.

// 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 padrão XmlUrlResolver sem credenciais de usuário para resolver o documento de entrada e quaisquer instâncias da função XSLT document() encontradas na folha de estilos. Se qualquer um desses recursos estiver localizado em um recurso de rede que exija autenticação, use a sobrecarga que usa um XmlResolver como um de seus argumentos e especifique um XmlResolver com as credenciais necessárias.

Um XmlReader com configurações padrão é usado para carregar o documento de entrada. O processamento de DTD está desabilitado no XmlReader. Se você precisar de processamento de DTD, crie um XmlReader com esse recurso habilitado e passe-o para o Transform método .

Confira também

Aplica-se a

Transform(String, XsltArgumentList, Stream)

Origem:
XslCompiledTransform.cs
Origem:
XslCompiledTransform.cs
Origem:
XslCompiledTransform.cs

Executa a transformação usando o documento de entrada especificado pelo URI e gera o resultado em um fluxo. O XsltArgumentList fornece argumentos de tempo de execução adicionais.

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

Parâmetros

inputUri
String

O URI do documento de entrada.

arguments
XsltArgumentList

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

results
Stream

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

Exceções

O valor inputUri ou results é null.

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

O valor inputUri inclui um nome de arquivo ou não foi possível encontrar o diretório.

Não é possível resolver um valor inputUri.

- ou -

Ocorreu um erro ao processar a solicitação.

inputUri não é um URI válido.

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

Comentários

Esse método usa um padrão XmlUrlResolver sem credenciais de usuário para resolver o documento de entrada e quaisquer instâncias da função XSLT document() encontradas na folha de estilos. Se algum desses recursos estiver localizado em um recurso de rede que exija autenticação, use a sobrecarga que usa um XmlResolver como um de seus argumentos e especifique um XmlResolver com as credenciais necessárias.

Um XmlReader com configurações padrão é usado para carregar o documento de entrada. O processamento de DTD está desabilitado no XmlReader. Se você precisar de processamento de DTD, crie um XmlReader com esse recurso habilitado e passe-o para o Transform método .

Confira também

Aplica-se a

Transform(IXPathNavigable, XmlWriter)

Origem:
XslCompiledTransform.cs
Origem:
XslCompiledTransform.cs
Origem:
XslCompiledTransform.cs

Executa a transformação usando o documento de entrada especificado pelo objeto IXPathNavigable e transmite o resultado 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 interface IXPathNavigable. No Microsoft .NET Framework, isso pode ser um XmlNode (normalmente um XmlDocument) ou um XPathDocument que contém os dados a serem transformados.

results
XmlWriter

O XmlWriter para o qual deseja gerar.

Se a folha de estilos contiver um elemento xsl:output, você deverá criar o XmlWriter usando objeto XmlWriterSettings retornado da propriedade OutputSettings. Isso garante que o objeto XmlWriter tenha as configurações de saída corretas.

Exceções

O valor input ou results é null.

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

Exemplos

O exemplo a seguir executa uma transformação XSLT e gera saídas 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()

Comentários

Se a função XSLT document() estiver habilitada, ela será resolvida usando uma XmlUrlResolver sem credenciais de usuário. 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.

Esse método não dá suporte ao xsl:strip-space elemento . Se a folha de estilos compilada incluiu o xsl:strip-space elemento , você deve usar a Transform sobrecarga que usa um XmlReader como o argumento de entrada.

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

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

  • A classe de XPathDocument é um repositório de dados somente leitura com base no modelo de dados XPath. XPathDocument é a classe recomendada para processar XSLT. Fornece um desempenho mais rápido quando comparada a XmlNode a classe.

As transformações são aplicadas ao documento no dataset. Ou seja se você passar em um nó que não seja o nó de diretório base, isso não impede que o processo de transformação acessar todos os nós do documento carregado. Para transformar um fragmento de nó, você deve criar um objeto que contém apenas o fragmento de nó, e passa esse objeto para o método de Transform . Para saber mais, confira Como transformar um fragmento de nó.

Confira também

Aplica-se a

Transform(XmlReader, XmlWriter)

Origem:
XslCompiledTransform.cs
Origem:
XslCompiledTransform.cs
Origem:
XslCompiledTransform.cs

Executa a transformação usando o documento de entrada especificado pelo objeto XmlReader e transmite o resultado 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

O XmlWriter para o qual deseja gerar.

Se a folha de estilos contiver um elemento xsl:output, você deverá criar o XmlWriter usando objeto XmlWriterSettings retornado da propriedade OutputSettings. Isso garante que o objeto XmlWriter tenha as configurações de saída corretas.

Exceções

O valor input ou results é null.

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

Exemplos

O exemplo a seguir transforma o primeiro livro no arquivo 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()

Comentários

Se a função XSLT document() estiver habilitada, ela será resolvida usando uma XmlUrlResolver sem credenciais de usuário. 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.

Confira também

Aplica-se a

Transform(String, XmlWriter)

Origem:
XslCompiledTransform.cs
Origem:
XslCompiledTransform.cs
Origem:
XslCompiledTransform.cs

Executa a transformação usando o documento de entrada especificado pelo URI e gera o resultado 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

O XmlWriter para o qual deseja gerar.

Se a folha de estilos contiver um elemento xsl:output, você deverá criar o XmlWriter usando objeto XmlWriterSettings retornado da propriedade OutputSettings. Isso garante que o objeto XmlWriter tenha as configurações de saída corretas.

Exceções

O valor inputUri ou results é null.

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

O valor inputUri inclui um nome de arquivo ou não foi possível encontrar o diretório.

Não é possível resolver um valor inputUri.

- ou -

Ocorreu um erro ao processar a solicitação.

inputUri não é um URI válido.

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

Exemplos

O exemplo a seguir executa uma transformação XSLT e gera saídas 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()

Comentários

Esse método usa um padrão XmlUrlResolver sem credenciais de usuário para resolver o documento de entrada e quaisquer instâncias da função XSLT document() encontradas na folha de estilos. Se algum desses recursos estiver localizado em um recurso de rede que exija autenticação, use a sobrecarga que usa um XmlResolver como um de seus argumentos e especifique um XmlResolver com as credenciais necessárias.

Um XmlReader com configurações padrão é usado para carregar o documento de entrada. O processamento de DTD está desabilitado no XmlReader. Se você precisar de processamento de DTD, crie um XmlReader com esse recurso habilitado e passe-o para o Transform método .

Esse método não dá suporte ao xsl:strip-space elemento . Se a folha de estilos compilada incluiu o xsl:strip-space elemento , você deve usar a Transform sobrecarga que usa um XmlReader como o argumento de entrada.

Confira também

Aplica-se a

Transform(XmlReader, XsltArgumentList, XmlWriter, XmlResolver)

Origem:
XslCompiledTransform.cs
Origem:
XslCompiledTransform.cs
Origem:
XslCompiledTransform.cs

Executa a transformação usando o documento de entrada especificado pelo objeto XmlReader e transmite o resultado para um XmlWriter. O XsltArgumentList fornece argumentos de tempo de execução adicionais 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);
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.

arguments
XsltArgumentList

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

results
XmlWriter

O XmlWriter para o qual deseja gerar.

Se a folha de estilos contiver um elemento xsl:output, você deverá criar o XmlWriter usando objeto XmlWriterSettings retornado da propriedade OutputSettings. Isso garante que o objeto XmlWriter tenha as configurações de saída corretas.

documentResolver
XmlResolver

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

Exceções

O valor input ou results é null.

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

Exemplos

O exemplo a seguir usa 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

Confira também

Aplica-se a

Transform(String, XsltArgumentList, XmlWriter)

Origem:
XslCompiledTransform.cs
Origem:
XslCompiledTransform.cs
Origem:
XslCompiledTransform.cs

Executa a transformação usando o documento de entrada especificado pelo URI e gera o resultado para um XmlWriter. O XsltArgumentList fornece argumentos de tempo de execução adicionais.

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

Parâmetros

inputUri
String

O URI do documento de entrada.

arguments
XsltArgumentList

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

results
XmlWriter

O XmlWriter para o qual deseja gerar.

Se a folha de estilos contiver um elemento xsl:output, você deverá criar o XmlWriter usando objeto XmlWriterSettings retornado da propriedade OutputSettings. Isso garante que o objeto XmlWriter tenha as configurações de saída corretas.

Exceções

O valor inputUri ou results é null.

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

O valor inputtUri inclui um nome de arquivo ou não foi possível encontrar o diretório.

Não é possível resolver um valor inputUri.

- ou -

Ocorreu um erro ao processar a solicitação.

inputUri não é um URI válido.

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

Exemplos

O exemplo a seguir usa um XsltArgumentList objeto para criar um parâmetro que representa a data e a 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 usa os dois arquivos de dados a seguir 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>

Comentários

Esse método usa um padrão XmlUrlResolver sem credenciais de usuário para resolver o documento de entrada e quaisquer instâncias da função XSLT document() encontradas na folha de estilos. Se algum desses recursos estiver localizado em um recurso de rede que exija autenticação, use a sobrecarga que usa um XmlResolver como um de seus argumentos e especifique um XmlResolver com as credenciais necessárias.

Um XmlReader com configurações padrão é usado para carregar o documento de entrada. O processamento de DTD está desabilitado no XmlReader. Se você precisar de processamento de DTD, crie um XmlReader com esse recurso habilitado e passe-o para o Transform método .

Confira também

Aplica-se a

Transform(IXPathNavigable, XsltArgumentList, XmlWriter, XmlResolver)

Origem:
XslCompiledTransform.cs
Origem:
XslCompiledTransform.cs
Origem:
XslCompiledTransform.cs

Executa a transformação usando o documento de entrada especificado pelo objeto IXPathNavigable e gera os resultados em um XmlWriter. O XsltArgumentList fornece argumentos de tempo de execução adicionais e o 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);
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.

arguments
XsltArgumentList

Uma lista de argumentos como XsltArgumentList.

results
XmlWriter

O XmlWriter para o qual deseja gerar.

Se a folha de estilos contiver um elemento xsl:output, você deverá criar o XmlWriter usando objeto XmlWriterSettings retornado da propriedade OutputSettings. Isso garante que o objeto XmlWriter tenha as configurações de saída corretas.

documentResolver
XmlResolver

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

Aplica-se a