...collaborate on

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:

  1. Especifique um DTD para este tipo de documento.
  2. 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.

  1. Utilize o Spy para editar o DTD.
  2. Gere uma instância dummy e valide-a com o DTD especificado.
  3. 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.

  1. Utilize o Spy para editar o DTD.
  2. Gere uma instância dummy e valide-a com o DTD especificado.
  3. Gere um Schema para o DTD criado.

-- JoseCarlosRamalho - 29 Feb 2004

r4 - 12 Feb 2007 - 19:44:23 - JoseBacelarAlmeida
This site is powered by the TWiki collaboration platformCopyright © by the contributing authors. All material on this collaboration platform is the property of the contributing authors.
Ideas, requests, problems regarding TWiki? Send feedback
Syndicate this site RSSATOM