5.4. Formatação e Transformação

Neste momento, o leitor atento já tem uma boa ideia do que é um documento SGML e algumas perguntas devem estar a perturbá-lo: O que se faz com um documento SGML? Como se consegue obter uma cópia em papel num dado formato? Como é que é distribuído à população alvo?

Quem opta por uma solução SGML tem de estar consciente de que está a optar por uma solução que separa o conteúdo da formatação. Nas secções anteriores mostrou-se como é que se pode produzir um conteúdo independente de plataformas de software ou hardware. Agora, vai-se ver como é que se pode produzir, a partir desse conteúdo, a forma final desejada.

Duma maneira geral, o que se pretende fazer com um documento SGML é transformá-lo: simplesmente traduzi-lo para RTF, PDF, ou HTML; ou converter a sua estrutura numa estrutura nova dando origem a um novo documento. Neste contexto, a formatação aparece como a preocupação mais imediata de quem produz documentos, mas não é mais que um caso particular da transformação.

Uma solução simples e directa para o problema seria a criação de ferramentas específicas para resolver cada caso particular - uma solução ainda praticável para pequenos casos. Bastaria adoptar, alternativamente, um parser (como se viu na Secção 5.3 alguns destes são disponibilizados como bibliotecas para permitir que os utilizadores os configurem e utilizem à medida das suas necessidades) e acrescentar-lhe o código necessário para realizar a transformação do documento. Ou ainda, adquirir uma ferramenta de transformação que traz um parser embutido e fornece, em termos de programação, uma série de operadores que facilitam esta tarefa) e programá-la para realizar a conversão.

Esta última foi durante algum tempo e ainda é, uma via aberta para a solução do problema. No entanto, contraria a filosofia que tem vindo a ser seguida desde a criação do documento: a inexistência de dependências em relação a plataformas e a utilização de um formalismo declarativo para especificação da estrutura e anotação do conteúdo. Para conservar estas características era necessário um método normalizado para a especificação da transformação e formatação de um documento SGML.

Estavam então reunidas as condições para o lançamento de uma norma para a especificação da transformação/formatação de documentos SGML. Foi assim que em 1996, foi publicado o DSSSL, Document Style and Semantics Specification Language, a norma ISO/IEC 10179:1996.

Devido à importância e dificuldade deste tema, criou-se um capítulo específico nesta tese para a sua discussão Capítulo 6.