Projeto Final

Publicação Eletrónica

Lara Correia e Silva

Soraia Pereira

Tiago Jesus

2018-01-21 Entrega do relatório associado ao Projeto Final.

Palavras-chave:

Trabalho Prático, XML, XSLT, PDF, XSLFO, HTML

Abstract

Este documento constitui um relatório que descreve a realização do projeto final proposto pelo docente responsável na Unidade Curricular de Publicação Eletrónica, pertencente ao 4º ano em Informática Médica do mestrado integrado em Engenharia Biomédica.

Índice

Capítulo 1 Resumo
Capítulo 2 Introdução
Secção 2.1 XML Schema
Secção 2.2 Instância XML
Secção 2.3 Stylesheet XSLT
Secção 2.4 XSL FO
Capítulo 3 Resultados obtidos
Secção 3.1 Schema utilizado
Secção 3.2 Stylesheet para geração do documento HTML
Secção 3.3 Stylesheet para geração do documento PDF
Capítulo 4 Conclusão


1. Resumo

Para este Projeto Final, conforme mencionado nas instruções fornecidas pelo docente, foi pedido que os alunos partissem de um conjunto de páginas em formato PDF resultados da digitalização de um livro pessoal de recortes da imprensa.
A partir deste, era proposta a realização das seguintes tarefas:
  1. Análise da informação fornecida;
  2. Planeamento da edição em papel (PDF) e da edição em HTML;
  3. Especificação de um XML Schema para a publicação final;
  4. Criação da instância XML;
  5. Criação da stylesheet XSLT para gerar a publicação HTML;
  6. Especificação/Planeamento do XSLFO para a geração do PDF;
  7. Especificação da stylesheet XSLT para a geração do XSLFO;
  8. Redação do relatório em XML (com transformação para HTML);
  9. Criação e envio do pacote de submissão.
ÍndicePróximo

2. Introdução

Uma vez que de acordo com os objetivos para a realização deste projeto final, se pretendia a criação de um XML Schema para a publicação final, uma ou mais instâncias XML, uma ou mais stylesheets XSLT e um XSLFO para a geração do PDF, é necessário conhecimento prévio acerca de todos estes conceitos.

2.1. XML Schema

O XML Schema é uma linguagem baseada no formato XML.
Esta é uma alternativa ao DTD, cuja sintaxe não se baseia no formato XML.
Esta linguagem serve para definir regras de validação em documentos no formato XML.

2.2. Instância XML

XML significa Extensible Markup Language, e é uma linguagem de marcação.
Este é projetado para estruturar, transmitir e armazenar dados.
XML está em toda parte.
XML é a ferramenta mais utilizada para a transmissão de dados entre uma variedade de aplicações, e está-se a tornar mais popular na área de armazenamento de informação e descrição.

2.3. Stylesheet XSLT

XSLT significa Extensible Stylesheet Language Transformation.
Esta corresponde a uma linguagem de transformação de documentos XML noutros documentos que podem também ser em formato XML, como noutros formatos como HTML.
O documento original não é alterado; apenas é gerado um novo documento que tem por base o conteúdo de um já existente.
Esta linguagem foi criada especialmente para transformações XML, apesar de poder ser utilizada noutros formatos.

2.4. XSL FO

XSL FO é uma linguagem de formatação de documentos XML.
O Apache FOP (Formatting Objects Processor) é uma aplicação Java que lê uma árvore de formatação de objetos e torna as páginas resultantes para um resultado especificado (neste caso, PDF).
AnteriorÍndicePróximo

3. Resultados obtidos

Com a elaboração deste trabalho prático pretendia-se a exploração do conteúdo de notícias antigas a fim de elaborar uma forma mais recente e moderna de representar os dados que nela continham, sem descartar a forma inicial. Para que isto fosse possível foi necessário recorrer a duas formas de representação de informação, sob a forma de duas extensões, HTML e PDF. Para tal, foi necessário elaborar quatro ficheiros distintos para obter os resultados pretendidos. A fim de se atingir os resultados seguiu-se um conjunto de procedimentos que, encadeados entre si, permitem atingir um fim.
Os ficheiros elaborados para que fosse possível atingir o resultado pretendido foram os seguintes:
 Schema, Documento XML, Stylesheet para geração de HTML e Stylesheet para geração de PDF.

3.1. Schema utilizado

