Parse the region from BEG to END in BUFFER.
Return the XML parse tree, or raise an error if the region does
not contain well-formed XML.
If BEG is nil, it defaults to `point-min'.
If END is nil, it defaults to `point-max'.
If BUFFER is nil, it defaults to the current buffer.
If PARSE-DTD is non-nil, parse the DTD and return it as the first
element of the list.
If PARSE-NS is non-nil, then QNAMES are expanded. By default,
the variable `xml-default-ns' is the mapping from namespaces to
URIs, and expanded names will be returned as a cons
("namespace:" . "foo").
If PARSE-NS is an alist, it will be used as the mapping from
namespace to URIs instead.
If it is the symbol 'symbol-qnames, expanded names will be
returned as a plain symbol 'namespace:foo instead of a cons.
Both features can be combined by providing a cons cell
(symbol-qnames . ALIST).
(fn &optional BEG END BUFFER PARSE-DTD PARSE-NS)