08.02.2015 Views

Programação Funcional e Concorrente com Scheme

Programação Funcional e Concorrente com Scheme

Programação Funcional e Concorrente com Scheme

SHOW MORE
SHOW LESS

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

notas de aula - Jerônimo C. Pellegrini<br />

(if ( string element )<br />

( display element )<br />

( xml-write-tag element ))<br />

( xml-write-data ( cdr lst ))))))<br />

(xml-write-data ’("This goes inside" " and this goes too"))<br />

This goes inside and this goes too<br />

Agora nos falta um procedimento que receba uma estrutura XML (uma tag) e a<br />

traduza.<br />

( define xml-write-tag<br />

( lambda ( tag-object )<br />

( let (( tag-name ( car tag-object ))<br />

( attr / start-data ( get-attr-list / start-data<br />

( cdr tag-object ))))<br />

( let (( attr ( car attr / start-data ))<br />

( start-data ( cadr attr / start-data )))<br />

( xml-write-open-tag tag-name attr )<br />

( xml-write-data start-data ))<br />

( xml-write-close-tag tag-name ))))<br />

Testaremos nosso gerador de XML <strong>com</strong> uma variante simples de HTML:<br />

( xml-write-tag ’( html ( head ( title "My HTML page "))<br />

<br />

<br />

<br />

My HTML page<br />

<br />

<br />

( body (h1 color " blue "<br />

"My H1 heading ")<br />

"My text !" )))<br />

Versão Preliminar<br />

<br />

My H1 heading<br />

[ 27 de outubro de 2010 at 15:47 ]<br />

71

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!