Ответ
Misha v.3 11.03.2008 13:02
задание $response:content-type влияет на content-type стандартного output-а. $response:body и $response:download изначально предназначались для выдачи файлов, лежащих на диске (потом была добавлена возможность "докачки" выдаваемых таким образом файлов).
т.к. $response:body и $response:download фактически отменяют стандартный output, то очевидно, что на них не должен влиять $response:content-type, т.к. оный может быть определён где-то далеко от места выдачи этих body/download.
считаю что в вашем случае, выдавать таким образом xml -- верх извращения.
если у вас xml в файле -- выдайте его в $response:body[$.file[...]], если у вас есть строка с xml -- выдайте его или в стандартный output или в $response:body[<?xml version="1.0"?>...] и тогда задание $response:content-type будет работать.
однако лично я имел с $response:body немало проблем (идеологических, когда я что-то отлаживаю, пытаюсь выдавать отладочтую информацию в стандартный output, но там ничего не появляется, потому что кто-то с помощью body поменял метод формироания содержимого страницы где-то там...), поэтому я его использую крайне редко и только для случая, описанного выше.
P.S. в принципе можно добавить механизм задания $response:body[$.value[...]$.content-type[...]], но нам этого не было нужно по описанным выше причинам. записал в несрочное todo + и разумеется примем патч.