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.