Re: Не работает Perl + XSLT

Andrey Aleksandrov andrey.aleksandrov на gmail.com
Вт Май 24 15:13:47 MSD 2011


Спасибо, все вы правы, проблема была именно в Content-Type
Решение:
а) в Perl
  $r->send_http_header( "text/xml; charset=UTF-8" );
б) в nginx.conf
  xslt_types 'text/xml; charset=UTF-8'


24 мая 2011 г. 15:03 пользователь Denis F. Latypoff
<latypoff на yandex.ru> написал:
> 24.05.2011, 17:58, "Andrey Aleksandrov" <andrey.aleksandrov на gmail.com>:
>> хм, перекопал список рассылки с самого появления XSLT фильтра, и
>> первое что сделал это проверил в ответах Perl  Content-Type:
>>
>>                 $r->send_http_header( "Content-Type: text/xml; charset=UTF-8" );
>> # $r->send_http_header( "text/xml; charset=UTF-8" );
>> # $r->send_http_header( "text/xml" );
>> # $r->header_out( 'Content-Type', 'text/xml' );
>
> Включите debug для /volunteer/questionary/personal/
> Вопросы, скорее всего, отпадут.
>
> P.S. приятней читать переписку, если ответ следует за вопросом, а не перед.
>
>>
>> 24 мая 2011 г. 14:49 пользователь Denis F. Latypoff
>> <latypoff на yandex.ru>; написал:
>>
>>>  24.05.2011, 17:45, "Andrey Aleksandrov" <andrey.aleksandrov на gmail.com>;:
>>>>  Добрый день!
>>>>
>>>>  Требуется результат выполнения модуля Perl преобразовать с помощью XSLT фильтра.
>>>>
>>>>  Server: nginx/0.8.39
>>>>
>>>>  конфиг выглядит так:
>>>>
>>>>          server {
>>>>                  listen       8081;
>>>>                  server_name  localhost;
>>>>                  location / {
>>>>                      perl Volunteer::qPersonal;
>>>>                  }
>>>>          }
>>>>
>>>>          server {
>>>>                  listen       80;
>>>>                  location /volunteer/questionary/personal/ {
>>>>  #                    root  /var/www/xml;
>>>>  #                    index index.xml;
>>>>                       proxy_pass        http://localhost:8081;
>>>>                       proxy_set_header  Host       $host;
>>>>                       proxy_set_header  X-Real-IP  $remote_addr;
>>>>                      xml_entities      /var/www/dtd/language/russian.dtd;
>>>>                      xslt_stylesheet   /var/www/xslt/default/base.xsl;
>>>>                  }
>>>>
>>>>          }
>>>>
>>>>  В случае если вместо Perl модуля или Proxy используется XML файл все
>>>>  отлично преобразуется XSLT фильтром, в противном случае в результат
>>>>  попадает не трансформированный XML подскажите в чем может быть
>>>>  проблема?
>>>  В content-type'е ответа, который представляет из себя XML.
>>>  Content-type должен быть одним из перечисленных в xslt_types,
>>>  по умолчанию там только text/xml
>>>
>>>  --
>>>  br, Denis F. Latypoff.
>>>
>>>  _______________________________________________
>>>  nginx-ru mailing list
>>>  nginx-ru на nginx.org
>>>  http://nginx.org/mailman/listinfo/nginx-ru
>>
>> _______________________________________________
>> nginx-ru mailing list
>> nginx-ru на nginx.org
>> http://nginx.org/mailman/listinfo/nginx-ru
>
> --
> br, Denis F. Latypoff.
>
> _______________________________________________
> nginx-ru mailing list
> nginx-ru на nginx.org
> http://nginx.org/mailman/listinfo/nginx-ru
>


Подробная информация о списке рассылки nginx-ru