This useful auxiliary checks the commandline arguments for two
filenames, the input and output file respectively. If either
is missing, it is replaced by
-, which can be interpreted by the
caller as stdin and/or stdout.
processXmlWith returns an IO () computation
that collects the filenames (or stdin/stdout) to use when
reading/writing XML documents. Its CFilter argument
is applied to transform the XML document from the input and
write it to the output. No DTD is attached to the output.
If the input filename ends with .html or .htm, it is parsed using the error-correcting HTML parser rather than the strict XML parser.