Comparação de linguagens de folha de estilo

Da Wikipédia, a enciclopédia livre
Ir para a navegação Saltar para pesquisar

Na computação , as duas principais linguagens de folha de estilo são Cascading Style Sheets (CSS) e a Extensible Stylesheet Language (XSL). Embora ambas sejam chamadas de linguagens de folha de estilo, elas têm propósitos e maneiras muito diferentes de realizar suas tarefas.

Folhas de estilo em cascata

CSS é projetado em torno do estilo de um documento, estruturado em uma linguagem de marcação , documentos HTML e XML (incluindo XHTML e SVG ). Ele foi criado para esse fim. O código CSS é uma sintaxe não XML para definir as informações de estilo para os vários elementos do documento que ele estiliza.

A linguagem para estruturar um documento ( linguagem de marcação ) é um pré-limite para CSS. Uma linguagem de marcação, como HTML e menos XUL, pode definir alguns elementos primitivos para estilizar um documento, por exemplo <emphasis> para negrito. A postagem CSS estiliza um documento para "mídia de tela" ou "mídia paginada".

Mídia de tela, exibida como uma única página (possivelmente com hiperlinks), que possui uma largura horizontal fixa, mas uma altura vertical praticamente ilimitada. A rolagem geralmente é o método de escolha para visualizar partes da mídia da tela. Isso contrasta com a "mídia paginada", que tem várias páginas, cada uma com dimensões horizontais e verticais fixas específicas. O estilo de mídia paginada envolve uma variedade de complexidades que a mídia de tela não possui. Como o CSS foi projetado originalmente para mídia de tela, faltavam seus recursos de paginação.

O CSS versão 3.0 fornece novos recursos que permitem que o CSS estilize documentos de forma mais adequada para exibição paginada.

Linguagem de folha de estilo extensível

O XSL evoluiu drasticamente de seu design inicial para algo muito diferente de seu propósito original. A ideia original do XSL era criar uma linguagem de estilo baseada em XML direcionada para mídia de exibição paginada. O mecanismo que eles usaram para realizar essa tarefa foi dividir o processo em duas etapas distintas.

Primeiro, o documento XML seria transformado em um formato intermediário. O processo para realizar essa transformação seria regido pela folha de estilo XSL, conforme definido pela especificação XSL. O resultado dessa transformação seria um documento XML em uma linguagem intermediária, conhecida como XSL-FO (também definida pela especificação XSL).

No entanto, no processo de concepção da etapa de transformação, percebeu-se que uma linguagem genérica de transformação XML seria útil para mais do que simplesmente criar uma apresentação de um documento XML. Como tal, um novo grupo de trabalho foi separado do grupo de trabalho XSL, e a linguagem XSL Transformations (XSLT) tornou-se algo que foi considerado separado das informações de estilo do documento XSL-FO. Mesmo essa divisão foi expandida quando o XPath se tornou sua própria especificação separada, embora ainda fortemente ligada ao XSLT.

A combinação de XSLT e XSL-FO cria uma linguagem de estilo poderosa, embora muito mais complexa que CSS. XSLT é uma linguagem Turing completa , enquanto CSS não é; isso demonstra um grau de poder e flexibilidade não encontrado no CSS. Além disso, o XSLT é capaz de criar conteúdo, como criar automaticamente um índice apenas de capítulos em um livro, ou remover/selecionar conteúdo, como gerar apenas um glossário de um livro. XSLT versão 1.0 com as extensões EXSLT ou XSLT versão 2.0 também é capaz de gerar vários documentos, como dividir os capítulos de um livro em suas próprias páginas individuais. Por outro lado, um CSS só pode remover conteúdo seletivamente ao não exibi-lo.

O XSL-FO é diferente do CSS, pois o documento XSL-FO é independente. O CSS modifica um documento que está anexado a ele, enquanto o documento XSL-FO (geralmente resultado da transformação por XSLT do documento original) contém todo o conteúdo a ser apresentado em formato puramente de apresentação. Possui uma ampla gama de opções de especificação no que diz respeito à formatação paginada e composição tipográfica de alta qualidade. Mas não especifica as páginas em si. O documento XSL-FO deve passar por um utilitário de processador XSL-FO que gera a mídia paginada final, assim como HTML+CSS deve passar por um navegador da Web para ser exibido em seu estado formatado.

A complexidade do XSL-FO é um problema, principalmente porque a implementação de um processador FO é muito difícil. As implementações de CSS em navegadores da Web ainda não são totalmente compatíveis umas com as outras, e é muito mais simples escrever um processador CSS do que um processador FO. No entanto, para mídia paginada ricamente especificada, tal complexidade é, em última análise, necessária para poder resolver vários problemas de composição .

Veja também

Links externos

0.035470008850098