package{ public class DOMCompact{ var doc:XML; function DOMCompact(s:String){ doc = XML(s); } public function toString():String { return compact(doc); } var blanks:String = " "; private function spaces(n:int){ while(blanks.length0)out+="\n"+indent; out+="@"+attributes[i].name()+"["+attributes[i]+"]"; first=false; } for each (var child:XML in node.children()){ if(!first) out+="\n"+indent; out+=compact(child,indent); first=false; } return out+"]"; case "text": return node[0].toString().replace(/ *\n */g,' '); } return "Should never happen!!!"; } } }