Publicação Eletrónica

Projeto Final

João Frederico Pereira

João Duarte

2018-01-21 21 de Janeiro de 2018
Universidade do Minho

Palavras-chave:

XML,XSL,HTML,PDF,Website,Publicação Eletrónica

Abstract

Este projeto surge inserido no seguimento do trabalho desenvolvido ao longo do ano na unidade curricular de Publicação Eletrónica, e visa integrar e aplicar o maior número de conhecimentos adquiridos sobre as linguagens HTML e PDF com o intuito de concretizar os objetivos propostos. Partindo deste princípio, recorreu-se ao auxílio do software Oxygen,
XML Editor
, de modo a poder ter-se uma maior margem de manobra e auxílio na utilização da linguagem de anotação
XML
,
eXtensible Markup Language
A ideia principal da elaboração deste projeto seria estudar e aplicar o maior número de potencialidades das linguagens XML, XML Schema e XSL à redação e publicação de um relatório.
Para isto, procedeu-se à redação do projeto em XML, gerado a partir de um Schema, que seria transformado com recurso a stylesheets para a criação de uma página HTML e para a redação de um PDF.
Após a redação dos documentos em XML, procedeu-se à elaboração das stylesheets em
XSL
,
Extensible Stylesheet Language
, devido ao facto de este incorrer de uma neutralidade e independência relativamente às plataformas de software e hardware para as quais se direciona, ou seja, permite que a informação do formato XML seja associada com determinados elementos de modo a produzir um formato original.
No caso do nosso projeto, pretende-se recorrer à criação das stylesheets para a transformação do XML num documento HTML através do XSLT, e, ainda, redirecionar o XML segundo objetos de formatação para apresentação gráfica, através do XSL-FO. Deste modo obtivemos então uma página HTML e um ficheiro em formato PDF com a informação do nosso projeto redigida em XML devidamente organizada e estruturada.
Com base nos dataset fornecido, recorremos a diversos estágios para a elaboração do projeto. Como foi referido anteriormente, numa primeira fase recorreu-se a uma análise do material sobre o qual teríamos de trabalhar, sendo prontamente desenvolvido um esquema estrutural do documento, SCHEMA, que possibilitasse a transposição do material bibliográfico em análise, para um documento XML passível de ser trabalhado. Concluída a elaboração do SCHEMA e a redação do documento em XML, procedeu-se então à criação das stylesheets para a geração das páginas HTML (XSLT) e, posteriormente, para a criação do documento em formato PDF (XSL-FO).

Índice

Capítulo 1 Introdução
Capítulo 2 Contextualização Teórica
Secção 2.1 XML
Secção 2.2 XML Schema
Secção 2.3 XSL
Secção 2.4 HTML
Secção 2.5 PDF
Capítulo 3 Resultados
Secção 3.1 Criação do XML Schema
Secção 3.2 Criação do XML do projeto
Secção 3.3 Criação de uma stylesheet XSLT para geração de HTML
Secção 3.4 Criação de stylesheet XSLFO para geração de PDF


1. Introdução

Atualmente, com os avanços tecnológicos, os métodos de escrita treadicionais têm vindo a ser preteridas em função da via digital de apresentação e criação de documentos, uma vez que esta se apresenta como uma ferramenta bastante mais vantajosa, nomeadamente em termos de dinamismo, portabilidade, rigor e competência com que a informação é apresentada. , Neste sentido, a publicação eletrónica apresenta-se como uma plataforma que nos permite gerar e analisar informação de uma forma automatizada, não perdendo de vista os fatores literários, visuais e linguisticos que caracterizam a informação.
Este relatório, por exemplo, foi redigido de acordo com um esquema estrutural dotado de uma hierarquia, que visa aumentar a facilidade e simplicidade com que se efetua o seu preenchimento, e, visa retratar o projeto final da Unidade Curricular de Publicação Eletrónica. Como já foi mencionado no Abstract, os objetivos deste projeto passam pela redação de um conjunto de paginas em PDF resultantes de uma digitalização de um livro pessoal de recortes de imprensa num documento escrito em XML, onde posteriormente será efetuada a sua transformação, com recurso a stylesheets em XSL, numa página HTML e num ficheiro PDF.
De maneira a esclarecer algumas definições de uma forma simples e intuitiva, possibilitando uma fácil compreensão por parte do leitor, acerca dos tipos de ferramentas, formatos, passos e documentos criados e utilizados ao longo da elaboração deste projeto, delineamos uma série de estágios sobre as tarefas a realizar, nomeadamente:
ÍndicePróximo

2. Contextualização Teórica

Neste espaço pretende-se tornar explicitos alguns termos usados ao longo do projeto, assim como dar a entender algumas definições de uma forma simples de maneira a facilitar a compreensão do leitor, sobre os diversos formatos, tipos de documentos e diferentes ferramentas existentes, bem como as utilizadas na construção do projeto final apresentado

