Processamento de Documentos Estruturados - CC4001
2015/2016
José Paulo Leal, Rita P. Ribeiro
DCC - FCUP
Folha 7: XSLT - templates básicos
Objetivos:
• Escrever transformações básicas.
Preparação:
• Abrir o Eclipse e criar um projecto.
• Criar um ficheiro XSLT: New > Other ... [ XML > XSL ].
Turmas
1. Importe os ficheiros turma folha7.xml e turma folha7.xsd para o seu projeto, e crie um ficheiro
XSLT com o nome turma folha7.xsl.
2. Coloque as instruções de processamento necessárias nos documentos xml e xsl para permitir a
produção de um documento objetivo em HTML.
3. Clicando com o botão direito do rato sobre o ficheiro xsl, Run as >Run Configurations,
configure a transformação XSLT, dando-lhe o nome turma2HTML e indicando o documento de origem
e a localização e nome do documento objetivo.
4. Escreva tranformações XSLT para transformar os documentos com informação sobre turmas em
documentos HTML. Na conversão:
(a) o nome, o código e a edição da disciplina devem ser colocados num elemento H2;
(b) a informação sobre alunos deve dar origem a uma tabela (TABLE);
(c) a primeira linha da tabela deve ter cabeçalhos com o tı́tulos das colunas em elementos TH.
(d) cada elemento aluno deve ser transformado numa linha de tabela (TR) com cada coluna formatada
num elemento TD;
(e) os alunos deverão aparecer listados por ordem alfabética do seu nome.
1
5. Crie um novo ficheiro XSLT e configure uma nova transformação XSLT (turma2CSV) para converter
a informação sobre os alunos da turma no formato CSV (Comma Separated Value), de tal modo que:
(a) seja listado um aluno por linha; introduza explicitamente uma nova linha no documento objetivo,
usando:
<xsl:text>
</xsl:text>
(b) cada linha deve ser composta por número mecanográfico e nome, separados por virgula;
(c) os alunos deverão aparecer por ordem alfabética do nome;
(d) a primeira linha deve conter o nome dos campos (NMec e Nome);
Nota: Sempre que o output é texto, todas as indentações no ficheiro xsl irão afetar o output.
6. Altere o ficheiro XSLT anterior, introduzindo dois parâmetros (xsl:param), com os nomes sep e
header, para definir o separador de campos (por omissão é a vı́rgula) e controlar a escrita do nomes
dos campos na primeira linha (por omissão são escritos).
Peças
7. Crie um transformação XSLT para formatar documentos contendo informação peças de teatro,
conforme apresentado no documento de instância peca.xml,de forma que:
(a) o tı́tulo da peça seja formatado com um elemento H1;
(b) o resumo seja formatado dentro de um bloco BLOCKQUOTE;
(c) a lista de personagens seja formatada como uma lista não ordenada (UL) precedida do tı́tulo
formatado com um elemento H2;
(d) cada cena seja iniciada por uma linha horizontal HR e seja identificada com o seu id e tı́tulo
formatados com um elemento H3;
(e) o cenário seja formatado dentro de um bloco BLOCKQUOTE, a itálico (I);
(f) cada fala seja um parágrafo (P) iniciado pela abreviatura do nome do personagem, definido no
elemento personagens.
2
Download

Folha 7: XSLT - templates básicos