|
Ficha Nº8
|
Exercício Nº1
|
2003.11.12
|
(a)Desenvolva uma stylesheet XSL genérica que aplicada a qualquer instância identifica os nodos do tipo text() e o respectivo contexto. A título de exemplo considere-se o seguinte excerto duma agenda de contactos:
<?xml version="1.0" encoding="iso-8859-1"?>
<agenda>
<entrada id="e1" tipo="pessoa">
<nome>José Carlos Ramalho</nome>
<email>jcr@di.uminho.pt</email>
<telefone>253-604479</telefone>
</entrada>
...
</agenda>
Que, depois de processado daria origem ao seguinte documento:
<?xml version="1.0" encoding="iso-8859-1" standalone="yes"?>
<indice>
<tnode>
<valor>José Carlos Ramalho</valor>
<contexto>agenda/entrada/nome</contexto>
</tnode>
<tnode>
<valor>jcr@di.uminho.pt</valor>
<contexto>agenda/entrada/email</contexto>
</tnode>
<tnode>
<valor>253-604479</valor>
<contexto>agenda/entrada/telefone</contexto>
</tnode>
...
</indice>
(b)Especifique um Schema para o tipo de documento resultante da stylesheet desenvolvida na alínea anterior.
(c)Desenvolva uma stylesheet XSL que processa o resultado da stylesheet anterior e o apresenta numa tabela HTML com duas colunas: valor do nodo da árvore, contexto do nodo.