2.1. XML

O XML,acrónimo para “
eXtensible Markup Language
”, é uma linguagem de computação cuja simplicidade a torna a linguagem maioritariamente utilizada para a partilha de informação estruturada entre diferentes computadores e aplicações assim como, no desenvolvimento de páginas. A simplicidade que a caracteriza, apoia-se no uso de instâncias organizadas hierarquicamente permitindo aumentar a facilidade com que a informação que se pretende trasmitir é identificada, interpretada e apresentada pelos "browsers” no formato de uma página Web. Este facto da linguagem se encontrar organizada de forma lógica e hierarquica prende-se como uma das maiores vantagens deste tipo de linguagem, possibilitando um tratamento de informação de forma muito fácil e eficaz. Um documento XML bem formado não necessita de ter associado um processo de validação exaustivo, o que simplifica bastante o seu processamento.

2.2. XML Schema

A estrutura e limitações de um documento XML são geralmente definidas a partir de um documento XSD, “
XML Schema Definition
”. Este documento dita de forma detalhada a estrutura dos elementos que constituem o documento XML, assim como a organização das etiquetas e do texto, num documento válido, na linguagem XML. Por definição, um schema é uma definição formal da sintaxe de uma linguagem XML podendo definir:

2.3. XSL

O XSL,acrónimo para “
eXtensible Stylesheet Language
”, é uma linguagem orientada para a formatação de estilo de documentos XML. XSLT, deriva de XSL e significa transformações XSL, pelo que o seu objetivo passa por transformar um documento XML num documento de um outro tipo. Este tipo de linguagem recorre por inúmeras vezes ao XPATH para definir as partes do documento ás quais certas formatações devem ser aplicadas. Desta forma, o XSLT assegura uma fácil e correcta manipulação dos elementos designados num documento XML. Um documento XSL é baseado num conjunto de templates. Cada um destes apenas se aplica aos nós que correspondem ao padrão especificado no atributo match. Esta aplicação implica a inclusão na arvore de saída o conteúdo desse template, executando as instruções que esse contenha. Uma instrução do tipo xsl:apply-templates tenta aplicar os template a cada um dos filhos diretor de um nó especifico. O processamento começa pelo nó raiz da árvore inicial, designado por “/”, e tenta aplicar-lhe os templates que existem. Neste projeto incorreu-se ainda ao uso de outra potencialidade de uso do XSL, designadamente o XSL-FO. XSL-FO, é uma linguagem de marcação usada para gerar documentos em formato de PDF, acrónimo para "
Portable Document Format
”.

2.4. HTML

O HTML,acrónimo para “
HyperText Markup Language
”, é uma linguagem de computação cuja simplicidade a torna a linguagem maioritariamente utilizada no desenvolvimento de páginas web. A simplicidade que a caracteriza, apoia-se no uso de instâncias organizadas hierarquicamente permitindo aumentar a facilidade com que a informação que se pretende trasmitir é identificada, interpretada e apresentada pelos "browsers” no formato de uma página Web. Esta linguagem apoia-se na escrita sobre a forma de elementos HTML. Estas marcas são tambem designadas por tags, sendo que a primeira tag simboliza o início e a segunda simboliza o fim. Entre as tags pode ser adicionado texto, outras tags, comentários, etc Um browser tem como objetivo ler estes documentos HTML e compô-los em páginas visíveis ou audíveis, ou seja não exibe as tags HTML, apenas as usa para interpretar o conteúdo da página, mostando o seu conteúdo.

2.5. PDF

O PDF, acrónimo para "
Portable Document Format
”, é um formato de arquivo direcionado para a distribuição e transferência para o suporte físico, em papel, que visa representar documentos de uma maneira e formato independente e descrever documentos que contenham texto, gráficos e imagens. Com o objetivo de distanciar o autor o máximo possível da preocupação constante com questões relacionadas com a formatação de um documento e ao mesmo tempo aproximá-lo o máximo possível do conteúdo escrito,
AnteriorÍndicePróximo

3. Resultados

3.1. Criação do XML Schema

