O que é o formato de ficheiro XSL?
Um arquivo .xsl é uma folha de estilo XSLT - um documento XML em texto simples que contém regras de transformação escritas na linguagem XSLT. O XSLT (Extensible Stylesheet Language Transformations) foi padronizado pelo W3C em novembro de 1999; a versão atual, XSLT 3.0, chegou em 2017. A folha de estilo não é um dado nem um documento finalizado: é um programa que um processador XSLT aplica a um arquivo XML de entrada para produzir HTML, texto simples ou outra saída XML.
Dentro de um arquivo .xsl, o elemento raiz é <xsl:stylesheet> ou <xsl:transform>, declarado no namespace http://www.w3.org/1999/XSL/Transform. Regras de modelo (<xsl:template match="...">) selecionam nós da árvore de origem; instruções de saída como <xsl:value-of>, <xsl:for-each> e <xsl:apply-templates> constroem o resultado. O atributo version no elemento raiz - 1.0, 2.0 ou 3.0 - informa ao processador qual nível de linguagem aplicar.
.xsl e .xslt referem-se ao mesmo tipo de arquivo; .xsl é a grafia mais antiga, da era XSLT 1.0, enquanto .xslt tornou-se mais comum com o XSLT 2.0 e 3.0. Historicamente, a extensão .xsl também abrangia o XSL-FO (objetos de formatação para saída PDF), um ramo separado da família XSL agora associado a arquivos .fo.
Usos comuns incluem a conversão de feeds de dados XML em páginas web legíveis, a transformação de arquivos de configuração entre esquemas e a geração de PDFs via processadores XSL-FO como o Apache FOP.
Segurança e proteção
RISCO: LOWUm .xsl é um XML de texto simples e não contém código compilado, portanto, ler ou editar um é seguro. Os riscos reais estão no PROCESSADOR ao executar uma folha de estilo/entrada NÃO CONFIÁVEL: o XSLT 2.0/3.0 e algumas funções de extensão podem ler/gravar arquivos ou fazer chamadas de rede (document(), unparsed-text(), funções de extensão), e o processamento XML pode ser alvo de ataques XXE/expansão de entidade. Portanto, não execute folhas de estilo de fontes não confiáveis com extensões/entidades externas habilitadas. Para um usuário final que apenas abre um .xsl para leitura, não há perigo.
Detalhes do formato
em resumoProgramas que abrem arquivos XSL
Detalhes técnicos
especificação profunda| Tipo MIME | application/xslt+xml (também aceitos: text/xsl, application/xml, text/xml) |
| Codificação de arquivo | UTF-8 por padrão; UTF-16 e outras codificações declaradas em XML são permitidas; um BOM UTF-8 (EF BB BF) pode preceder a declaração XML |
| Formato de contêiner | Documento XML bem-formado |
| Elemento raiz | <xsl:stylesheet> ou <xsl:transform> no namespace http://www.w3.org/1999/XSL/Transform |
| Sinalização de versão | atributo version no elemento raiz: 1.0, 2.0 ou 3.0 - seleciona o nível da linguagem XSLT que o processador aplica |
| Assinatura do arquivo (magic bytes) | 3C 3F 78 6D 6C ("<?xml") no deslocamento 0; a identidade definitiva requer o elemento raiz e o namespace XSLT, não um número mágico fixo |
| Tamanho típico do arquivo | 1 KB - 200 KB; folhas de estilo empresariais de grande porte podem ser maiores |
| Modos de saída | HTML, XHTML, texto simples ou XML - selecionado via declaração <xsl:output method="..."> dentro da folha de estilo |
| Elementos de instrução principais | <xsl:template>, <xsl:apply-templates>, <xsl:for-each>, <xsl:value-of>, <xsl:if>, <xsl:choose>, <xsl:call-template> |
| Dependência de XPath | Usa expressões XPath para endereçar e selecionar nós: XPath 1.0 com XSLT 1.0, XPath 2.0 com XSLT 2.0, XPath 3.1 com XSLT 3.0 |
| URI do Namespace | http://www.w3.org/1999/XSL/Transform (convencionalmente vinculado ao prefixo xsl:) |
| Compressão | Nenhuma integrada; texto simples, pode ser servido com compressão gzip no nível de transporte HTTP |
| Suporte de processadores | xsltproc (libxslt), Saxon (2.0/3.0), Xalan-C/J, MSXML, .NET XslCompiledTransform, mecanismos de navegador integrados (XSLT 1.0) |
| Suporte de plataforma | Multiplataforma: Windows, macOS, Linux e qualquer ambiente com um processador XSLT compatível |
| Órgão de padronização | W3C (World Wide Web Consortium) |
| Lançado | 1999 (XSLT 1.0, W3C Recommendation, November 16, 1999) |
| Versão mais recente | XSLT 3.0 (W3C Recommendation, June 8, 2017) |
| Padrão aberto | Sim · livre de royalties |
| Especificação | www.w3.org |
Conversões de XSL
Perguntas e Respostas da Comunidade
perguntado por usuáriosAinda não há perguntas - seja o primeiro a perguntar sobre arquivos XSL.