A elaboração de um Schema tem como principal objetivo delimitar a estrutura da informação que se pretende representar. Para tal, é necessário estudar a informação que se pretende representar e determinar quais as suas partes fulcrais. Assim, foi necessário identificar todas as estruturas de texto e a forma como se pretende que estas sejam apresentadas para que, depois, seja possível a partir destas informações elaborar o ficheiro XML com os respetivos conteúdos. Assim, resolveu-se criar a estrutura que é apresentada na imagem seguinte.
Figura 1: Árvore Criada no Schema para representação do conhecimento.
Através da análise da imagem anterior é possível retirar algumas conclusões quanto à representação do conhecimento que se pretende abranger. Estas conclusões são as apresentadas de seguida:
De realçar a elaboração de uma variável global do tipo complexo de dados, para que fosse possível elaborar uma forma de representação do texto comum a todos os elementos, tornando assim mais fácil de identificar elementos como nomes, locais entre outros.

3.2. Stylesheet para geração do documento HTML

A fim de se elaborar um ficheiro HTML com os dados que estão representados no documento XML elaborado anteriormente, criaram-se um conjunto de templates para que fosse possível retornar as informações que pretendíamos de uma forma estruturada e de acordo com o que se pretendia.
Na abordagem elaborada pelos nossos elementos do grupo, decidiu-se que cada notícia seria isolada numa página distinta, e que estas seriam interligadas através de uma página inicial.
Começou-se por se criar uma template para a raiz do documento que permite a criação do documento index.html que serve de página inicial e de índice. Nesta página podem encontrar-se dados como a data, a decrição e informações que foram anteriormente atribuídas ao projeto, bem como informações dos elaboradores do projeto e da Unidade Curricular para o qual foi desenvolvido. Nesta template, deve realçar-se o facto de o índice ser elaborado através de um apply templates, contrariamente aos outros, em que se vai buscar diretamente os dados pretendidos.
O apply templates referido, aplica a template capitulos, que permite a criação desse mesmo indice, pondo em header "Índice de Notícias" e dentro de um parágrafo o índice realiza um novo apply templates, desta vez da template capitulo, que vai gerar um botão para cada uma das páginas.
A página inicial ficou então com o seguinte aspeto:
Figura 2: Página index.html.
Após elaborada a página incial é então necessário proceder à elaboração das páginas individuais. Para tal criou-se uma nova template capitulo, no entanto atribuiu-se desta vez um mode contents, que restringe as templates aplicadas. Esta template vai gerar uma página HTML para cada um dos recortes, sendo que cada uma dessas páginas é constituída por uma barra de navegação que permite aceder à notícia que se apresenta imediatamente a seguir, e a que se apresenta imediatamente antes, caso estas existam, ou à página principal. Nesta colocaram-se também as imformações relevantes de cada recorte, tal como autor, data entre outros e aplicou-se de seguida as templates necessárias para transcrever os recortes.
Para esta transcrição foi necessário elaborar novas templates, poema, musica e noticia, que acentam nos mesmos ideais. Esta template divide a página através de uma tabela e coloca de um lado a foto do recorte que estamos a estudar e do outro a sua transcrição. Nestas templates foi necessário aplicar outras templates, tais como:
Assim, cada uma das página geradas ficou com uma estrutura semelhante à apresentada de seguida.
Figura 3: Páginas individuais geradas.

3.3. Stylesheet para geração do documento PDF

Começou-se por criar uma stylesheet para gerar o documento PDF.
Passemos então à explicação das diversas templates contidas na stylesheet:
AnteriorÍndicePróximo

4. Conclusão

Ao longo do semestre letivo foram sendo adquiridos conceitos que permitiam alargar horizontes e explorar um pouco mais a área da Publicação Eletrónica. Assim, tentou-se adquirir novo conhecimento abrangendo a linguagem XML e XSL, essencialmente, permitindo a elaboração de stylesheets, ficheiros HTML e PDF que permitiram, acima de tudo, possuir os pilares essenciais para a elaboração do projeto final.
Assim, após explorado o problema apresentado e discutido todas as soluções possíveis, foi necessário proceder à estruturação do projeto e à elaboração de todos os recursos necessários para o que resultado esperado fosse obtido. Apesar de em termos estéticos o projeto final não apresentar grande complexidade, Conclui-se que foram atingidos os os objetivos pretendidos uma vez que se pretendia, proceder À representação da informação de uma forma prática e adequada ao problema. No que toca a possíveis melhorias, elas passam desde logo pela melhoria da apresentação gráfica da informação, sobretudo no ficheiro pdf, onde se procurou explorar mais a divisão da informação em detrimento da estética. Também o html poderia sofrer diversas melhorias, sendo uma questão de gosto pessoal e idealização.
AnteriorÍndice