Numa fase primária do trabalho, começou-se por elaborar um Schema, tendo em conta, que este documento é fulcral para o desenvolvimento de todo o trabalho prático, uma vez que serviria de esqueleto estrutural e orientador do conteúdo e hierarquia do projeto. Este documento especifica as regras de construção de um documento XML e qual será a sua estrutura, como tal, a sua construção foi pensada.
Tendo analisado o conjunto de paginas PDF fornecidas, chegou-se a várias conclusões. A primeira delas, resume que um livro tem várias notícias e cada uma delas teria forçosamente um autor, uma data de publicação e a cidade onde foi publicada, um titulo que a caracterizasse e o conteúdo presente no corpo da notícia em análise. Posto isto, foi necessário estabelecer que ao nível do conteúdo, seria imperativa a definição da formatação do texto que pretendêssemos colocar lá, sendo que seria efetuada uma distinção entre prosa e poema. Esta distinção foi feita basicamente recorrendo a uma definição de parágrafos e estrofes, que se enquadrariam, em prosa e poema, respetivamente. Ao nível de edição de texto definiu-se também a criação de itálicos, negritos e referências.
As relações que se estabeleceram são dotadas, algumas, de um mínimo de ocorrências, como é o caso do conteúdo de um poema ter forçosamente de ter uma estrofe, e consequentemente um verso. O mesmo acontece com a prosa e os parágrafos. As relações sem o mínimo de ocorrências ou opcionais, também estão implementadas. Pegando no exemplo anterior, ao nível de conteúdo, podemos ter um poema, uma prosa, uma imagem, ou até mesmo uma combinação dos mesmos.
Figura 1: Esquematização do Schema

3.2. Criação do XML do projeto

Para a criação deste documento procedeu-se à transcrição do conteúdo, apresentado em cada um dos recortes do PDF alvo de estudo, segundo as normas instanciadas pelo Schema.
Figura 2: Exemplo do XML alusivo ao recorte 3.
Acima, encontra-se um excerto do código alusivo à redação em XML do primeiro recorte.
Figura 3: Exemplo do XML alusivo ao recorte 7.

3.3. Criação de uma stylesheet XSLT para geração de HTML

Neste passo, procedeu-se à criação de uma stylesheet, XSLT, com o intuito de transformar a página XML numa página HTML. Como tal, com o objetivo de gerar uma página HTML devidamente formatada com o conteúdo apresentado num documento XML associou-se o documento XSL ao documento XML, e no primeiro elaboraram-se condições de estilo e formatação a serem impostas para a apresentação da página HTML com o conteudo do documento XML. Neste sentido, foi necessário estabelecer o formato de output como HTML. De maneira a acrescentar algumas melhorias no aspeto visual da página, importaram-se modelos CSS. Abaixo indiciam-se blocos de código que apresentam a resolução dos métodos supracitados, onde se pode ver a transformação do output em HTML, assim como a importação de modelos de CSS do W3Schools.
Figura 4: Codigo para estabelecer o formato de output como html.
Figura 5: Aplicação dos modelos de CSS.
Gerou-se uma página
index.html
. O comando result-document gera um documento com o nome indiciado segundo as instruções de formatação indicadas dentro dos parametros do mesmo.
Figura 6: Esquema exemplificativo do result-document aplicado à página index.html.
Nesta página criou-se uma tabela que tem do seu lado esquerdo o Índice de Autores, onde cada um deles funciona como uma hiperligação para a respetiva notícia, e, do seu lado direito temos uma imagem ilustrativa do Canário Nazi.
Figura 7: Tabela da página Index com o Índice por Autores.
Uma vez que o nosso índice é um conjunto de ligações, criou-se um result-document que permitisse gerar uma página por cada uma delas, sendo que estas ligações correspondem às noticias. Dentro do bloco result-document é indicado que cada uma destas páginas terá forçosamente uma barra de navegação que permite ao utilizador navegar entre a página onde se situa e as páginas anterior, seguinte ou do índice de autores. Definiu-se também uma classe de estilo scroll, que iria ser aplicada ao conteúdo das notícias, de modo a permitir que a barra de navegação e o cabecalho ficassem sempre no topo da página, permitindo uma experiência de navegação mais agradavél.
Blocos de codigo alusivos aos métodos anteriores.
Figura 8: Result Document para gerar uma página por notícia.
Figura 9: Aplicação da barra de navegação a cada uma das páginas de notícias.
Figura 10: Aplicação de scroll na template conteúdo

3.4. Criação de stylesheet XSLFO para geração de PDF

Começou-se por definir o nosso layout-master-set, com dimensões de uma folha A4 e com definição das margens.
Figura 11: Layout-Master-Set das nossas páginas.
Foi gerada de seguida a capa do nosso documento pdf.
Figura 12: Codigo usado na geração da capa.
Nesta página foi gerado um índice de autores, sendo que cada instancia de autor é uma hiperligação para a notícia correspondente. Temos também associado a cada autor o número da página correspondente à notícia.
Figura 13: Codigo utilizado na geração do indice.
Por fim, foi gerada a página da notícia individualizada. Nesta apresenta-se os "metadados" da notícia, assim como o seu conteúdo manipulado pelas nossas templates. Foi acrescentado também um rodapé com o número da página e um cabeçalho com alguns "metadados" do trabalho.
Figura 14: Codigo utilizado na geração das páginas de noticias individualizadas.
AnteriorÍndice

Bibliografia

1 “XML Schema”, http://www.w3.org/XML/Schema, acedido a 2018-01-16.
2 James Clark, XSL Transformations (XSLT). W3C Recommendation 16 November 1999, 1999.
Índice