Ficha Nº1
Objectivos:
O objectivo principal desta ficha é introduzir ao aluno o desenvolvimento de DTDs.
Por motivos que se prendem com a integração de várias etapas e ferramentas vai-se utilizar o ambiente denominado XMLSpy.
No fim, o aluno deverá estar apto a desenvolver pequenos DTDs com a ferramenta apresentada.
Exercícios:
Exercício Nº1: 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:
- Especifique um DTD para este tipo de documento.
- 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.
Exercício Nº2: Exames
Desenvolva um DTD para exames atendendo aos seguintes requisitos:
- um exame é essencialmente composto por um bloco de meta-informação e por um corpo;
- o corpo é composto por um conjunto de questões que poderão estar agrupadas ou não;
- uma questão é composta por um enunciado estruturado em parágrafos e por um conjunto de alíneas;
- o enunciado pode também conter imagens, blocos de código e tabelas;
- uma alínea é composta por um ou mais parágrafos.
- Utilize o Spy para editar o DTD.
- Gere uma instância dummy e valide-a com o DTD especificado.
- Gere um Schema para o DTD criado.
Exercício Nº3: Fichas Práticas
Considere como exemplo esta ficha de trabalho.
Depois de uma análise à sua estrutura, especifique um DTD ou um Schema para este tipo de documentos.
- Utilize o Spy para editar o DTD.
- Gere uma instância dummy e valide-a com o DTD especificado.
- Gere um Schema para o DTD criado.
-- JoseCarlosRamalho - 29 Feb 2004