There's an HTTP header called Content-Disposition, which is defined in RFC1806 as follows:
2.1 The Inline Disposition Type
A bodypart should be marked inline
if it is intended to be
displayed automatically upon display
of the message. Inline bodyparts should be presented in the order in
which they occur, subject to the
normal semantics of multipart messages.
2.2 The Attachment Disposition Type
Bodyparts can be designated
attachment
to indicate that they are
separate from the main body of the
mail message, and that their display should not be automatic, but
contingent upon some further action
of the user. The MUA might instead
present the user of a bitmap
terminal with an iconic representation
of the attachments, or, on
character terminals, with a list of
attachments from which the user
could select for viewing or storage.
In order to put the header message on the xml file, you'd need the access to the server-side. For example using php's header function you could write something like:
header('Content-Disposition: attachment; filename="some.xml"');
If you don't have access to the server-side, you could try the following JavaScript trick that I found Googling (not sure if it would work):
<a href="javascript:void(0);" onclick="document.execCommand('SaveAs',true,'some.xml');">Save this page</a>