La parte lato client, cioè in JavaScript, che si occupa di stampare il file XML, dovrebbe metterlo in un hidden input, meglio ancora una textarea invisibile, e poi postarlo tramite semplice form (a meno che tu non voglia usare una chiamata asincrona, qualcosa come Ajax).
codice:
<html>
<head>
<script language="javascript" type="text/javascript">
<!--
function insert_xml() {
var xml_input = "qui metti il contenuto xml";
ff.xml_container.value = xml_input;
}
//-->
</script>
</head>
<body>
<form name="ff" action="pagina_che_scrive_il_file_xml" method="post" onsubmit="insert_xml();">
<textarea name="xml_container" style="display: none;"></textarea>
<input type="submit" value="Invia il contenuto XML">
</form>
</body>
</html>
Sull'invio del form (onSubmit) la funzione Javascript inserisce li contenuto XML nella textarea invisibile e la invia con metodo post alla pagina slave che è incaricata di ricevere il contenuto e scrivere il file sul server.