Listing 4. Программа преобразования программы из Listing 2 (XML) в Listing 3 (HTML), написанная на Рефале.
* Convert Xml file to Html file
Xh {
((Recipe) e.on) = '<HTML>'<Xh e.on> '</HTML>';
((Name) e.name) ((Description) e.descr) e.on =
'<HEAD>'
'<TITLE>'e.name '</TITLE>'
'</HEAD>'
'<BODY>'
'<H3>'e.name'</H3>'
e.descr
<Xh e.on>
'</BODY>';
((Ingredients)e.on) =
'<H4>'Ingredients'<H4>'
'<TABLE>' BORDER="1">'
'<TR BGCOLOR="#308030">'
'<TH>Qty</TH> <TH>Units</TH> <TH>Item</TH> </<TR>'
<Xh e.on>
'</TABLE>';
((Ingredient) ((Qty Unit(e.unit)) e.qty)
((Item e.option) e.item) ) e.on =
'<TR><TD>'e.qty'</TD>'
'<TD>'e.unit'</TD>'
'<TD>'e.item<Option e.option>'</TD>'
'</TR>'
<Xh e.on>;
= ; }
Option {
Optional('1') = '(optional)';
= ; }