Tags:
create new tag
, view all tags

Exercícios avançados sobre transformações e estratégias

Roteiro de Exercícios

  • Baixe o projeto para a aula de hoje;
  • Importe o projeto no Eclipse;
  • Baixe a documentação do xml-front. Ele servirá para consultas na linguagem de XML;

  • A partir de entity, crie uma transformação em Stratego para gerar um formulário HTML. O formulário deverá conter uma tabela com duas colunas e cada linha da tabela deve representar uma propriedade de entity. Assim, na primeira coluna deve aparecer o nome da propriedade a na segunda coluna um elemento do formulário HTML. Considere dois tipos: String (que gera um TextField) e Estados (que gera um Combobox com os estados do nordeste brasileiro). Exemplo, a entity

entity Pessoa {
  nome : String
  estadoDeOrigem : Estados
}

deve gerar algo como

<html>
  <head><title>Cadastro de Pessoa</title></head>
  <body>
  <form>
  <table>
    <tr>
      <td>nome</td>
      <td><input type="text" name="nome"/></td>
    </tr>
     <tr>
       <td>estados</td>
       <td>
         <select name="estados">
           <option value="1">AL</option>
           <option value="2">PE</option>
         </select>
       </td>
     </tr>
   </table>
   </form>
 </body>
</html>

  • Estenda a transformação para dar suporte a propriedade do tipo Sexo. Desta forma, um Radiobutton deve ser gerado com as opções Masculino e Feminino.
  • Estenda a transformação para que, dado qualquer outro tipo de propriedade, um TextField seja gerado.
  • Para acessar a documentação de pretty printing do Stratego, clique aqui .
  • Documentação dos operadores transversais de Stratego aqui .

-- PaolaAccioly - 04 May 2010 -- PauloBorba - 04 May 2010 -- MarcioRibeiro - 18 Sep 2009 -- MarcioRibeiro - 17 Sep 2009

Topic revision: r5 - 2010-05-20 - PaolaAccioly
 
This site is powered by the TWiki collaboration platformCopyright © 2008-2020 by the contributing authors. All material on this collaboration platform is the property of the contributing authors.
Ideas, requests, problems regarding TWiki? Send feedback

mersin escort bayan adana escort bayan izmit escort ankara escort bursa escort