alkohol:
El error que se te produce tiene su origen en otra cosa, la funcions headers() en php tiene condicion que el html no genere ningún encabezado previo, generalmente cuando aparece el error es porque algún caracter está apareciendo en la salida del navegador antes del header,
en mi ejemplo
<?php
header("Content-Type: text/xml;charset=utf-8");
header("Cache-Control:must-revalidate");
....
que es muy básico, obviamente no existe nada antes del header(), asi que supongo que el problema te lo está generando el editor de texto que estás usando, el cual probablemente te esté dejando al guardar el documento, un elemento llamado BOM, si quieres más detalles sobre el tema, yo he publicado esto que te puede servir de guia
http://foros.emprear.com/codificar
Ahora, puntualmente, y si este es el origen del problema, la solución pasa por guardar el documento como utf-8 NO BOM (sin BOM), te recomiendo que uses algun editor de texto que te de esa opción, los más avanzados (notepad++, notepad2, EditPad Lite, etc...) la tienen. Yo en particular uso el Ultraedit.
He hecho una prueba para que lo constates,
en
http://gzip.emprear.com.ar he subido dos muestras del código de ejemplo que pasé,
test.xml.php
y
test.xml-nobom.php
con y sin la marca del BOM respectivamente
Prueba ambos y fijate lo que sucede, los archivos, en su contenido son exáctamente iguales
Espero esto resuelva tu problema y dudas
Saludos
![Porras](http://static.forosdelweb.com/fdwtheme/images/smilies/porra.gif)
![Porras](http://static.forosdelweb.com/fdwtheme/images/smilies/porra.gif)