Ficha Nº1 |
Exercício Nº1 |
2003.03.08 |
A Agenda de Contactos
Pretende-se criar uma agenda para gerir contactos de pessoas e empresas.
Uma agenda deste tipo é essencialmente constituída por uma lista de entradas.
Uma entrada pode ser simples, correspondendo a uma pessoa ou empresa, ou pode
ser composta, neste caso corresponde a uma lista de pessoas e/ou empresas.
A agenda poderá conter um número livre de grupos aninhados.
Um grupo poderá ainda conter referências a entradas definidas noutros pontos da agenda.
Cada entrada é constituída pelos seguintes items de informação:
id string que corresponderá ao identificador único da entrada.
tipo campo com dois valores possíveis: pessoa ou empresa.
nome nome da pessoa ou da empresa.
email email da pessoa ou empresa.
telefone telefone da empresa ou pessoa.
gid no caso da entrada se tratar dum grupo este campo deverá conter o
identificador do grupo.
Nas alíneas que se seguem considere que uma frase concreta desta linguagem
tem a seguinte forma:
<AGENDA>
<ENTRADA id="e1" tipo="pessoa">
<NOME>José Carlos Ramalho</NOME>
<EMAIL>jcr@di.uminho.pt</EMAIL>
<TELEFONE>253 604479</TELEFONE>
</ENTRADA>
<GRUPO gid="epl">
<ENTRADA id="e2" tipo="pessoa">
<NOME>Pedro Henriques</NOME>
<EMAIL>prh@di.uminho.pt</EMAIL>
<TELEFONE>253 604469</TELEFONE>
</ENTRADA>
<REFERENCIA refent="e1"/>
<ENTRADA id="e3" tipo="pessoa">
<NOME>João Saraiva</NOME>
<EMAIL>jas@di.uminho.pt</EMAIL>
<TELEFONE>253 604479</TELEFONE>
</ENTRADA>
</GRUPO>
<ENTRADA id="e4" tipo="empresa">
<NOME>Lavandaria Tudo Branco</NOME>
<TELEFONE>253 604433</TELEFONE>
</ENTRADA>
</AGENDA>
Desenvolva então, cada uma das seguintes alíneas:
(a)Especifique um DTD para este tipo de documento.
(b)Valide a instância acima com o DTD que especificou usando o XML Spy e indicando que quer
criar um documento XML de acordo com o DTD especificado.
(c)Utilize o Spy para gerar um Schema a partir do DTD que criou. Introduza manualmente as alterações que achar necessárias ao
Schema gerado.
Voltar ao Índice de exercícios