Не работает XSL transformation

Никита Камчаткин nikita на kamchatkin.ru
Ср Апр 11 14:49:30 UTC 2012


Здравствуйте.

У меня не работает XSL transformation, причем именно на nginx. На 
остальных движках работает - проверяли через связку Apache+PHP. а также 
в онлайновых сервисах.

Nginx настроен как прокси, а ответ должен преобразовываться. Конфиг:

location /portal-facade-picassa-jsonpp/ {
           proxy_pass http://picasaweb.google.com/;
           proxy_set_header  Host picasaweb.google.com;
           xslt_stylesheet /var/spool/nginx/tve-jsonpp/picassa.xsl;
           break;
         }

URL, откуда грузится исходный XML:
http://picasaweb.google.com/data/feed/api/user/alexander.babin/albumid/5487919689060061681?kind=photo&access=public&imgmax=640

XSLT-файл:

<?xml version="1.0" encoding="UTF-8"?>
<xsl:stylesheet version="1.0" xmlns="http://www.w3.org/2002/06/xhtml2" 
xmlns:xsl="http://www.w3.org/1999/XSL/Transform" 
xmlns:atom="http://www.w3.org/2005/Atom" 
xmlns:media="http://search.yahoo.com/mrss/">
     <xsl:output method="text" media-type="application/x-javascript" />
     <xsl:template match="atom:feed">
         <![CDATA[{"feed":{"entry":[]]>
         <xsl:for-each select="atom:entry">
             <xsl:if test="position() > 1"><![CDATA[ ,]]></xsl:if>
             <xsl:for-each select="media:group">
                 <xsl:for-each select="media:content">
                     <![CDATA[{"media$group":{"media$content":[{]]>
                     <![CDATA["url":"]]><xsl:value-of 
select="@url"/><![CDATA[",]]>
                     <![CDATA["width":]]><xsl:value-of 
select="@width"/><![CDATA[,]]>
                     <![CDATA["height":]]><xsl:value-of 
select="@height"/><![CDATA[}]}} ]]>
                 </xsl:for-each>
             </xsl:for-each>
         </xsl:for-each>
         <![CDATA[ ]}}  ]]>
     </xsl:template>
</xsl:stylesheet>


В результате, при запросе на
http://localhost/portal-facade-picassa-jsonpp/data/feed/api/user/alexander.babin/albumid/5487919689060061681?kind=photo&access=public&imgmax=640

nginx отдает не преобразовыанный XML - ровно то, что он получает с Picasa.

Кто-нибудь может предположить, в чем тут дело?



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