Testador de XSLT

Teste XSLT online: aplique uma folha de estilo XSLT 1.0 ao seu XML e veja o resultado renderizado e o código-fonte. Tudo roda no seu navegador, então seus arquivos nunca são enviados.

O testador de XSLT roda inteiramente no seu navegador e precisa de JavaScript. O resto desta página funciona sem ele. Alternativas: xsltproc na linha de comando, ou a biblioteca lxml em Python.

Entrada

Cole ou solte seu XML e seu XSLT, ou carregue o exemplo. Os arquivos são lidos no seu navegador: nada é enviado. Pressione Ctrl+Enter para transformar.

Resultado

XSLT 1.0. Scripts na saída não rodam, e nada é carregado da web.

O resultado da transformação vai aparecer aqui.

Esta ferramenta ajudou você? Apoie o XMLNest

"Load example" preenche as abas XML e XSLT com um feed RSS e a folha de estilo dele. "Transform" mostra a página gerada na visualização "Rendered", e "Source" mostra o mesmo resultado como código HTML. (25 segundos, sem som, interface em inglês)

Como testar XSLT online?

Cole seu XML na aba XML e a folha de estilo na aba XSLT, ou solte um arquivo .xml ou .xsl sobre a ferramenta. Depois, clique em Transformar ou pressione Ctrl+Enter (⌘+Enter no Mac). Renderizado mostra a saída como página web, e Código-fonte, como texto com números de linha. Copie ou baixe em .html, .xml ou .txt. Carregar exemplo roda um caso real: um feed RSS transformado em página legível.

O que este testador suporta?

Ele roda XSLT 1.0 com a libxslt, o motor do XSLT no Chrome durante anos, compilado para WebAssembly pelo projeto de código aberto xslt-polyfill. Os métodos de saída html, xml e text funcionam, assim como keys, modes e xsl:number. XSLT 2.0 e 3.0 não são suportados: funções como upper-case() retornam erro. O texto de xsl:message aparece abaixo do resultado. Outros arquivos nunca são carregados, então xsl:include e xsl:import não funcionam.

O Chrome está removendo o XSLT: o que muda?

O Chrome deixa de aplicar XSLT em 17 de novembro de 2026, com o Chrome 158. Feeds RSS e sitemaps com estilo passam a mostrar XML bruto, e os scripts perdem a API XSLTProcessor. Este testador não usa o XSLT do navegador e continua funcionando. Nosso guia XSLT removido do Chrome explica as opções dos donos de sites. A extensão XMLNest volta a aplicar essas folhas de estilo no Chrome e pode restaurar o XSLTProcessor nos sites escolhidos.

Erros comuns em folhas de estilo e como corrigi-los

A maioria dos erros vem do XPath: um erro de digitação em um select, uma função do XSLT 2.0 ou um prefixo de namespace não declarado. O testador de XPath confere uma expressão isolada. A mensagem indica a linha da folha de estilo, e Ir para o erro a seleciona. Com a saída vazia, em geral os templates não alcançam os elementos: se o XML tem namespace padrão, declare um prefixo para ele na folha de estilo e use-o em todo caminho. Um XML mal formado é detectado antes, como no validador de XML.

Esta ferramenta envia meus arquivos?

Não. A transformação roda nesta aba, e as regras de segurança desta página bloqueiam a rede para a ferramenta e para a saída. Scripts da saída não rodam, e imagens de outros sites não carregam. Nada é salvo: feche a aba e seus arquivos somem. Para arrumar o XML antes, use o formatador de XML.

Dúvidas

Qual versão de XSLT este testador suporta?

XSLT 1.0 com XPath 1.0, pela libxslt. Uma folha de estilo marcada como versão 2.0 ainda roda se usar só recursos da 1.0, mas as funções que chegaram com o XSLT 2.0 retornam um erro.

Por que minha saída está vazia?

Normalmente porque nenhum template corresponde. Confira os caminhos em match e select. Elementos em um namespace padrão precisam de prefixo no XSLT 1.0: declare um na folha de estilo e use-o em todos os caminhos.

Posso passar parâmetros para a folha de estilo?

Ainda não. Cada xsl:param fica com o valor padrão. Mude o padrão na folha de estilo para testar outro valor.

xsl:include ou document() funcionam?

Não. A ferramenta nunca carrega outros arquivos, então coloque os templates incluídos na mesma folha de estilo. Uma chamada a document() não encontra nada, e uma nota abaixo do resultado avisa isso.

Por que os scripts não rodam na visualização Renderizado?

A saída aparece em um quadro isolado, onde scripts, formulários e arquivos externos são bloqueados. Isso protege você quando uma folha de estilo gera um código inesperado. A visualização Código-fonte sempre mostra a saída completa.

Qual motor faz a transformação?

A libxslt e a libxml2, compiladas para WebAssembly pelo projeto de código aberto xslt-polyfill, sob licença BSD. Elas rodam no seu navegador, não em um servidor, e não usam o XSLT do próprio Chrome.