in reply to Formatting XML

I find the XML::Writer interface awkward at best. I think it's much easier to build a datastructure and then call either the XML::MyXML::simple_to_xml() or XML::Simple::XMLout() or XML::Rules::ToXML() with the right parameters to emit the XML. You may need to tweak the structure a bit to make sure the XML looks the way it should (eg. to give the module you select a hint what's supposed to be an attribute and what should be a childtag with content). Eg. with XML::Rules the easiest way is to specify the value as a reference to a one element array: ->ToXML( 'root' => { foo => 'hello'}) creates <root foo="hello"/> while ->ToXML( 'root' => { foo => ['hello']}) creates <root><foo>hello</foo></root>. You'll most likely need to do something similar with the other modules.