Lista de discussão de MAC 2301


[Prévia por Data][Próxima por Data]
[Prévia por Assunto][Próxima por Assunto]
[Índice por Data][Índice por Assunto]
[Envie uma nova mensagem para a lista] [Responda esta mensagem]

Re: EP (mais dicas)



Fernando Serboncini writes:
 > Professor,
 > 
 > Se eu mandasse os arquivos HTML para testes, isso não faria os EPs ficarem
 > repetidos, eu acho...mas tudo bem...
Desculpe se eu me expressei errado, mas se você quiser disponibilizar
uma página para testes eu acho ótimo. Aguardo a publicação do
endereço da mesma na lista....

 > quanto aos tags abertos e fechados em linhas diferentes, acho que não
 > consegui me explicar bem...
 > eu quiz dizer algo do tipo :
 > <A
 >  HREF=''>
 > ou
 > <BODY BGCOLOR=""
 > TEXT=""
 > COLOR=""
 > >
 > 
 > entende? isso tornaria mais dificil fazer o parse do HTML por linhas, como
 > pedido...
 > nesse caso, o ideal seria fazer como é feito normalmente, ou seja,
 > transformando os \n em espaço...e fazendo uma linha só ....
 > 
Entendo a sua dúvida, mas não vejo problema. Tags com argumentos, tipo
<a ....> </a> podem ser tratadas como tags normais, deve se considerar 
apenas o nome da tag, no caso a, todo o resto ficaria a cargo de um
outro programa mais sofisticado. O EP só verifica o balanceamento.
 > > Para o EP a linha <B><I>teste</B></I> deveria causar o seguinte erro:
 > atributo <I> incorretamente fechado por </B>.
 > 
 > hmm....
 > mas o q q ele vai fazer com o </I> e com o <B> ??? Ele vai dizer que o <B>
 > foi incorretamente fechado pelo </I> ??
 > 
 > É preciso pensar também que esse caso é muito dificil de diferenciar do :
 > <A><B><I>teste</B></A>
 > 
 > nesse caso, seguindo-se o algoritmo anterior, o erro seria : <I>
 > incorretamente fechado por </B>, <B> incorretamente fechado por </A>, e <A>
 > não foi fechado..
 > Quando, na verdade, o <I> é que não foi fechado...
 > 
Existem várias opções:
1) A mais fácil: Parar no primeiro erro
2) A mais ingênua: Continuar mostrando erros, mesmo que não sejam reais
   (arghh)
3) A melhor (mas mais difícil): capturar erros do tipo:
   <A><B><I>teste</B></A> -> avisar que só o <I> está desbalanceado
   <B><I>teste</B></I> -> avisar que houve uma troca.
		       "abertura de <I> antes de fechar </B>
   So isto já deve resolver boa parte dos problemas.
   Notem que ainda podem ocorrer erros nos casos:
   <A><B><I>teste</A></B></I>.... 

Alfredo