Comparação de linguagens de folhas de estilo - Comparison of stylesheet languages

Em computação , as duas principais línguas de folhas de estilo são Cascading Style Sheets (CSS) e o Extensible Stylesheet Language (XSL). Enquanto eles são ambos chamados linguagens de folhas de estilo, eles têm muito diferentes propósitos e maneiras de ir sobre suas tarefas.

Cascading Style Sheets

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

A linguagem para estruturar um documento ( linguagem de marcação ) é um prelimit a CSS. Uma linguagem de marcação, como HTML e menos XUL, pode definir alguns elementos primitivos ao estilo de um documento, por exemplo <emphasis> para negrito. CSS pós estilos de um documento para "media tela" ou "media paginados".

meios de tela, exibido como uma página única (possivelmente com hiperlinks), que tem uma largura horizontal fixa, mas uma altura vertical praticamente ilimitada. A rolagem é muitas vezes o método de escolha para a visualização de peças de mídia de tela. Isto está em contraste com "meios paginada", que tem várias páginas, cada uma com as dimensões horizontais e verticais fixos específicos. Para media estilo paginada envolve uma variedade de complexidades que media em tela não. Desde CSS foi projetado originalmente para a mídia de tela, suas instalações paginados faltava.

CSS versão 3.0 fornece novos recursos que permitem CSS para mais adequadamente documentos de estilo para visualização paginada.

Extensible Stylesheet Language

XSL evoluiu drasticamente desde a sua concepção inicial em algo muito diferente de seu propósito original. A idéia original para XSL era criar uma linguagem de estilo baseado em XML voltada para meios de visualização paginada. O mecanismo que utilizado para realizar esta tarefa foi dividir o processo em duas etapas distintas.

Em primeiro lugar, o documento XML seria transformada em uma forma intermediária. O processo para efectuar esta transformação poderia ser regulada pela folha de estilo XSL, como definido pela especificação XSL. O resultado desta transformação seria um documento XML em uma linguagem intermediária, conhecido como XSL-FO (também definido pela especificação XSL).

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

A combinação de XSLT e XSL-FO cria uma poderosa linguagem de estilo, embora muito mais complexo do CSS. XSLT é uma completa Turing linguagem, enquanto CSS não é; isso demonstra um grau de poder e flexibilidade não encontrada em CSS. Além disso, XSLT é capaz de criar o conteúdo, tal como automaticamente criando uma tabela de conteúdos só a partir de capítulos em um livro, ou removendo / selecionar o conteúdo, tal como única gerando um glossário de um livro. XSLT versão 1.0 com os EXSLT extensões, ou XSLT versão 2.0 é capaz de gerar vários documentos, bem como, tais como dividir os capítulos de um livro em suas próprias páginas individuais. Por outro lado, a CSS pode remover seletivamente conteúdo por não exibi-lo.

XSL-FO é diferente de CSS em que o documento XSL-FO está sozinho. CSS modifica um documento que é anexado a ele, enquanto o documento XSL-FO (geralmente o resultado da transformação de XSLT do documento original) contém todo o conteúdo a ser apresentado em um formato puramente de apresentação. Ele tem uma ampla gama de opções de especificação no que diz respeito à formatação paginado e de impressão de qualidade superior. Mas ele não especifica as próprias páginas. O documento XSL-FO deve ser passada através de um utilitário de processador de XSL-FO que gera a mídia paginados finais, bem como HTML + CSS deve passar por um navegador da Web a ser exibido em seu estado formatado.

A complexidade da XSL-FO é um problema, principalmente porque implementação de um processador FO é muito difícil. Implementações CSS em navegadores web ainda não são totalmente compatíveis entre si, e é muito mais simples de escrever um processador de CSS do que um processador FO. No entanto, para os meios paginada ricamente especificado, tal complexidade é finalmente requerido a fim de ser capaz de resolver vários composição tipográfica problemas.

Veja também

links externos