import lang::xml::DOM; import Prelude; public void get_first_item(loc a){ D = parseXMLDOM(readFile(a)); top-down-break visit(D){ case E:element(_,"item",_): return println(xmlPretty(E)); }; } public void print_prices(loc a){ D = parseXMLDOM(readFile(a)); for(/element(_,"price",[charData(/str p)]) := D) println(p); } public list[str] get_names(loc a){ D = parseXMLDOM(readFile(a)); L = []; for(/element(_,"name",[charData(/str n)]) := D) L += n; return L; }