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.